aboutsummaryrefslogtreecommitdiffstats
path: root/Gruntfile.coffee
diff options
context:
space:
mode:
authorZog2017-12-26 09:55:21 +0100
committerZog2017-12-27 09:14:06 +0100
commit54e6052b18a5451ed962dfaade88f8de28972e76 (patch)
treec0928fd6f6a70566dea6caef3ca4d1ca41b640c7 /Gruntfile.coffee
parentfdae84e447a09e8dac6b7f3167a35c209db342a6 (diff)
downloadchouette-core-54e6052b18a5451ed962dfaade88f8de28972e76.tar.bz2
Refs #5376 @1h; Add setup for javascript specs
Use grunt to automagically run the specs
Diffstat (limited to 'Gruntfile.coffee')
-rw-r--r--Gruntfile.coffee47
1 files changed, 47 insertions, 0 deletions
diff --git a/Gruntfile.coffee b/Gruntfile.coffee
new file mode 100644
index 000000000..16b55e8ef
--- /dev/null
+++ b/Gruntfile.coffee
@@ -0,0 +1,47 @@
+module.exports = (grunt) =>
+ javascriptSpecPath = (path) ->
+ grunt.log.writeln "IN: " + path
+ path = path.replace 'app/javascript', 'spec/javascript'
+ if path.match /actions/
+ path = path.replace /actions.*/, 'actions_spec.js'
+ if path.match /reducers/
+ path = path.replace '.js', '_spec.js'
+ grunt.log.writeln "OUT: " + path
+ path
+
+ grunt.initConfig
+ pkg: grunt.file.readJSON('package.json')
+ watch:
+ javascripts:
+ files: ['app/javascript/**/*', 'spec/javascript/**/*']
+ tasks: []
+ options:
+ spawn: false
+
+ watchchange:
+ javascript:
+ match: ['app/javascript/**/*', 'spec/javascript/**/*']
+ setConfig: ['jest.run.src']
+ preprocess: javascriptSpecPath
+ tasks: ['jest:run']
+
+ jest:
+ run:
+ files: []
+
+ grunt.loadNpmTasks('grunt-contrib-watch')
+ grunt.loadNpmTasks('grunt-watch-change')
+
+ # Default task(s).
+ grunt.registerMultiTask 'jest', 'run javascript specs', () ->
+ files = []
+ this.files.forEach (file) ->
+ files.push file.src
+ grunt.log.writeln files
+ grunt.util.spawn
+ cmd: 'node_modules/.bin/jest'
+ args: files
+ opts: {stdio: 'inherit'}
+ , -> {}
+
+ grunt.registerTask 'default', ['watchchange', 'watch']