summaryrefslogtreecommitdiffstats
path: root/gulpfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js64
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',