Gulp tweaks

This commit is contained in:
Sam Potts 2019-06-02 23:16:45 +10:00
parent ac88e6e190
commit 1890a9378d
3 changed files with 18 additions and 15 deletions

2
.gitignore vendored
View File

@ -3,9 +3,7 @@ node_modules
credentials.json credentials.json
*.mp4 *.mp4
!dist/blank.mp4 !dist/blank.mp4
index-*.html
npm-debug.log npm-debug.log
yarn-error.log yarn-error.log
package-lock.json
*.webm *.webm
.idea/ .idea/

View File

@ -10,13 +10,15 @@
"src": "./src/js/plyr.polyfilled.js", "src": "./src/js/plyr.polyfilled.js",
"dist": "./dist/", "dist": "./dist/",
"formats": ["es", "umd"], "formats": ["es", "umd"],
"namespace": "Plyr" "namespace": "Plyr",
"polyfill": true
}, },
"demo.js": { "demo.js": {
"src": "./demo/src/js/demo.js", "src": "./demo/src/js/demo.js",
"dist": "./demo/dist/", "dist": "./demo/dist/",
"formats": ["iife"], "formats": ["iife"],
"namespace": "Demo" "namespace": "Demo",
"polyfill": true
} }
}, },
"css": { "css": {

View File

@ -133,15 +133,16 @@ gulp.task(tasks.clean, done => {
// JavaScript // JavaScript
Object.entries(build.js).forEach(([filename, entry]) => { Object.entries(build.js).forEach(([filename, entry]) => {
entry.formats.forEach(format => { const { dist, formats, namespace, polyfill, src } = entry;
formats.forEach(format => {
const name = `js:${filename}:${format}`; const name = `js:${filename}:${format}`;
tasks.js.push(name);
const polyfill = filename.includes('polyfilled');
const extension = format === 'es' ? 'mjs' : 'js'; const extension = format === 'es' ? 'mjs' : 'js';
tasks.js.push(name);
gulp.task(name, () => gulp.task(name, () =>
gulp gulp
.src(entry.src) .src(src)
.pipe(plumber()) .pipe(plumber())
.pipe(sourcemaps.init()) .pipe(sourcemaps.init())
.pipe( .pipe(
@ -167,7 +168,7 @@ Object.entries(build.js).forEach(([filename, entry]) => {
], ],
}, },
{ {
name: entry.namespace, name: namespace,
format, format,
}, },
), ),
@ -178,25 +179,26 @@ Object.entries(build.js).forEach(([filename, entry]) => {
extname: `.${extension}`, extname: `.${extension}`,
}), }),
) )
.pipe(gulp.dest(entry.dist)) .pipe(gulp.dest(dist))
.pipe(filter(`**/*.${extension}`)) .pipe(filter(`**/*.${extension}`))
.pipe(terser()) .pipe(terser())
.pipe(rename({ suffix: minSuffix })) .pipe(rename({ suffix: minSuffix }))
.pipe(size(sizeOptions)) .pipe(size(sizeOptions))
.pipe(sourcemaps.write('')) .pipe(sourcemaps.write(''))
.pipe(gulp.dest(entry.dist)), .pipe(gulp.dest(dist)),
); );
}); });
}); });
// CSS // CSS
Object.entries(build.css).forEach(([filename, entry]) => { Object.entries(build.css).forEach(([filename, entry]) => {
const { dist, src } = entry;
const name = `css:${filename}`; const name = `css:${filename}`;
tasks.css.push(name); tasks.css.push(name);
gulp.task(name, () => gulp.task(name, () =>
gulp gulp
.src(entry.src) .src(src)
.pipe(plumber()) .pipe(plumber())
.pipe(sass()) .pipe(sass())
.pipe( .pipe(
@ -206,24 +208,25 @@ Object.entries(build.css).forEach(([filename, entry]) => {
) )
.pipe(clean()) .pipe(clean())
.pipe(size(sizeOptions)) .pipe(size(sizeOptions))
.pipe(gulp.dest(entry.dist)), .pipe(gulp.dest(dist)),
); );
}); });
// SVG Sprites // SVG Sprites
Object.entries(build.sprite).forEach(([filename, entry]) => { Object.entries(build.sprite).forEach(([filename, entry]) => {
const { dist, src } = entry;
const name = `sprite:${filename}`; const name = `sprite:${filename}`;
tasks.sprite.push(name); tasks.sprite.push(name);
gulp.task(name, () => gulp.task(name, () =>
gulp gulp
.src(entry.src) .src(src)
.pipe(plumber()) .pipe(plumber())
.pipe(imagemin()) .pipe(imagemin())
.pipe(svgstore()) .pipe(svgstore())
.pipe(rename({ basename: path.parse(filename).name })) .pipe(rename({ basename: path.parse(filename).name }))
.pipe(size(sizeOptions)) .pipe(size(sizeOptions))
.pipe(gulp.dest(entry.dist)), .pipe(gulp.dest(dist)),
); );
}); });