diff --git a/.gitignore b/.gitignore index 878292b0..5f803099 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,7 @@ node_modules credentials.json *.mp4 !dist/blank.mp4 -index-*.html npm-debug.log yarn-error.log -package-lock.json *.webm .idea/ diff --git a/build.json b/build.json index 462649e3..f50bb6bb 100644 --- a/build.json +++ b/build.json @@ -10,13 +10,15 @@ "src": "./src/js/plyr.polyfilled.js", "dist": "./dist/", "formats": ["es", "umd"], - "namespace": "Plyr" + "namespace": "Plyr", + "polyfill": true }, "demo.js": { "src": "./demo/src/js/demo.js", "dist": "./demo/dist/", "formats": ["iife"], - "namespace": "Demo" + "namespace": "Demo", + "polyfill": true } }, "css": { diff --git a/gulpfile.js b/gulpfile.js index e565c5c0..2623ebaf 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -133,15 +133,16 @@ gulp.task(tasks.clean, done => { // JavaScript 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}`; - tasks.js.push(name); - const polyfill = filename.includes('polyfilled'); const extension = format === 'es' ? 'mjs' : 'js'; + tasks.js.push(name); gulp.task(name, () => gulp - .src(entry.src) + .src(src) .pipe(plumber()) .pipe(sourcemaps.init()) .pipe( @@ -167,7 +168,7 @@ Object.entries(build.js).forEach(([filename, entry]) => { ], }, { - name: entry.namespace, + name: namespace, format, }, ), @@ -178,25 +179,26 @@ Object.entries(build.js).forEach(([filename, entry]) => { extname: `.${extension}`, }), ) - .pipe(gulp.dest(entry.dist)) + .pipe(gulp.dest(dist)) .pipe(filter(`**/*.${extension}`)) .pipe(terser()) .pipe(rename({ suffix: minSuffix })) .pipe(size(sizeOptions)) .pipe(sourcemaps.write('')) - .pipe(gulp.dest(entry.dist)), + .pipe(gulp.dest(dist)), ); }); }); // CSS Object.entries(build.css).forEach(([filename, entry]) => { + const { dist, src } = entry; const name = `css:${filename}`; tasks.css.push(name); gulp.task(name, () => gulp - .src(entry.src) + .src(src) .pipe(plumber()) .pipe(sass()) .pipe( @@ -206,24 +208,25 @@ Object.entries(build.css).forEach(([filename, entry]) => { ) .pipe(clean()) .pipe(size(sizeOptions)) - .pipe(gulp.dest(entry.dist)), + .pipe(gulp.dest(dist)), ); }); // SVG Sprites Object.entries(build.sprite).forEach(([filename, entry]) => { + const { dist, src } = entry; const name = `sprite:${filename}`; tasks.sprite.push(name); gulp.task(name, () => gulp - .src(entry.src) + .src(src) .pipe(plumber()) .pipe(imagemin()) .pipe(svgstore()) .pipe(rename({ basename: path.parse(filename).name })) .pipe(size(sizeOptions)) - .pipe(gulp.dest(entry.dist)), + .pipe(gulp.dest(dist)), ); });