mirror of
https://github.com/home-assistant/frontend.git
synced 2025-06-22 01:56:33 +00:00

* Support serving ES6 JS to clients * Make es6 default dir and es5 a special dir * Fix package building * Fix build_frontend script
34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
const gulpif = require('gulp-if');
|
|
const uglifyjs = require('uglify-js');
|
|
const uglifyes = require('uglify-es');
|
|
const babel = require('gulp-babel');
|
|
const composer = require('gulp-uglify/composer');
|
|
const { gulp: cssSlam } = require('css-slam');
|
|
const htmlMinifier = require('gulp-html-minifier');
|
|
const { HtmlSplitter } = require('polymer-build');
|
|
const pump = require('pump');
|
|
|
|
module.exports.minifyStream = function (stream, es6) {
|
|
const sourcesHtmlSplitter = new HtmlSplitter();
|
|
return pump([
|
|
stream,
|
|
sourcesHtmlSplitter.split(),
|
|
gulpif(!es6, gulpif(/[^app]\.js$/, babel({
|
|
sourceType: 'script',
|
|
presets: [
|
|
['es2015', { modules: false }]
|
|
]
|
|
}))),
|
|
gulpif(/\.js$/, composer(es6 ? uglifyes : uglifyjs, console)({ sourceMap: false })),
|
|
gulpif(/\.css$/, cssSlam()),
|
|
gulpif(/\.html$/, cssSlam()),
|
|
gulpif(/\.html$/, htmlMinifier({
|
|
collapseWhitespace: true,
|
|
removeComments: true
|
|
})),
|
|
sourcesHtmlSplitter.rejoin(),
|
|
], (error) => {
|
|
if (error) console.log(error);
|
|
});
|
|
};
|