master
Futago-za Ryuu 6 years ago
parent 3745195315
commit 6335818cb7

@ -2,20 +2,22 @@
const version = require( "./package" ).version; const version = require( "./package" ).version;
const spawn = require( "child_process" ).spawn; const spawn = require( "child_process" ).spawn;
const gulp = require( "gulp" ); const dest = require( "gulp" ).dest;
const task = gulp.task.bind( gulp ); const src = require( "gulp" ).src;
const series = require( "gulp" ).series;
const task = require( "gulp" ).task;
const eslint = require( "gulp-eslint" ); const eslint = require( "gulp-eslint" );
const mocha = require( "gulp-mocha" ); const mocha = require( "gulp-mocha" );
const dedent = require( "dedent" ); const dedent = require( "dedent" );
const browserify = require( "browserify" ); const browserify = require( "browserify" );
const babelify = require( "babelify" ); const babelify = require( "babelify" );
const source = require( "vinyl-source-stream" ); const stream = require( "vinyl-source-stream" );
const rename = require( "gulp-rename" ); const rename = require( "gulp-rename" );
const buffer = require( "vinyl-buffer" ); const buffer = require( "vinyl-buffer" );
const uglify = require( "gulp-uglify" ); const uglify = require( "gulp-uglify" );
const header = require( "gulp-header" ); const header = require( "gulp-header" );
const del = require( "del" ); const del = require( "del" );
const runSequence = require( "run-sequence" ); const pump = require( "pump" );
function node( args, cb ) { function node( args, cb ) {
@ -31,8 +33,9 @@ function node( args, cb ) {
} }
// Run ESLint on all JavaScript files. // Run ESLint on all JavaScript files.
task( "lint", () => gulp task( "lint", () => pump(
.src( [
src( [
"**/.*rc.js", "**/.*rc.js",
"bin/*.js", "bin/*.js",
"lib/**/*.js", "lib/**/*.js",
@ -43,17 +46,20 @@ task( "lint", () => gulp
"test/server/run", "test/server/run",
"src/*.js", "src/*.js",
"gulpfile.js" "gulpfile.js"
] ) ] ),
.pipe( eslint( { dotfiles: true } ) ) eslint( { dotfiles: true } ),
.pipe( eslint.format() ) eslint.format(),
.pipe( eslint.failAfterError() ) eslint.failAfterError()
);
) );
// Run tests. // Run tests.
task( "test", () => gulp task( "test", () => pump(
.src( "test/spec/**/*.spec.js", { read: false } )
.pipe( mocha() ) src( "test/spec/**/*.spec.js", { read: false } ),
); mocha()
) );
// Run benchmarks. // Run benchmarks.
task( "benchmark", cb => { task( "benchmark", cb => {
@ -96,17 +102,21 @@ task( "build:browser", () => {
`; `;
return browserify( "lib/peg.js", options ) return pump(
.transform( babelify )
.bundle() browserify( "lib/peg.js", options )
.pipe( source( "peg.js" ) ) .transform( babelify )
.pipe( header( HEADER ) ) .bundle(),
.pipe( gulp.dest( "browser" ) ) stream( "peg.js" ),
.pipe( rename( options ) ) header( HEADER ),
.pipe( buffer() ) dest( "browser" ),
.pipe( uglify() ) rename( options ),
.pipe( header( HEADER ) ) buffer(),
.pipe( gulp.dest( "browser" ) ); uglify(),
header( HEADER ),
dest( "browser" )
);
} ); } );
@ -116,6 +126,4 @@ task( "clean", () =>
); );
// Default task. // Default task.
task( "default", cb => task( "default", series( "lint", "test" ) );
runSequence( "lint", "test", cb )
);

@ -46,7 +46,7 @@
"eslint-config-futagozaryuu": "4.17.x", "eslint-config-futagozaryuu": "4.17.x",
"express": "4.16.3", "express": "4.16.3",
"glob": "7.1.2", "glob": "7.1.2",
"gulp": "3.9.1", "gulp": "4.0.0",
"gulp-eslint": "4.0.2", "gulp-eslint": "4.0.2",
"gulp-header": "2.0.5", "gulp-header": "2.0.5",
"gulp-mocha": "5.0.0", "gulp-mocha": "5.0.0",
@ -54,7 +54,7 @@
"gulp-uglify": "3.0.0", "gulp-uglify": "3.0.0",
"morgan": "1.9.0", "morgan": "1.9.0",
"nyc": "11.6.0", "nyc": "11.6.0",
"run-sequence": "2.2.1", "pump": "3.0.0",
"sinon": "4.4.6", "sinon": "4.4.6",
"vinyl-buffer": "1.0.1", "vinyl-buffer": "1.0.1",
"vinyl-source-stream": "2.0.0" "vinyl-source-stream": "2.0.0"

Loading…
Cancel
Save