UNPKG

fbp-protocol-client

Version:
96 lines (82 loc) 2.5 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/*'] # CoffeeScript compilation coffee: spec: options: bare: true expand: true cwd: 'spec' src: ['**.coffee'] dest: 'spec' ext: '.js' # Browser build of the client lib noflo_browser: build: files: 'browser/fbp-protocol-client.js': ['component.json'] # JavaScript minification for the browser uglify: options: report: 'min' noflo: files: './browser/fbp-protocol-client.min.js': ['./browser/fbp-protocol-client.js'] # Automated recompilation and testing when developing watch: files: ['spec/*.coffee', 'components/*.coffee'] tasks: ['test'] # BDD tests on Node.js mochaTest: 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', 'src/*.coffee', 'src/runtimes/*.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-mocha-test' @loadNpmTasks 'grunt-mocha-phantomjs' @loadNpmTasks 'grunt-coffeelint' # Our local tasks @registerTask 'build', 'Build for the chosen target platform', (target = 'all') => @task.run 'coffee' if target is 'all' or target is 'browser' @task.run 'noflo_browser' @task.run 'uglify' @registerTask 'test', 'Build and run automated tests', (target = 'all') => @task.run 'coffeelint' @task.run 'coffee' if target is 'all' or target is 'nodejs' @task.run 'mochaTest' if target is 'all' or target is 'browser' @task.run 'noflo_browser' @task.run 'mocha_phantomjs' @registerTask 'default', ['test']