From 1cd242ba5750857674538f02e2747bb8413da65f Mon Sep 17 00:00:00 2001 From: Naoyuki Kanezawa Date: Mon, 13 Feb 2017 01:32:45 +0900 Subject: [PATCH] remove gulpfile.js (#1092) --- gulpfile.js | 232 --------------------------------------------- lib/eval-script.js | 2 +- 2 files changed, 1 insertion(+), 233 deletions(-) delete mode 100644 gulpfile.js diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 9f699291..00000000 --- a/gulpfile.js +++ /dev/null @@ -1,232 +0,0 @@ -const fs = require('fs') -const gulp = require('gulp') -const babel = require('gulp-babel') -const cache = require('gulp-cached') -const notify_ = require('gulp-notify') -const benchmark = require('gulp-benchmark') -const sequence = require('run-sequence') -const webpack = require('webpack') -const webpackStream = require('webpack-stream') -const del = require('del') -const childProcess = require('child_process') - -const isWindows = /^win/.test(process.platform) -const babelOptions = JSON.parse(fs.readFileSync('.babelrc', 'utf-8')) - -gulp.task('compile', [ - 'compile-bin', - 'compile-lib', - 'compile-server', - 'compile-client', - 'remove-strict-mode' -]) - -gulp.task('compile-bin', () => { - return gulp.src('bin/*') - .pipe(cache('bin')) - .pipe(babel(babelOptions)) - .pipe(gulp.dest('dist/bin')) - .pipe(notify('Compiled binaries')) -}) - -gulp.task('compile-lib', () => { - return gulp.src('lib/**/*.js') - .pipe(cache('lib')) - .pipe(babel(babelOptions)) - .pipe(gulp.dest('dist/lib')) - .pipe(notify('Compiled lib files')) -}) - -gulp.task('compile-server', () => { - return gulp.src('server/**/*.js') - .pipe(cache('server')) - .pipe(babel(babelOptions)) - .pipe(gulp.dest('dist/server')) - .pipe(notify('Compiled server files')) -}) - -gulp.task('compile-client', () => { - return gulp.src('client/**/*.js') - .pipe(cache('client')) - .pipe(babel(babelOptions)) - .pipe(gulp.dest('dist/client')) - .pipe(notify('Compiled client files')) -}) - -gulp.task('remove-strict-mode', ['compile-lib'], () => { - return gulp.src('dist/lib/eval-script.js') - .pipe(babel({ - babelrc: false, - plugins: ['babel-plugin-transform-remove-strict-mode'] - })) - .pipe(gulp.dest('dist/lib')) - .pipe(notify('Completed removing strict mode for eval script')) -}) - -gulp.task('copy', ['copy-pages']) - -gulp.task('copy-pages', () => { - return gulp.src('pages/**/*.js') - .pipe(gulp.dest('dist/pages')) -}) - -gulp.task('compile-bench', () => { - return gulp.src('bench/*.js') - .pipe(cache('bench')) - .pipe(babel(babelOptions)) - .pipe(gulp.dest('dist/bench')) - .pipe(notify('Compiled bench files')) -}) - -gulp.task('copy-bench-fixtures', () => { - return gulp.src('bench/fixtures/**/*') - .pipe(gulp.dest('dist/bench/fixtures')) -}) - -gulp.task('build', [ - 'build-prefetcher' -]) - -gulp.task('build-prefetcher', ['compile-lib', 'compile-client'], () => { - return gulp - .src('client/next-prefetcher.js') - .pipe(webpackStream({ - output: { filename: 'next-prefetcher-bundle.js' }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: JSON.stringify('production') - } - }) - ], - module: { - rules: [ - { - test: /\.js$/, - exclude: /node_modules/, - loader: 'babel-loader', - options: { - babelrc: false, - presets: [ - ['env', { - targets: { - // All browsers which supports service workers - browsers: ['chrome 49', 'firefox 49', 'opera 41'] - } - }] - ] - } - } - ] - } - }, webpack)) - .pipe(gulp.dest('dist/client')) - .pipe(notify('Built release prefetcher')) -}) - -gulp.task('bench', ['compile', 'copy', 'compile-bench', 'copy-bench-fixtures'], () => { - return gulp.src('dist/bench/*.js', {read: false}) - .pipe(benchmark({ - reporters: benchmark.reporters.etalon('RegExp#test') - })) -}) - -gulp.task('watch', [ - 'watch-bin', - 'watch-lib', - 'watch-server', - 'watch-client', - 'watch-pages' -]) - -gulp.task('watch-bin', () => { - return gulp.watch('bin/*', [ - 'compile-bin' - ]) -}) - -gulp.task('watch-lib', () => { - return gulp.watch('lib/**/*.js', [ - 'compile-lib', - 'build' - ]) -}) - -gulp.task('watch-server', () => { - return gulp.watch('server/**/*.js', [ - 'compile-server' - ]) -}) - -gulp.task('watch-client', () => { - return gulp.watch('client/**/*.js', [ - 'compile-client', - 'build' - ]) -}) - -gulp.task('watch-pages', () => { - return gulp.watch('pages/**/*.js', [ - 'copy-pages' - ]) -}) - -gulp.task('clean', () => { - return del('dist') -}) - -gulp.task('default', [ - 'compile', - 'build', - 'copy', - 'watch' -]) - -gulp.task('release', (cb) => { - sequence('clean', [ - 'compile', - 'build', - 'copy', - ], cb) -}) - -// We run following task inside a NPM script chain and it runs chromedriver -// inside a child process tree. -// Even though we kill this task's process, chromedriver exists throughout -// the lifetime of the original npm script. - -gulp.task('start-chromedriver', ['stop-chromedriver'], (cb) => { - const processName = isWindows? 'chromedriver.cmd' : 'chromedriver' - const chromedriver = childProcess.spawn(processName, { stdio: 'inherit' }) - - const timeoutHandler = setTimeout(() => { - // We need to do this, otherwise this task's process will keep waiting. - process.exit(0) - }, 2000) -}) - -gulp.task('stop-chromedriver', () => { - try { - if (isWindows) { - childProcess.execSync('taskkill /im chromedriver* /t /f', { stdio: 'ignore' }) - } else { - childProcess.execSync('pkill chromedriver', { stdio: 'ignore' }) - } - } catch(ex) { - // Do nothing - } -}) - -// avoid logging to the console -// that we created a notification -notify_.logLevel(0) - -// notification helper -function notify (msg) { - return notify_({ - title: '▲ Next', - message: msg, - icon: false, - onLast: true - }) -} diff --git a/lib/eval-script.js b/lib/eval-script.js index 5fe282d3..031d53e4 100644 --- a/lib/eval-script.js +++ b/lib/eval-script.js @@ -6,7 +6,7 @@ * Otherwise, modules like `d3` get `eval`d and forced into * `use strict` where they don't work (at least in current versions) * - * To see the compilation details, look at `gulpfile.js` and the + * To see the compilation details, look at `flyfile.js` and the * usage of `babel-plugin-transform-remove-strict-mode`. */