first commit
This commit is contained in:
90
chart/zoom/gulpfile.js
Executable file
90
chart/zoom/gulpfile.js
Executable file
@ -0,0 +1,90 @@
|
||||
var gulp = require('gulp'),
|
||||
concat = require('gulp-concat'),
|
||||
uglify = require('gulp-uglify'),
|
||||
util = require('gulp-util'),
|
||||
jshint = require('gulp-jshint'),
|
||||
replace = require('gulp-replace'),
|
||||
insert = require('gulp-insert'),
|
||||
inquirer = require('inquirer'),
|
||||
semver = require('semver'),
|
||||
exec = require('child_process').exec,
|
||||
fs = require('fs'),
|
||||
package = require('./package.json'),
|
||||
browserify = require('browserify'),
|
||||
streamify = require('gulp-streamify'),
|
||||
source = require('vinyl-source-stream'),
|
||||
merge = require('merge-stream');
|
||||
|
||||
var srcDir = './src/';
|
||||
var outDir = './';
|
||||
|
||||
var header = "/*!\n\
|
||||
* chartjs-plugin-zoom\n\
|
||||
* http://chartjs.org/\n\
|
||||
* Version: {{ version }}\n\
|
||||
*\n\
|
||||
* Copyright 2016 Evert Timberg\n\
|
||||
* Released under the MIT license\n\
|
||||
* https://github.com/chartjs/chartjs-plugin-zoom/blob/master/LICENSE.md\n\
|
||||
*/\n";
|
||||
|
||||
gulp.task('build', buildTask);
|
||||
gulp.task('bump', bumpTask);
|
||||
gulp.task('jshint', jshintTask);
|
||||
|
||||
function buildTask() {
|
||||
var nonBundled = browserify('./src/chart.zoom.js')
|
||||
.ignore('chart.js')
|
||||
.ignore('hammerjs')
|
||||
.bundle()
|
||||
.pipe(source('chartjs-plugin-zoom.js'))
|
||||
.pipe(insert.prepend(header))
|
||||
.pipe(streamify(replace('{{ version }}', package.version)))
|
||||
.pipe(gulp.dest(outDir))
|
||||
.pipe(streamify(uglify({
|
||||
preserveComments: 'some'
|
||||
})))
|
||||
.pipe(streamify(concat('chartjs-plugin-zoom.min.js')))
|
||||
.pipe(gulp.dest(outDir));
|
||||
|
||||
return nonBundled;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Usage : gulp bump
|
||||
* Prompts: Version increment to bump
|
||||
* Output: - New version number written into package.json & bower.json
|
||||
*/
|
||||
function bumpTask(complete) {
|
||||
util.log('Current version:', util.colors.cyan(package.version));
|
||||
var choices = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'].map(function(versionType) {
|
||||
return versionType + ' (v' + semver.inc(package.version, versionType) + ')';
|
||||
});
|
||||
inquirer.prompt({
|
||||
type: 'list',
|
||||
name: 'version',
|
||||
message: 'What version update would you like?',
|
||||
choices: choices
|
||||
}, function(res) {
|
||||
var increment = res.version.split(' ')[0],
|
||||
newVersion = semver.inc(package.version, increment);
|
||||
|
||||
// Set the new versions into the bower/package object
|
||||
package.version = newVersion;
|
||||
bower.version = newVersion;
|
||||
|
||||
// Write these to their own files, then build the output
|
||||
fs.writeFileSync('package.json', JSON.stringify(package, null, 2));
|
||||
fs.writeFileSync('bower.json', JSON.stringify(bower, null, 2));
|
||||
|
||||
complete();
|
||||
});
|
||||
}
|
||||
|
||||
function jshintTask() {
|
||||
return gulp.src(srcDir + '**/*.js')
|
||||
.pipe(jshint('config.jshintrc'))
|
||||
.pipe(jshint.reporter('jshint-stylish'))
|
||||
.pipe(jshint.reporter('fail'));
|
||||
}
|
Reference in New Issue
Block a user