diff options
Diffstat (limited to 'gulpfile.js')
-rw-r--r-- | gulpfile.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/gulpfile.js b/gulpfile.js index 4cca778..78666f4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -73,9 +73,73 @@ gulp.task( 'css', function() { .pipe( gulp.dest('dist') ); }); +// ----- hint ----- // + +var jshint = require('gulp-jshint'); + +gulp.task( 'hint-js', function() { + return gulp.src('js/huebee.js') + .pipe( jshint() ) + .pipe( jshint.reporter('default') ); +}); + +gulp.task( 'hint-test', function() { + return gulp.src('test/unit/*.js') + .pipe( jshint() ) + .pipe( jshint.reporter('default') ); +}); + +gulp.task( 'hint-task', function() { + return gulp.src('gulpfile.js') + .pipe( jshint() ) + .pipe( jshint.reporter('default') ); +}); + +var jsonlint = require('gulp-json-lint'); + +gulp.task( 'jsonlint', function() { + return gulp.src( '*.json' ) + .pipe( jsonlint() ) + .pipe( jsonlint.report('verbose') ); +}); + +gulp.task( 'hint', [ 'hint-js', 'hint-test', 'hint-task', 'jsonlint' ]); + +// ----- version ----- // + +// set version in source files + +var minimist = require('minimist'); +var gutil = require('gulp-util'); +var chalk = gutil.colors; + +// use gulp version -t 1.2.3 +gulp.task( 'version', function() { + var args = minimist( process.argv.slice(3) ); + var version = args.t; + if ( !version || !/\d\.\d\.\d/.test( version ) ) { + gutil.log( 'invalid version: ' + chalk.red( version ) ); + return; + } + gutil.log( 'ticking version to ' + chalk.green( version ) ); + + function sourceReplace() { + return replace( /Huebee v\d\.\d+\.\d+/, 'Huebee v' + version ); + } + + gulp.src([ 'huebee.js', 'huebee.css' ]) + .pipe( sourceReplace() ) + .pipe( gulp.dest('') ); + + gulp.src( [ 'package.json' ] ) + .pipe( replace( /"version": "\d\.\d+\.\d+"/, '"version": "' + version + '"' ) ) + .pipe( gulp.dest('.') ); +}); + // -------------------------- default -------------------------- // gulp.task( 'default', [ + 'hint', 'requirejs', 'uglify', 'css', |