/** * @file gulpfile.js * * Defines tasks that can be run on gulp. * * Summary: * <ul> * <li> `test` - an alias for `test:mocha` * <li> `test:mocha` - runs all the tests on node (mocha) * <li> `test:karma` - runs all the tests in the browser (karma) * <li> `build` - generate files needed for browser (browserify) * <li> `build:tests` - generate files needed for testing in the browser * <li> `lint` - run `jshint` * <li> `coveralls` - updates coveralls info * </ul> */ 'use strict'; const gulp = require('gulp'); const shell = require('gulp-shell'); const npmPackage = require('./package.json'); gulp.task( 'build', shell.task([[ 'npx browserify index.js --s bitcoinCash -t [ babelify --presets [ env ] ]', '|', `npx uglifyjs --comments -c -o dist/bitcoincashjs.${npmPackage.version}.min.js`, ].join(' ')]) ); gulp.task( 'build:tests', shell.task([ 'find test/ -type f -name "*.js" | xargs npx browserify -t brfs -o build/tests.js' ]) ); gulp.task( 'test', ['test:mocha'] ); gulp.task( 'test:mocha', shell.task([ 'npx nyc --reporter=html --reporter=text npx mocha', ]) ); gulp.task( 'test:karma', ['build:tests'], shell.task([ 'npx karma start', ]) ); gulp.task( 'lint', shell.task([ 'find index.js gulpfile.js src/ test/ -type f -name "*.js" | xargs npx jshint', ]) ); gulp.task( 'coveralls', shell.task([ 'npx nyc report --reporter=text-lcov | npx coveralls', ]) );