1
0
mirror of https://github.com/home-assistant/frontend.git synced 2025-12-24 12:49:19 +00:00

Support serving ES6 JS to clients (#596)

* Support serving ES6 JS to clients

* Make es6 default dir and es5 a special dir

* Fix package building

* Fix build_frontend script
This commit is contained in:
Andrey
2017-11-10 19:05:37 +02:00
committed by Paulus Schoutsen
parent 86128d54b4
commit 583abedd34
19 changed files with 295 additions and 121 deletions

View File

@@ -1,27 +1,33 @@
const gulpif = require('gulp-if');
const uglifyjs = require('uglify-js');
const uglifyes = require('uglify-es');
const babel = require('gulp-babel');
const uglify = require('gulp-uglify');
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) {
module.exports.minifyStream = function (stream, es6) {
const sourcesHtmlSplitter = new HtmlSplitter();
return stream
.pipe(sourcesHtmlSplitter.split())
.pipe(gulpif(/[^app]\.js$/, babel({
return pump([
stream,
sourcesHtmlSplitter.split(),
gulpif(!es6, gulpif(/[^app]\.js$/, babel({
sourceType: 'script',
presets: [
['es2015', { modules: false }]
]
})))
.pipe(gulpif(/\.js$/, uglify({ sourceMap: false })))
.pipe(gulpif(/\.css$/, cssSlam()))
.pipe(gulpif(/\.html$/, cssSlam()))
.pipe(gulpif(/\.html$/, htmlMinifier({
}))),
gulpif(/\.js$/, composer(es6 ? uglifyes : uglifyjs, console)({ sourceMap: false })),
gulpif(/\.css$/, cssSlam()),
gulpif(/\.html$/, cssSlam()),
gulpif(/\.html$/, htmlMinifier({
collapseWhitespace: true,
removeComments: true
})))
.pipe(sourcesHtmlSplitter.rejoin());
})),
sourcesHtmlSplitter.rejoin(),
], (error) => {
if (error) console.log(error);
});
};