/// The browser sync prototyping gulp.task('bsync', () => { // Syncs browser browserSync.init({ server: { baseDir: './' }, open: true, startPath: "./test/html/test-all.html", // Makes it easier to test on external mobile devices host: "0.0.0.0", tunnel: true }); // Detect change -> rebuild TS gulp.watch(['src/**.js'], gulp.series('minify')); });
//////////////////////////////////////////////////////////////////////////////// // Watch task //////////////////////////////////////////////////////////////////////////////// function watch() { gulp.watch(scssInput, gulp.series(scss)) .on('change', function(path) { console.log(`File ${path} was changed, running tasks...`); }); }
gulp.task('compile-assets', gulp.series('copy-assets', 'compile-js', 'process-htmls', function () { return gulp.src(Settings.js.static + '/' + Settings.js.outputFile) .pipe(uglify()) .pipe(rename(Settings.js.outputFile)) .pipe(gulp.dest(Settings.js.output)); }));
gulp.task('watch', done => { gulp.watch(config.src.fonts, gulp.series('fonts')) gulp.watch(config.src.icons, gulp.series('icons')) gulp.watch(config.src.images, gulp.series('images')) gulp.watch(config.src.scripts + '/**/*', gulp.series('scripts')) gulp.watch(config.src.styles + '/**/*', gulp.series('styles')) SHOPIFY_FOLDERS.forEach(createShopifyWatchTask) done() })
gulp.task('build-indexeddb-istanbul', gulp.series('build-istanbul', function () { return gulp.src(INDEXEDDB_SOURCES.map(f => f.indexOf('./src/main') === 0 ? `./.istanbul/${f}` : f), { base: 'src' }) .pipe(sourcemaps.init({ loadMaps: true })) .pipe(concat('indexeddb-istanbul.js')) //.pipe(uglify(uglify_config)) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('dist')); }));
gulp.task('clean', gulp.series(function clean () { return del([ 'coverage', 'docs-dist', 'test-dist' ]); }));
gulp.task('client:watch', function() { gulp.watch('client/*.html', gulp.series(['client:inject'], reload)); gulp.watch('client/app/**/*.html', gulp.series(['client:template', 'client:inject'], reload)); gulp.watch('client/app/**/*.js', gulp.series(['client:lint-dev', 'client:inject'], reload)); gulp.watch('client/**/*.css', reload); gulp.watch('client/i18n/*.json', reload); });
gulp.task('build-lmdb-istanbul', gulp.series('build-istanbul', function () { return gulp.src(LMDB_SOURCES.map(f => f.indexOf('./src/main') === 0 ? `./.istanbul/${f}` : f)) .pipe(sourcemaps.init()) .pipe(concat('lmdb-istanbul.js')) .pipe(uglify(uglify_config)) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('dist')); }));
gulp.task('test', gulp.series('testbuild', () => gulp.src('testbin/test/**/*.spec.js') .pipe(plumber({ errorHandler: () => {}, })) .pipe(jasmine({ reporter: new JasmineConsoleReporter({ colors: true, }), })) ));
gulp.task('lint', gulp.series(function lint () { return gulp.src(['./lib/**/*.js', './test/**/*.js', 'gulpfile.js']) .pipe(plugins.eslint()) .pipe(plugins.eslint.format()) .pipe(plugins.eslint.failAfterError()); }));
gulp.task( 'watch', gulp.series('build', () => { watch(scripts, { debounceDelay: 200 }, () => { gulp.start('build'); }); }) );
gulp.task('minify', gulp.series('compile', function() { return gulp.src(['./public/css/dist.css']) .pipe(minify()) .pipe($.size()) .pipe($.concat('dist.min.css')) .pipe(gulp.dest('./public/css/')); }));
//gulp.task('css-build', ['css-base64'], function(){ gulp.task('css-build', gulp.series('css-base64', function(){ return gulp.src(cssFiles) .pipe(gp_sourcemaps.init()) .pipe(concatCSS('sws.min.css', {rebaseUrls: false})) .pipe(cleanCSS()) .pipe(gp_sourcemaps.write('../maps')) .pipe(gulp.dest('dist/css/')); }));
/** * Grabs all the files in /src/server and puts them in /bin/server after running babel on them, * this depends on the client already being built, so 'build-client' is run first */ gulp.task('build-server', gulp.series('build-client', function () { return gulp.src(['src/server/**/*.*', 'src/server/**/*.js']) .pipe(babel()) .pipe(gulp.dest('bin/server/')); }));
// TODO broken babel reference gulp.task('dist', gulp.series('clean', function dist () { return gulp.src('lib/**/*.js') .pipe(plugins.babel(babelConfig)) .pipe(gulp.dest('dist')); }));