|
|
@@ -0,0 +1,111 @@
|
|
|
+module.exports = (grunt) ->
|
|
|
+ grunt.loadNpmTasks 'grunt-contrib-coffee'
|
|
|
+ grunt.loadNpmTasks 'grunt-contrib-clean'
|
|
|
+ grunt.loadNpmTasks 'grunt-mocha-test'
|
|
|
+ grunt.loadNpmTasks 'grunt-available-tasks'
|
|
|
+ grunt.loadNpmTasks 'grunt-execute'
|
|
|
+ grunt.loadNpmTasks 'grunt-bunyan'
|
|
|
+
|
|
|
+ grunt.initConfig
|
|
|
+ execute:
|
|
|
+ app:
|
|
|
+ src: "app.js"
|
|
|
+
|
|
|
+ bunyan:
|
|
|
+ strict: false
|
|
|
+
|
|
|
+ coffee:
|
|
|
+ app_dir:
|
|
|
+ expand: true,
|
|
|
+ flatten: false,
|
|
|
+ cwd: 'app/coffee',
|
|
|
+ src: ['**/*.coffee'],
|
|
|
+ dest: 'app/js/',
|
|
|
+ ext: '.js'
|
|
|
+
|
|
|
+ app:
|
|
|
+ src: 'app.coffee'
|
|
|
+ dest: 'app.js'
|
|
|
+
|
|
|
+ acceptance_tests:
|
|
|
+ expand: true,
|
|
|
+ flatten: false,
|
|
|
+ cwd: 'test/acceptance/coffee',
|
|
|
+ src: ['**/*.coffee'],
|
|
|
+ dest: 'test/acceptance/js/',
|
|
|
+ ext: '.js'
|
|
|
+
|
|
|
+ unit_tests:
|
|
|
+ expand: true,
|
|
|
+ flatten: false,
|
|
|
+ cwd: 'test/unit/coffee',
|
|
|
+ src: ['**/*.coffee'],
|
|
|
+ dest: 'test/unit/js/',
|
|
|
+ ext: '.js'
|
|
|
+
|
|
|
+ clean:
|
|
|
+ app: ["app/js"]
|
|
|
+ acceptance_tests: ["test/acceptance/js"]
|
|
|
+
|
|
|
+ mochaTest:
|
|
|
+ unit:
|
|
|
+ src: ['test/unit/js/**/*.js']
|
|
|
+ options:
|
|
|
+ reporter: grunt.option('reporter') or 'spec'
|
|
|
+ grep: grunt.option("grep")
|
|
|
+ acceptance:
|
|
|
+ src: ['test/acceptance/js/**/*.js']
|
|
|
+ options:
|
|
|
+ reporter: grunt.option('reporter') or 'spec'
|
|
|
+ grep: grunt.option("grep")
|
|
|
+ timeout: 10000
|
|
|
+
|
|
|
+ availabletasks:
|
|
|
+ tasks:
|
|
|
+ options:
|
|
|
+ filter: 'exclude',
|
|
|
+ tasks: [
|
|
|
+ 'coffee'
|
|
|
+ 'clean'
|
|
|
+ 'mochaTest'
|
|
|
+ 'availabletasks'
|
|
|
+ 'execute'
|
|
|
+ 'bunyan'
|
|
|
+ ]
|
|
|
+ groups:
|
|
|
+ "Compile tasks": [
|
|
|
+ "compile:server"
|
|
|
+ "compile:tests"
|
|
|
+ "compile"
|
|
|
+ "compile:unit_tests"
|
|
|
+ "compile:acceptance_tests"
|
|
|
+ "install"
|
|
|
+ ]
|
|
|
+ "Test tasks": [
|
|
|
+ "test:unit"
|
|
|
+ "test:acceptance"
|
|
|
+ ]
|
|
|
+ "Run tasks": [
|
|
|
+ "run"
|
|
|
+ "default"
|
|
|
+ ]
|
|
|
+ "Misc": [
|
|
|
+ "help"
|
|
|
+ ]
|
|
|
+
|
|
|
+ grunt.registerTask 'help', 'Display this help list', 'availabletasks'
|
|
|
+
|
|
|
+ grunt.registerTask 'compile:server', 'Compile the server side coffee script', ['clean:app', 'coffee:app', 'coffee:app_dir']
|
|
|
+ grunt.registerTask 'compile:unit_tests', 'Compile the unit tests', ['coffee:unit_tests']
|
|
|
+ grunt.registerTask 'compile:acceptance_tests', 'Compile the acceptance tests', ['clean:acceptance_tests', 'coffee:acceptance_tests']
|
|
|
+ grunt.registerTask 'compile:tests', 'Compile all the tests', ['compile:acceptance_tests', 'compile:unit_tests']
|
|
|
+ grunt.registerTask 'compile', 'Compiles everything need to run track-changes-sharelatex', ['compile:server']
|
|
|
+
|
|
|
+ grunt.registerTask 'install', "Compile everything when installing as an npm module", ['compile']
|
|
|
+
|
|
|
+ grunt.registerTask 'test:unit', 'Run the unit tests (use --grep=<regex> for individual tests)', ['compile:server', 'compile:unit_tests', 'mochaTest:unit']
|
|
|
+ grunt.registerTask 'test:acceptance', 'Run the acceptance tests (use --grep=<regex> for individual tests)', ['compile:acceptance_tests', 'mochaTest:acceptance']
|
|
|
+
|
|
|
+ grunt.registerTask 'run', "Compile and run the track-changes-sharelatex server", ['compile', 'bunyan', 'execute']
|
|
|
+ grunt.registerTask 'default', 'run'
|
|
|
+
|