Refactor code of gulp scripts

This commit is contained in:
Tyler Long
2017-04-16 18:36:42 +08:00
parent 3d500800f1
commit 8536c975bf
8 changed files with 124 additions and 207 deletions

View File

@@ -42,20 +42,3 @@ gulp.task('watch-mermaid', function () {
.pipe(extReplace('.min.js')) .pipe(extReplace('.min.js'))
.pipe(gulp.dest('./dist/')) .pipe(gulp.dest('./dist/'))
}) })
// var bg = require("gulp-bg");
//
// let bgtask;
// gulp.task("server", bgtask = bg("node", "--harmony", "server.js"));
//
// const exitCallback = (proc) => { if (proc.errorcode != 0) { process.exit(proc.errorcode); } };
//
// gulp.task("stop", () => {
// bgtask.setCallback(exitCallback);
// bgtask.stop();
// }
// });
//
// gulp.task("default", ["server"], function() {
// gulp.watch(["server.js"], ["server"]);
// });

View File

@@ -1,12 +1,10 @@
var gulp = require('gulp') var gulp = require('gulp')
var browserify = require('gulp-browserify') var browserify = require('gulp-browserify')
// var shell = require('gulp-shell')
var concat = require('gulp-concat') var concat = require('gulp-concat')
var uglify = require('gulp-uglify') var uglify = require('gulp-uglify')
var extReplace = require('gulp-ext-replace') var extReplace = require('gulp-ext-replace')
var rename = require('gulp-rename') var rename = require('gulp-rename')
// var istanbul = require('gulp-istanbul')
var insert = require('gulp-insert') var insert = require('gulp-insert')
/** /**
@@ -23,13 +21,6 @@ gulp.task('slimDist', function () {
// Single entry point to browserify // Single entry point to browserify
return gulp.src('src/main.js') return gulp.src('src/main.js')
.pipe(browserify()) .pipe(browserify())
/* .pipe(browserify({standalone: 'mermaid'}))
.on('prebundle', function(bundle) {
// Keep these external for the slim version.
slim_ext_libs.forEach(function(lib) {
bundle.external(lib);
});
}) */
.pipe(rename('mermaid-legacy.slim.js')) .pipe(rename('mermaid-legacy.slim.js'))
.pipe(insert.prepend('(function () { var define = undefined; ')) .pipe(insert.prepend('(function () { var define = undefined; '))
.pipe(insert.append(' })();')) .pipe(insert.append(' })();'))
@@ -50,19 +41,8 @@ gulp.task('fullDist', ['slimDist'], function () {
.pipe(gulp.dest('./dist/')) .pipe(gulp.dest('./dist/'))
}) })
// Basic usage
// gulp.task('api', shell.task([
// 'browserify src/mermaid.js | uglify > dist/mermaid.min.js',
// 'browserify src/mermaid.js | uglify > dist/mermaid.min.js',
// 'browserify src/mermaidAPI.js -o dist/mermaidAPI.js'
// //'jison src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison -o src/diagrams/sequenceDiagram/parser/sequenceDiagram.js'
// ]));
// Basic usage // Basic usage
gulp.task('mermaid.slim', function () { gulp.task('mermaid.slim', function () {
// Single entry point to browserify
// var EXTERNALS = ['d3']
return gulp.src('src/mermaid.js') return gulp.src('src/mermaid.js')
.pipe(browserify({ .pipe(browserify({
external: ['d3'], external: ['d3'],
@@ -70,16 +50,6 @@ gulp.task('mermaid.slim', function () {
standalone: 'mermaid' standalone: 'mermaid'
})) }))
.pipe(rename('mermaid.slim.js')) .pipe(rename('mermaid.slim.js'))
// .on('prebundle', function(bundle){
// EXTERNALS.forEach(function(external){
// if(external.expose){
// bundle.require(external.require, {expose: external.expose} )
// }
// else{
// bundle.require(external.require)
// }
// })
// })
.pipe(gulp.dest('./dist/')) .pipe(gulp.dest('./dist/'))
.pipe(uglify()) .pipe(uglify())
.pipe(extReplace('.min.js')) .pipe(extReplace('.min.js'))
@@ -106,9 +76,6 @@ gulp.task('mermaidAPI', function () {
.pipe(browserify({ .pipe(browserify({
})) }))
.pipe(gulp.dest('./dist/')) .pipe(gulp.dest('./dist/'))
// .pipe(uglify())
// .pipe(extReplace('.min.js'))
// .pipe(gulp.dest('./dist/'));
}) })
// Basic usage // Basic usage
@@ -127,16 +94,11 @@ gulp.task('mermaidAPI.slim', function () {
// Build editor // Build editor
gulp.task('editor', function () { gulp.task('editor', function () {
/* gulp.src(['src/editor.js'])
.pipe(browserify())
.pipe(concat('main.js'))
.pipe(gulp.dest('./editor/')); */
return gulp.src(['node_modules/d3/d3.min.js', 'node_modules/dagre-d3/dist/dagre-d3.min.js', 'dist/mermaid.slim.js', 'src/editor.js']) return gulp.src(['node_modules/d3/d3.min.js', 'node_modules/dagre-d3/dist/dagre-d3.min.js', 'dist/mermaid.slim.js', 'src/editor.js'])
.pipe(concat('build.js')) .pipe(concat('build.js'))
.pipe(gulp.dest('./editor/')) .pipe(gulp.dest('./editor/'))
}) })
// gulp.task('dist', ['slimDist', 'fullDist','jasmine']);
gulp.task('legacy', ['slimDist', 'fullDist']) gulp.task('legacy', ['slimDist', 'fullDist'])
gulp.task('dist', ['mermaidAPI', 'mermaidAPI.slim', 'mermaid.slim', 'mermaid']) gulp.task('dist', ['mermaidAPI', 'mermaidAPI.slim', 'mermaid.slim', 'mermaid'])

View File

@@ -1,8 +1,6 @@
var gulp = require('gulp') var gulp = require('gulp')
// var mdvars = require('gulp-mdvars')
var vartree = require('gulp-vartree') var vartree = require('gulp-vartree')
var gmarked = require('gulp-marked') var gmarked = require('gulp-marked')
// var marked = require('marked')
var concat = require('gulp-concat') var concat = require('gulp-concat')
var frontMatter = require('gulp-front-matter') var frontMatter = require('gulp-front-matter')
var hogan = require('hogan.js') var hogan = require('hogan.js')
@@ -57,9 +55,6 @@ gulp.task('vartree', ['dox', 'copyContent', 'copySite'], function () {
})) // Do whatever you want with the files later })) // Do whatever you want with the files later
.pipe(gulp.dest('build/www')).on('end', function () { .pipe(gulp.dest('build/www')).on('end', function () {
iterator(root) iterator(root)
// console.log('filelist');
// console.log(filelist);
gulp.src(filelist) gulp.src(filelist)
.pipe(concat('all.html')) .pipe(concat('all.html'))
.pipe(gulp.dest('./build/www')).on('end', function () { .pipe(gulp.dest('./build/www')).on('end', function () {
@@ -69,8 +64,6 @@ gulp.task('vartree', ['dox', 'copyContent', 'copySite'], function () {
.pipe(filelog('html files')) .pipe(filelog('html files'))
// Run each file through a template // Run each file through a template
.pipe(es.map(function (file, cb) { .pipe(es.map(function (file, cb) {
// console.log('file:',fileList);
// file.contents = new Buffer(template.render(file))
file.contents = Buffer.from(template.render(file)) file.contents = Buffer.from(template.render(file))
cb(null, file) cb(null, file)
@@ -83,13 +76,10 @@ gulp.task('vartree', ['dox', 'copyContent', 'copySite'], function () {
var dox = require('gulp-dox') var dox = require('gulp-dox')
// var doxJson2Md = require('../plugins/doxJson2Md')
var map = require('map-stream') var map = require('map-stream')
var extReplace = require('gulp-ext-replace') var extReplace = require('gulp-ext-replace')
gulp.task('dox', function () { gulp.task('dox', function () {
// return gulp.src(['src/**/*.js','!src/**/parser/*.js','!src/**/*.spec.js'])
return gulp.src(['./src/**/mermaidAPI.js']) return gulp.src(['./src/**/mermaidAPI.js'])
.pipe(filelog()) .pipe(filelog())
.pipe(dox({ .pipe(dox({
@@ -100,10 +90,8 @@ gulp.task('dox', function () {
var i var i
var str = '' var str = ''
for (i = 0; i < json.length; i++) { for (i = 0; i < json.length; i++) {
// console.log(json[i].description.full);
str = str + json[i].description.full + '\n' str = str + json[i].description.full + '\n'
} }
// file.contents = new Buffer(str)
file.contents = Buffer.from(str) file.contents = Buffer.from(str)
done(null, file) done(null, file)
})) }))

View File

@@ -35,13 +35,6 @@ function inc (importance) {
.pipe(bump({ type: importance })) .pipe(bump({ type: importance }))
// save it back to filesystem // save it back to filesystem
.pipe(gulp.dest('./')) .pipe(gulp.dest('./'))
// commit the changed version number
// .pipe(git.commit('bumps package version'))
// read only one file to get the version number
// .pipe(filter('package.json'))
// **tag it in the repository**
// .pipe(tag_version());
} }
gulp.task('patch', function () { return inc('patch') }) gulp.task('patch', function () { return inc('patch') })

View File

@@ -1,19 +1,9 @@
var gulp = require('gulp') var gulp = require('gulp')
var jasmine = require('gulp-jasmine') var jasmine = require('gulp-jasmine')
// var gulp = require('gulp')
// var browserify = require('gulp-browserify')
var shell = require('gulp-shell') var shell = require('gulp-shell')
// var jison = require('gulp-jison')
// var concat = require('gulp-concat')
// var uglify = require('gulp-uglify')
// var extReplace = require('gulp-ext-replace')
// var rename = require('gulp-rename')
var istanbul = require('gulp-istanbul') var istanbul = require('gulp-istanbul')
// var insert = require('gulp-insert')
var jshint = require('gulp-jshint') var jshint = require('gulp-jshint')
var stylish = require('jshint-stylish') var stylish = require('jshint-stylish')
var qunit = require('gulp-qunit') var qunit = require('gulp-qunit')
var bower = require('gulp-bower') var bower = require('gulp-bower')

View File

@@ -4,3 +4,4 @@
- node console output colors like Chrome console - node console output colors like Chrome console
- default theme doesn't work for class diagram - default theme doesn't work for class diagram
- mermaidAPI.js cannot be required directly - mermaidAPI.js cannot be required directly
- compile less to css