mirror of
https://github.com/videojs/video.js.git
synced 2024-12-14 11:23:30 +02:00
97db94e8a6
This is upgrades rollup and uglify to latest versions. It also rewrites the rollup config to take advantage of the newest features of rollup. Minification is also split up into a separate process, mostly to speed up the build. The total build type can go down from about 2.5 minutes to around 1 minute for all the generated javascript files.
47 lines
1.0 KiB
JavaScript
47 lines
1.0 KiB
JavaScript
import fs from 'fs';
|
|
import uglify from 'uglify-js';
|
|
import maxmin from 'maxmin';
|
|
|
|
const options = {
|
|
nameCache: {},
|
|
output: {
|
|
comments: 'some'
|
|
},
|
|
mangle: true,
|
|
compress: {
|
|
sequences: true,
|
|
dead_code: true,
|
|
conditionals: true,
|
|
booleans: true,
|
|
unused: true,
|
|
if_return: true,
|
|
join_vars: true,
|
|
drop_console: true,
|
|
typeofs: false
|
|
}
|
|
};
|
|
|
|
const minify = (file, dest) => {
|
|
const code = fs.readFileSync(file, 'utf8');
|
|
const minified = uglify.minify(code, options);
|
|
|
|
if (minified.error) {
|
|
console.error(minified.error);
|
|
return;
|
|
}
|
|
|
|
if (minified.warnings) {
|
|
console.warn(minified.warnings);
|
|
}
|
|
|
|
fs.writeFileSync(dest, minified.code, 'utf8');
|
|
console.log('File', dest, 'created:', maxmin(code, minified.code, true));
|
|
};
|
|
|
|
console.log('Minifying files\n');
|
|
|
|
minify('dist/video.js', 'dist/video.min.js');
|
|
minify('dist/alt/video.novtt.js', 'dist/alt/video.novtt.min.js');
|
|
minify('dist/alt/video.core.js', 'dist/alt/video.core.min.js');
|
|
minify('dist/alt/video.core.novtt.js', 'dist/alt/video.core.novtt.min.js');
|