diff --git a/.gitignore b/.gitignore
index 866eca9a7a..e9f2208381 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,6 @@
-build/*
-build-temp/*
-build-es5/*
-build-temp-es5/*
build-translations/*
-build-hassio/*
+hassio/build-es5/*
node_modules/*
-bower_components/*
npm-debug.log
.DS_Store
hass_frontend/*
diff --git a/.travis.yml b/.travis.yml
index 03eee93e5a..4b357440b7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,6 +7,7 @@ cache:
install: yarn install
script:
- npm run build
+ - hassio/script/build_hassio
- npm run test
# - xvfb-run wct --module-resolution=node --npm
# - 'if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then wct --module-resolution=node --npm --plugin sauce; fi'
diff --git a/gulp/tasks/hassio-panel.js b/gulp/tasks/hassio-panel.js
deleted file mode 100755
index a2c01b94b4..0000000000
--- a/gulp/tasks/hassio-panel.js
+++ /dev/null
@@ -1,59 +0,0 @@
-const del = require('del');
-const gulp = require('gulp');
-const rename = require('gulp-rename');
-const replace = require('gulp-batch-replace');
-const gzip = require('gulp-gzip');
-const path = require('path');
-const runSequence = require('run-sequence');
-
-const {
- stripImportsStrategy,
-} = require('../common/strategy');
-const minifyStream = require('../common/transform').minifyStream;
-const {
- bundledStreamFromHTML,
-} = require('../common/html');
-
-const OUTPUT_DIR = 'build-hassio/';
-
-const DEPS_TO_STRIP = [
- 'bower_components/font-roboto/roboto.html',
- 'bower_components/paper-styles/color.html',
-];
-
-const es5Extra = "";
-
-async function buildHassioPanel() {
- const stream = await bundledStreamFromHTML('hassio/hassio-app.html', {
- strategy: stripImportsStrategy(DEPS_TO_STRIP)
- });
-
- return minifyStream(stream, /* es6= */ false)
- .pipe(rename('hassio-app.html'))
- .pipe(gulp.dest(OUTPUT_DIR));
-}
-
-function copyHassioIndex() {
- return gulp.src('hassio/index.html')
- .pipe(replace([['', es5Extra]]))
- .pipe(gulp.dest(OUTPUT_DIR));
-}
-
-function gzipOutput() {
- return gulp.src(path.resolve(OUTPUT_DIR, '*.html'))
- .pipe(gzip({ skipGrowingFiles: true }))
- .pipe(gulp.dest(OUTPUT_DIR));
-}
-
-gulp.task('hassio-clean', () => del([OUTPUT_DIR]));
-gulp.task('hassio-panel-es5', buildHassioPanel);
-gulp.task('hassio-index-es5', copyHassioIndex);
-gulp.task('hassio-gzip-es5', gzipOutput);
-
-gulp.task('hassio-es5', () => runSequence.use(gulp)(
- 'hassio-clean',
- 'run_rollup',
- 'hassio-panel-es5',
- 'hassio-index-es5',
- 'hassio-gzip-es5',
-));
diff --git a/hassio/config.js b/hassio/config.js
new file mode 100644
index 0000000000..fbffc770d5
--- /dev/null
+++ b/hassio/config.js
@@ -0,0 +1,8 @@
+const path = require('path');
+
+module.exports = {
+ // Target directory for the build.
+ buildDir: path.resolve(__dirname, 'build-es5'),
+ // Path where the Hass.io frontend will be publicly available.
+ publicPath: '/api/hassio/app-es5'
+}
\ No newline at end of file
diff --git a/hassio/index.html b/hassio/index.html
index d5a816c12a..ebf68f9646 100644
--- a/hassio/index.html
+++ b/hassio/index.html
@@ -29,8 +29,7 @@
addScript('/static/webcomponents-bundle.js');
}
-
-
+