UNPKG

noflo-core

Version:
100 lines (86 loc) 2.56 kB
module.exports = -> # Project configuration @initConfig pkg: @file.readJSON 'package.json' # Updating the package manifest files noflo_manifest: update: files: 'component.json': ['graphs/*', 'components/*'] 'package.json': ['graphs/*', 'components/*'] # Browser build of NoFlo noflo_browser: build: files: 'browser/noflo-core.js': ['component.json'] # CoffeeScript compilation coffee: spec: options: bare: true expand: true cwd: 'spec' src: ['**.coffee'] dest: 'spec' ext: '.js' # JavaScript minification for the browser uglify: options: report: 'min' noflo: files: './browser/noflo-core.min.js': ['./browser/noflo-core.js'] # Automated recompilation and testing when developing watch: files: ['spec/*.coffee', 'components/*.coffee'] tasks: ['test'] # BDD tests on Node.js cafemocha: nodejs: src: ['spec/*.coffee'] options: reporter: 'spec' # BDD tests on browser mocha_phantomjs: options: output: 'spec/result.xml' reporter: 'spec' all: ['spec/runner.html'] # Coding standards coffeelint: components: files: src: ['components/*.coffee'] options: max_line_length: value: 80 level: 'warn' # Grunt plugins used for building @loadNpmTasks 'grunt-noflo-manifest' @loadNpmTasks 'grunt-noflo-browser' @loadNpmTasks 'grunt-contrib-coffee' @loadNpmTasks 'grunt-contrib-uglify' # Grunt plugins used for testing @loadNpmTasks 'grunt-contrib-watch' @loadNpmTasks 'grunt-cafe-mocha' @loadNpmTasks 'grunt-mocha-phantomjs' @loadNpmTasks 'grunt-coffeelint' # Our local tasks @registerTask 'build', 'Build NoFlo for the chosen target platform', (target = 'all') => @task.run 'coffee' @task.run 'noflo_manifest' if target is 'all' or target is 'browser' @task.run 'component' @task.run 'component_build' @task.run 'combine' @task.run 'uglify' @registerTask 'test', 'Build NoFlo and run automated tests', (target = 'all') => @task.run 'coffeelint' @task.run 'noflo_manifest' if target is 'all' or target is 'nodejs' @task.run 'cafemocha' if target is 'all' or target is 'browser' @task.run 'noflo_browser' @task.run 'coffee' @task.run 'mocha_phantomjs' @registerTask 'default', ['test']