b0VIM 7.4װWtKjbeard4Jacobs-MacBook-Pro.local~jbeard4/workspace/scion/scion/Gruntfile.js 3210#"! Utp-ad$`sC3 yneUB x i T 5  o _ S J 8 { Y =  n I +  f O C 8  t_E |mMrdXNE2 pG `LubF;(`_ files: ["lib/**/*.js"], browserify: { }, } spawn: false options: { tasks : ['browserify:dev'], files: [ 'lib/**/*.js' ], express: { }, livereload: false options: { watch: { }, } } accessTokenVar: 'GITHUB_ACCESS_TOKEN', //ENVIRONMENT VARIABLE that contains GitHub Access Token repo: 'jbeard4/SCION', //put your user/repo here github: { additionalFiles: ['bower.json'], beforeRelease : ['build', 'gitcommit:dist'], options: { release: { }, } } ] 'dist/scxml.min.js' 'dist/scxml.js.map', 'dist/scxml.js', src: [ files: { }, message: 'Updated dist files', options: { dist: { gitcommit: { }, } } } 'video-upload-on-pass': false sauceConfig: { statusCheckAttempts : -1, throttled: 5, testname: 'custom tests', build: process.env.TRAVIS_JOB_ID, browsers: browsers, ], 'http://127.0.0.1:3000/' urls: [ options: { all: { 'saucelabs-custom': { }, } } script: 'test/node-test-server.js' port : 42000, options: { "scxml" : { }, } port: 3000 script: 'grunt/server.js', node_env: 'production-require', options: { "prod-require": { }, } port: 3000 script: 'grunt/server.js', node_env: 'production', options: { prod: { }, } port: 3000 script: 'grunt/server.js', livereload: true, node_env: 'development', options: { dev: { express: { }, } dest: 'dist/scxml.js' src: ['lib/runtime/facade.js'], }, } standalone: 'scxml' debug : true, browserifyOptions : { options: { dev : { browserify : { karma: require('./grunt/config/karma/index.js')(grunt), }, platform : ['test/platform-tests/node/*/runner.js'] nodeunit: { }, } } 'dist/scxml.js' : 'dist/scxml.js' files: { dist: { }, plugins : ['transform-es2015-modules-umd'] presets: ['es2015'], sourceMap: true, options: { babel: { }, } dest: 'dist/scxml.min.js' src: 'dist/scxml.js', build: { }, banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' options: { uglify: { }, }, dest: 'dist/scxml.js' src: ['node_modules/babel-polyfill/dist/polyfill.js', 'dist/scxml.js'], dist: { }, separator: ';', options: { concat: { pkg: grunt.file.readJSON('package.json'), grunt.initConfig({ var browsers = require('./grunt/browsers'); require('load-grunt-tasks')(grunt);module.exports = function(grunt) {ad!-Hd$ W Q P v ` H k i  a }; grunt.registerTask('run-browser-tests-prod', ['express:prod', 'saucelabs-custom', 'express:prod:stop' ]); grunt.registerTask('run-browser-tests-dev', ['express:dev', 'saucelabs-custom', 'express:dev:stop' ]); ]); 'run-browser-tests-dev' 'test-node', grunt.registerTask('test', [ grunt.registerTask('test-node', ['nodeunit:platform', 'test-semantics']); grunt.registerTask('default', ['build']); grunt.registerTask('build', [ 'browserify:dev', 'babel', 'replace-reserved-words', 'concat', 'uglify']); grunt.task.registerTask('test-semantics', ['express:scxml', 'scxml-test-client', 'express:scxml:stop']); //TODO: copy babel-polyfill and nodeunit-browser into test/harness/browser/lib. I wish these were published via bower. }); }, done); scxmlTestFiles : grunt.file.expand(require('./grunt/scxml-tests.json')) report : console, verbose : true, startTests({ var startTests = require('scxml-test-framework'); //TODO: convert to submodule. var done = this.async(); grunt.registerTask('scxml-test-client', 'Run scxml tests in node. ', function(){ }); fs.writeFileSync('dist/scxml.js', fileContents); }); fileContents = fileContents.replace(new RegExp('\\.\\b' + s + '\\b','g'), '["' + s + '"]'); ['return','delete'].forEach(function(s){ var fileContents = fs.readFileSync('dist/scxml.js','utf8'); var fs = require('fs'); grunt.registerTask('replace-reserved-words', 'String replace reserved words in built JavaScript.', function() { grunt.registerTask('mywatch-prod',['build','express:prod:start','watch:express']); grunt.registerTask('mywatch',['express:dev:start','watch:express']); }); } } files: [""] public: { }, tasks: ["browserify:dev"]