fix(build): Remove explicit .coffee extensions in UpdateThreadsTask, update linter to check for these

This commit is contained in:
Ben Gotow 2015-07-19 10:56:24 -07:00
parent 5f66ee4cef
commit 5d0907d7f1
3 changed files with 37 additions and 3 deletions

View file

@ -199,6 +199,19 @@ module.exports = (grunt) ->
peg: pegConfig
nylaslint:
src: [
'internal_packages/**/*.cjsx'
'internal_packages/**/*.coffee'
'dot-nylas/**/*.coffee'
'exports/**/*.coffee'
'src/**/*.coffee'
'src/**/*.cjsx'
'spec/*.coffee'
'spec-nylas/*.cjsx'
'spec-nylas/*.coffee'
]
coffeelint:
options:
configFile: 'coffeelint.json'
@ -303,7 +316,7 @@ module.exports = (grunt) ->
failOnError: false
grunt.registerTask('compile', ['coffee', 'cjsx', 'prebuild-less', 'cson', 'peg'])
grunt.registerTask('lint', ['coffeelint', 'csslint', 'lesslint'])
grunt.registerTask('lint', ['coffeelint', 'csslint', 'lesslint', 'nylaslint'])
grunt.registerTask('test', ['shell:kill-atom', 'run-edgehill-specs'])
grunt.registerTask('docs', ['build-docs', 'render-docs'])

View file

@ -0,0 +1,21 @@
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)

View file

@ -1,6 +1,6 @@
_ = require 'underscore'
Thread = require '../models/thread.coffee'
Message = require '../models/message.coffee'
Thread = require '../models/thread'
Message = require '../models/message'
NylasAPI = require '../nylas-api'
DatabaseStore = require '../stores/database-store'
UpdateNylasObjectsTask = require './update-nylas-objects-task'