1
0
mirror of https://github.com/videojs/video.js.git synced 2024-11-28 08:58:46 +02:00
video.js/build/minify.js
Gary Katsevman 97db94e8a6
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.
2018-04-19 13:23:53 -04:00

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');