mirror of
https://github.com/videojs/video.js.git
synced 2025-07-15 01:34:23 +02:00
chore: update rollup and uglify and the build process (#5096)
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.
This commit is contained in:
46
build/minify.js
Normal file
46
build/minify.js
Normal file
@ -0,0 +1,46 @@
|
||||
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');
|
Reference in New Issue
Block a user