devstar插件
This commit is contained in:
137
node_modules/speakingurl/Gulpfile.js
generated
vendored
Normal file
137
node_modules/speakingurl/Gulpfile.js
generated
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
var gulp = require('gulp');
|
||||
var plugin = require('gulp-load-plugins')();
|
||||
var fs = require('fs');
|
||||
var exec = require('child_process').exec;
|
||||
var argv = require('minimist')(process.argv.slice(2));
|
||||
|
||||
var path = {
|
||||
rootdir: './',
|
||||
lib: ['./lib/**/*.js'],
|
||||
libdir: './lib/',
|
||||
test: ['./test/**/*.js'],
|
||||
testdir: './test/',
|
||||
build: ['package.json', 'component.json', 'bower.json', 'README.md', 'speakingurl.min.js'],
|
||||
json: ['package.json', 'component.json', 'bower.json'],
|
||||
readme: './README.md',
|
||||
|
||||
target: './speakingurl.min.js'
|
||||
};
|
||||
|
||||
var banner = ['/**',
|
||||
' * <%= pkg.name %>',
|
||||
' * @version v<%= pkg.version %>',
|
||||
' * @link <%= pkg.homepage %>',
|
||||
' * @license <%= pkg.licenses[0].type %>',
|
||||
' * @author <%= pkg.author.name %>',
|
||||
' */'
|
||||
].join('\n');
|
||||
|
||||
gulp.task('beautify', function (done) {
|
||||
|
||||
gulp.src(path.lib)
|
||||
.pipe(plugin.jsbeautifier({
|
||||
config: '.jsbeautifyrc',
|
||||
mode: 'VERIFY_AND_WRITE'
|
||||
}))
|
||||
.pipe(gulp.dest(path.libdir));
|
||||
|
||||
gulp.src(path.test)
|
||||
.pipe(plugin.jsbeautifier({
|
||||
config: '.jsbeautifyrc',
|
||||
mode: 'VERIFY_AND_WRITE'
|
||||
}))
|
||||
.pipe(gulp.dest(path.testdir));
|
||||
|
||||
gulp.src(path.json)
|
||||
.pipe(plugin.jsbeautifier({
|
||||
config: '.jsbeautifyrc',
|
||||
mode: 'VERIFY_AND_WRITE'
|
||||
}))
|
||||
.pipe(gulp.dest(path.rootdir));
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
gulp.task('test', function () {
|
||||
|
||||
return gulp.src(path.test, {
|
||||
read: false
|
||||
})
|
||||
.pipe(plugin.mocha({
|
||||
reporter: 'spec',
|
||||
globals: {
|
||||
should: require('should')
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
||||
gulp.task('jshint', ['beautify'], function () {
|
||||
|
||||
return gulp.src(path.lib, path.json)
|
||||
.pipe(plugin.jshint('.jshintrc'), {
|
||||
verbose: true
|
||||
})
|
||||
.pipe(plugin.jshint.reporter('jshint-stylish'));
|
||||
});
|
||||
|
||||
gulp.task('uglify', ['jshint'], function (done) {
|
||||
|
||||
var pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'));
|
||||
|
||||
return gulp.src(path.lib)
|
||||
.pipe(plugin.uglify())
|
||||
.pipe(plugin.header(banner, {
|
||||
pkg: pkg
|
||||
}))
|
||||
.pipe(plugin.rename(path.target))
|
||||
.pipe(gulp.dest(path.rootdir));
|
||||
});
|
||||
|
||||
gulp.task('bumpup', ['bumpup-version'], function () {
|
||||
|
||||
var pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'));
|
||||
|
||||
// insert newsest version
|
||||
return gulp.src(path.readme)
|
||||
.pipe(plugin.replace(
|
||||
/cdnjs.cloudflare.com\/ajax\/libs\/speakingurl\/\d{1,1}\.\d{1,2}\.\d{1,2}\/speakingurl.min.js/g,
|
||||
'cdnjs.cloudflare.com/ajax/libs/speakingurl/' + pkg.version + '/speakingurl.min.js'))
|
||||
.pipe(plugin.replace(
|
||||
/cdn.jsdelivr.net\/speakingurl\/\d{1,1}\.\d{1,2}\.\d{1,2}\/speakingurl.min.js/g,
|
||||
'cdn.jsdelivr.net/speakingurl/' + pkg.version + '/speakingurl.min.js'))
|
||||
.pipe(gulp.dest(path.rootdir));
|
||||
});
|
||||
|
||||
gulp.task('bumpup-version', function () {
|
||||
|
||||
return gulp.src(path.json)
|
||||
.pipe(plugin.bump({
|
||||
type: argv.major ? 'major' : (argv.minor ? 'minor' : 'patch')
|
||||
}))
|
||||
.pipe(gulp.dest(path.rootdir));
|
||||
});
|
||||
|
||||
gulp.task('release', function (done) {
|
||||
|
||||
var pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'));
|
||||
var tag = 'v' + pkg.version;
|
||||
var message = 'Release ' + tag;
|
||||
var execute = [
|
||||
'npm rm speakingurl -g',
|
||||
'npm install . -g',
|
||||
'git add .',
|
||||
'git commit -m "Release ' + tag + '"',
|
||||
'git tag ' + tag + ' -m "Release ' + tag + '"',
|
||||
'git push -u origin master',
|
||||
'git push -u origin master --tags',
|
||||
'npm publish'
|
||||
].join('\n');
|
||||
|
||||
exec(execute, done());
|
||||
});
|
||||
|
||||
gulp.task('watch', function () {
|
||||
gulp.watch([path.json, path.lib], ['jshint', 'test']);
|
||||
});
|
||||
|
||||
gulp.task('default', ['test', 'jshint', 'uglify']);
|
Reference in New Issue
Block a user