1- var argv = require ( 'yargs' ) . argv
1+ 'use strict' ;
2+
3+ var argv = require ( 'yargs' ) . argv ;
24var gulp = require ( 'gulp' ) ;
35var eslint = require ( 'gulp-eslint' ) ;
46var insert = require ( 'gulp-insert' ) ;
@@ -11,94 +13,92 @@ var gutil = require('gulp-util');
1113var zip = require ( 'gulp-zip' ) ;
1214var merge = require ( 'merge2' ) ;
1315var path = require ( 'path' ) ;
14- var package = require ( './package.json' ) ;
16+ var pkg = require ( './package.json' ) ;
1517
1618var srcDir = './src/' ;
1719var outDir = './dist/' ;
1820var samplesDir = './samples/' ;
1921
20- var header = "/*!\n\
21- * " + package . name + "\n\
22- * http://chartjs.org/\n\
23- * Version: {{ version }}\n\
24- *\n\
25- * Copyright 2016 Simon Brunel\n\
26- * Released under the MIT license\n\
27- * https://github.com/chartjs/chartjs-plugin-deferred/blob/master/LICENSE.md\n\
28- */\n" ;
29-
30- gulp . task ( 'build' , buildTask ) ;
31- gulp . task ( 'lint' , lintTask ) ;
32- gulp . task ( 'package' , packageTask ) ;
33- gulp . task ( 'bower' , bowerTask ) ;
34- gulp . task ( 'default' , [ 'build' ] ) ;
22+ var header = `/*!
23+ * ` + pkg . name + `
24+ * http://chartjs.org/
25+ * Version: {{ version }}
26+ *
27+ * Copyright 2017 Simon Brunel
28+ * Released under the MIT license
29+ * https://github.com/chartjs/chartjs-plugin-deferred/blob/master/LICENSE.md
30+ */` ;
3531
3632function watch ( glob , task ) {
37- gutil . log ( 'Waiting for changes...' ) ;
38- return gulp . watch ( glob , function ( e ) {
39- gutil . log ( 'Changes detected for' , path . relative ( '.' , e . path ) , '(' + e . type + ')' ) ;
40- var r = task ( ) ;
41- gutil . log ( 'Waiting for changes...' ) ;
42- return r ;
43- } ) ;
33+ gutil . log ( 'Waiting for changes...' ) ;
34+ return gulp . watch ( glob , function ( e ) {
35+ gutil . log ( 'Changes detected for' , path . relative ( '.' , e . path ) , '(' + e . type + ')' ) ;
36+ var r = task ( ) ;
37+ gutil . log ( 'Waiting for changes...' ) ;
38+ return r ;
39+ } ) ;
4440}
4541
46- function buildTask ( ) {
47- var task = function ( ) {
48- return gulp . src ( srcDir + 'plugin.js' )
49- . pipe ( rename ( package . name + '.js' ) )
50- . pipe ( insert . prepend ( header ) )
51- . pipe ( streamify ( replace ( '{{ version }}' , package . version ) ) )
52- . pipe ( gulp . dest ( outDir ) )
53- . pipe ( rename ( package . name + '.min.js' ) )
54- . pipe ( streamify ( uglify ( { preserveComments : 'license' } ) ) )
55- . pipe ( gulp . dest ( outDir ) ) ;
56- } ;
42+ gulp . task ( 'default' , [ 'build' ] ) ;
5743
58- if ( argv . watch ) {
59- return task ( ) , watch ( srcDir + '**/*.js' , task ) ;
60- } else {
61- return task ( ) ;
62- }
63- }
44+ gulp . task ( 'build' , function ( ) {
45+ var task = function ( ) {
46+ return gulp . src ( srcDir + 'plugin.js' )
47+ . pipe ( rename ( pkg . name + '.js' ) )
48+ . pipe ( insert . prepend ( header ) )
49+ . pipe ( streamify ( replace ( '{{ version }}' , pkg . version ) ) )
50+ . pipe ( gulp . dest ( outDir ) )
51+ . pipe ( rename ( pkg . name + '.min.js' ) )
52+ . pipe ( streamify ( uglify ( { preserveComments : 'license' } ) ) )
53+ . pipe ( gulp . dest ( outDir ) ) ;
54+ } ;
6455
65- function lintTask ( ) {
66- var files = [
67- srcDir + '**/*.js' ,
68- samplesDir + '**/*.js'
69- ] ;
56+ var tasks = [ task ( ) ] ;
57+ if ( argv . watch ) {
58+ tasks . push ( watch ( srcDir + '**/*.js' , task ) ) ;
59+ }
7060
71- return gulp . src ( files )
72- . pipe ( eslint ( ) )
73- . pipe ( eslint . format ( ) )
74- . pipe ( eslint . failAfterError ( ) ) ;
75- }
61+ return tasks ;
62+ } ) ;
7663
77- function packageTask ( ) {
78- return merge (
79- // gather "regular" files landing in the package root
80- gulp . src ( [ outDir + '*.js' , 'LICENSE.md' ] ) ,
64+ gulp . task ( 'lint' , function ( ) {
65+ var files = [
66+ samplesDir + '**/*.js' ,
67+ srcDir + '**/*.js' ,
68+ '*.js'
69+ ] ;
8170
82- // dist files in the package are in the root, so we need to rewrite samples
83- // src="../dist/ to src="../ and then copy them in the /samples directory.
84- gulp . src ( samplesDir + '**/*' , { base : '.' } )
85- . pipe ( streamify ( replace ( 'src="../dist/' , 'src="../' ) ) )
86- )
87- // finally, create the zip archive
88- . pipe ( zip ( package . name + '.zip' ) )
89- . pipe ( gulp . dest ( outDir ) ) ;
90- }
71+ return gulp . src ( files )
72+ . pipe ( eslint ( ) )
73+ . pipe ( eslint . format ( ) )
74+ . pipe ( eslint . failAfterError ( ) ) ;
75+ } ) ;
9176
92- function bowerTask ( ) {
93- var json = JSON . stringify ( {
94- name : package . name ,
95- description : package . description ,
96- homepage : package . homepage ,
97- license : package . license ,
98- version : package . version ,
99- main : outDir + package . name + '.js'
100- } , null , 2 ) ;
77+ gulp . task ( 'package' , function ( ) {
78+ return merge (
79+ // gather "regular" files landing in the package root
80+ gulp . src ( [ outDir + '*.js' , 'LICENSE.md' ] ) ,
10181
102- return file ( 'bower.json' , json , { src : true } )
103- . pipe ( gulp . dest ( './' ) ) ;
104- }
82+ // dist files in the package are in the root, so we need to rewrite samples
83+ // src="../dist/ to src="../ and then copy them in the /samples directory.
84+ gulp . src ( samplesDir + '**/*' , { base : '.' } )
85+ . pipe ( streamify ( replace ( 'src="../dist/' , 'src="../' ) ) )
86+ )
87+ // finally, create the zip archive
88+ . pipe ( zip ( pkg . name + '.zip' ) )
89+ . pipe ( gulp . dest ( outDir ) ) ;
90+ } ) ;
91+
92+ gulp . task ( 'bower' , function ( ) {
93+ var json = JSON . stringify ( {
94+ name : pkg . name ,
95+ description : pkg . description ,
96+ homepage : pkg . homepage ,
97+ license : pkg . license ,
98+ version : pkg . version ,
99+ main : outDir + pkg . name + '.js'
100+ } , null , 2 ) ;
101+
102+ return file ( 'bower.json' , json , { src : true } )
103+ . pipe ( gulp . dest ( './' ) ) ;
104+ } ) ;
0 commit comments