From 3ff9fe104154f17c77749424d72ded636b585fcb Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Wed, 15 Nov 2017 21:05:52 -0500 Subject: [PATCH] Build ES5/ES6 in parallel to share gulp deps (#615) * Build ES5/ES6 in parallel to share gulp deps * Rollup es5 files into build-temp-es5 * Use correct ES5 path for compatibility.js --- .gitignore | 1 + gulp/tasks/build.js | 4 +++- gulp/tasks/clean.js | 2 +- gulp/tasks/default.js | 1 - gulp/tasks/gen-index-html.js | 2 +- gulp/tasks/hassio-panel.js | 4 ++-- gulp/tasks/rollup.js | 6 +++--- index.html | 2 +- package.json | 2 +- 9 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index bda2872220..efe387af34 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ build/* build-temp/* build-es5/* +build-temp-es5/* build-translations/* node_modules/* bower_components/* diff --git a/gulp/tasks/build.js b/gulp/tasks/build.js index 3e606d47db..d9ddef0a33 100644 --- a/gulp/tasks/build.js +++ b/gulp/tasks/build.js @@ -59,4 +59,6 @@ function build(es6) { .pipe(gulp.dest(es6 ? 'build' : 'build-es5')); } gulp.task('build_es5', ['ru_all_es5', 'build-translations'], () => build(/* es6= */ false)); -gulp.task('build', ['ru_all', 'build-translations'], () => build(/* es6= */ true)); +gulp.task('build_es6', ['ru_all', 'build-translations'], () => build(/* es6= */ true)); + +gulp.task('build', ['build_es5', 'build_es6']); diff --git a/gulp/tasks/clean.js b/gulp/tasks/clean.js index b964db9fac..99a9c9ac97 100644 --- a/gulp/tasks/clean.js +++ b/gulp/tasks/clean.js @@ -1,4 +1,4 @@ const del = require('del'); const gulp = require('gulp'); -gulp.task('clean', () => del(['build-es5', 'build', 'build-temp', 'build-translations'])); +gulp.task('clean', () => del(['build-es5', 'build', 'build-temp-es5', 'build-temp', 'build-translations'])); diff --git a/gulp/tasks/default.js b/gulp/tasks/default.js index 4e96500765..59bc5b7a20 100644 --- a/gulp/tasks/default.js +++ b/gulp/tasks/default.js @@ -3,6 +3,5 @@ const runSequence = require('run-sequence'); gulp.task('default', () => runSequence.use(gulp)( 'clean', - 'build_es5', 'build', )); diff --git a/gulp/tasks/gen-index-html.js b/gulp/tasks/gen-index-html.js index 36411fceca..d1b89162fe 100644 --- a/gulp/tasks/gen-index-html.js +++ b/gulp/tasks/gen-index-html.js @@ -17,7 +17,7 @@ function generateIndex(es6) { const toReplace = [ ['/home-assistant-polymer/hass_frontend/mdi.html', `/static/mdi-${md5(path.resolve(config.output, 'mdi.html'))}.html`], - ['/home-assistant-polymer/build-temp/compatibility.js', + ['/home-assistant-polymer/build-temp-es5/compatibility.js', `/static/compatibility-${md5(path.resolve(config.output_es5, 'compatibility.js'))}.js`], ]; diff --git a/gulp/tasks/hassio-panel.js b/gulp/tasks/hassio-panel.js index 4a2c4cdd6d..2a5517a105 100755 --- a/gulp/tasks/hassio-panel.js +++ b/gulp/tasks/hassio-panel.js @@ -37,8 +37,8 @@ async function buildHassioPanel(es6) { }); return minifyStream(stream, es6) - .pipe(rename(`hassio-main-${es6 ? 'latest' : 'es5'}.html`)) - .pipe(gulp.dest('build-temp')); + .pipe(rename('hassio-main.html')) + .pipe(gulp.dest(es6 ? 'build-temp' : 'build-temp-es5')); } gulp.task('hassio-panel-es5', buildHassioPanel.bind(null, /* es6= */ false)); diff --git a/gulp/tasks/rollup.js b/gulp/tasks/rollup.js index c6e9c4d2cc..57cd455972 100644 --- a/gulp/tasks/rollup.js +++ b/gulp/tasks/rollup.js @@ -11,7 +11,7 @@ gulp.task('run_rollup_es5', () => gulp.src([ 'demo_data/demo_data.js', ]) .pipe(rollupEach(rollupConfig, rollupConfig)) - .pipe(gulp.dest('build-temp'))); + .pipe(gulp.dest('build-temp-es5'))); gulp.task('run_rollup', () => gulp.src([ 'js/core.js', @@ -24,8 +24,8 @@ gulp.task('run_rollup', () => gulp.src([ gulp.task('ru_all_es5', ['run_rollup_es5'], () => { gulp.src([ - 'build-temp/core.js', - 'build-temp/compatibility.js', + 'build-temp-es5/core.js', + 'build-temp-es5/compatibility.js', ]) .pipe(gulp.dest('build-es5/')); }); diff --git a/index.html b/index.html index 4546133dc3..74efb35a89 100644 --- a/index.html +++ b/index.html @@ -83,7 +83,7 @@ if (compatibilityRequired) { var e = document.createElement('script'); e.onerror = initError; - e.src = '/home-assistant-polymer/build-temp/compatibility.js'; + e.src = '/home-assistant-polymer/build-temp-es5/compatibility.js'; document.head.appendChild(e); } diff --git a/package.json b/package.json index 165316cc14..befb354703 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "https://github.com/home-assistant/home-assistant-polymer" }, "scripts": { - "clean": "rm -rf build/* build-temp/* build-es5/* build-translations/*", + "clean": "rm -rf build/* build-temp/* build-es5/* build-temp-es5/* build-translations/*", "gulp": "gulp", "build": "BUILD_DEV=0 gulp", "build_demo": "BUILD_DEV=0 BUILD_DEMO=1 gulp",