path = require 'path' fs = require 'fs-plus' module.exports = (grunt) -> {spawn} = require('./task-helpers')(grunt) grunt.registerMultiTask 'nylaslint', 'Check requires for file extensions compiled away', -> done = @async() regex = /require ['"].*\.(coffee|cjsx|jsx)['"]/i for fileset in @files grunt.log.writeln('Nylinting ' + fileset.src.length + ' files.') # file.src is the list of all matching file names. for f in fileset.src content = fs.readFileSync(f, encoding:'utf8') if regex.test(content) done(new Error("#{f} contains a bad require including an coffee / cjsx / jsx extension. Remove the extension!")) return done(null)