UNPKG

gulp-clearbuild

Version:
134 lines (92 loc) 4.43 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = clearbuild; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _gulpHelp = require('gulp-help'); var _gulpHelp2 = _interopRequireDefault(_gulpHelp); var _transformsBundlify = require('./transforms/bundlify'); var _transformsBundlify2 = _interopRequireDefault(_transformsBundlify); var _gulpSequence = require('gulp-sequence'); var _gulpSequence2 = _interopRequireDefault(_gulpSequence); var _gulpShell = require('gulp-shell'); var _gulpShell2 = _interopRequireDefault(_gulpShell); var _del = require('del'); var _del2 = _interopRequireDefault(_del); var _gulpSass = require('gulp-sass'); var _gulpSass2 = _interopRequireDefault(_gulpSass); var _gulpEslint = require('gulp-eslint'); var _gulpEslint2 = _interopRequireDefault(_gulpEslint); var _configEslintconfig = require('./config/eslintconfig'); var _configEslintconfig2 = _interopRequireDefault(_configEslintconfig); var _gulpCsslint = require('gulp-csslint'); var _gulpCsslint2 = _interopRequireDefault(_gulpCsslint); var _configCsslintconfig = require('./config/csslintconfig'); var _configCsslintconfig2 = _interopRequireDefault(_configCsslintconfig); var _processFinder = require('process-finder'); var _processFinder2 = _interopRequireDefault(_processFinder); var paths = { src: { html: './src/**/*.html', scripts: './src/**/*.js', stylesheets: ['./src/**/*.css', './src/**/*.scss', './src/**/*.sass'] }, html: './src/*.html', scripts: './src/*.js', stylesheets: ['./src/*.css', './src/*.scss', './src/*.sass'], dest: './build/' }; function clearbuild(_gulp) { var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; var _ref$lintCss = _ref.lintCss; var lintCss = _ref$lintCss === undefined ? false : _ref$lintCss; var gulp = (0, _gulpHelp2['default'])(_gulp); var sequence = _gulpSequence2['default'].use(gulp); gulp.task('default', 'Run the dev task.', ['dev']); // -- Live Development ---------- gulp.task('dev', 'Build and preview your experiment.', function () { return sequence(['lint:scripts', 'lint:stylesheets'], ['build:scripts', 'build:stylesheets'])(); }); gulp.task('npi', 'Start new NPI process.', function () { return sequence('npi:kill', 'npi:start')(); }); gulp.task('npi:start', 'Start NPI process.', _gulpShell2['default'].task('npi')); gulp.task('npi:kill', 'Kill NPI process.', function () { return _processFinder2['default'].find(8000, function (err, pids) { pids.forEach(function (pid) { _gulpShell2['default'].task('kill -9 ' + pid)(); }); }); }); gulp.task('watch', 'Rebuild when experiment files change.', function () { gulp.watch(paths.src.html, ['build']); gulp.watch(paths.src.scripts, ['build']); gulp.watch(paths.src.stylesheets, ['build']); }); // -- Build Experiment ---------- gulp.task('build', 'Build experiment scripts and stylesheets.', function () { return sequence('lint', 'build:clean', ['build:scripts', 'build:stylesheets'])(); }); gulp.task('build:clean', 'Clean build.', function (cb) { return (0, _del2['default'])(paths.dest, cb); }); gulp.task('build:scripts', 'Transpile and browserify scripts.', function () { return gulp.src(paths.scripts).pipe((0, _transformsBundlify2['default'])()).pipe(gulp.dest(paths.dest)); }); gulp.task('build:stylesheets', 'Compile stylesheets.', function () { return gulp.src(paths.stylesheets).pipe((0, _gulpSass2['default'])().on('error', _gulpSass2['default'].logError)).pipe(gulp.dest(paths.dest)); }); // -- Lint Experiment ---------- gulp.task('lint', 'Lint scripts and stylesheets', ['lint:scripts', 'lint:stylesheets']); gulp.task('lint:scripts', 'Lint scripts.', function () { return gulp.src(paths.scripts).pipe((0, _gulpEslint2['default'])(_configEslintconfig2['default'])).pipe(_gulpEslint2['default'].format()); }); gulp.task('lint:stylesheets', 'Compile and lint stylesheets.', function () { var task = gulp.src(paths.stylesheets).pipe((0, _gulpSass2['default'])().on('error', _gulpSass2['default'].logError)).pipe((0, _gulpCsslint2['default'])(_configCsslintconfig2['default'])); if (lintCss) { task.pipe(_gulpCsslint2['default'].reporter()); } }); } module.exports = exports['default'];