diff options
Diffstat (limited to 'Gruntfile.coffee')
| -rw-r--r-- | Gruntfile.coffee | 47 | 
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']  | 
