aboutsummaryrefslogtreecommitdiffstats
path: root/gulpfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js39
1 files changed, 34 insertions, 5 deletions
diff --git a/gulpfile.js b/gulpfile.js
index 2623ebaf..66966617 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -1,7 +1,6 @@
// ==========================================================================
// Gulp build script
// ==========================================================================
-/* global require, __dirname */
/* eslint no-console: "off" */
const path = require('path');
@@ -41,6 +40,7 @@ const plumber = require('gulp-plumber');
const size = require('gulp-size');
const sourcemaps = require('gulp-sourcemaps');
const through = require('through2');
+const browserSync = require('browser-sync').create();
// ------------------------------------
// Deployment
// ------------------------------------
@@ -222,7 +222,13 @@ Object.entries(build.sprite).forEach(([filename, entry]) => {
gulp
.src(src)
.pipe(plumber())
- .pipe(imagemin())
+ .pipe(
+ imagemin([
+ imagemin.svgo({
+ plugins: [{ removeViewBox: false }],
+ }),
+ ]),
+ )
.pipe(svgstore())
.pipe(rename({ basename: path.parse(filename).name }))
.pipe(size(sizeOptions))
@@ -245,11 +251,23 @@ gulp.task('watch', () => {
gulp.watch(paths.demo.src.sass, gulp.parallel(...tasks.css));
});
+// Serve via browser sync
+gulp.task('serve', () =>
+ browserSync.init({
+ server: {
+ baseDir: paths.demo.root,
+ },
+ notify: false,
+ watch: true,
+ ghostMode: false,
+ }),
+);
+
// Build distribution
gulp.task('build', gulp.series(tasks.clean, gulp.parallel(...tasks.js, ...tasks.css, ...tasks.sprite)));
// Default gulp task
-gulp.task('default', gulp.series('build', 'watch'));
+gulp.task('default', gulp.series('build', gulp.parallel('serve', 'watch')));
// Publish a version to CDN and demo
// --------------------------------------------
@@ -276,7 +294,7 @@ const options = {
},
},
demo: {
- uploadPath: branch.current === branch.beta ? 'beta' : null,
+ uploadPath: branch.current === branch.beta ? '/beta' : null,
headers: {
'Cache-Control': 'no-cache, no-store, must-revalidate, max-age=0',
},
@@ -331,7 +349,10 @@ gulp.task('version', done => {
const files = ['plyr.js', 'plyr.polyfilled.js', 'config/defaults.js'];
return gulp
- .src(files.map(file => path.join(__dirname, `src/js/${file}`)), { base: '.' })
+ .src(
+ files.map(file => path.join(__dirname, `src/js/${file}`)),
+ { base: '.' },
+ )
.pipe(replace(semver, `v${version}`))
.pipe(replace(cdnpath, `${domain}/${version}/`))
.pipe(gulp.dest('./'));
@@ -440,6 +461,14 @@ gulp.task('demo', done => {
return gulp
.src(pages)
.pipe(replace(localPath, versionPath))
+ .pipe(
+ rename(p => {
+ if (options.demo.uploadPath) {
+ // eslint-disable-next-line no-param-reassign
+ p.dirname += options.demo.uploadPath;
+ }
+ }),
+ )
.pipe(publisher.publish(options.demo.headers))
.pipe(publish.reporter());
});