mirror of
https://github.com/home-assistant/frontend.git
synced 2025-06-25 19:46:36 +00:00
64 lines
1.8 KiB
Bash
Executable File
64 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
# Builds the frontend for production
|
|
|
|
# Stop on errors
|
|
set -e
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
OUTPUT_DIR=hass_frontend
|
|
OUTPUT_DIR_ES5=hass_frontend_es5
|
|
|
|
rm -rf $OUTPUT_DIR $OUTPUT_DIR_ES5
|
|
cp -r public $OUTPUT_DIR
|
|
mkdir $OUTPUT_DIR_ES5
|
|
cp -r public/__init__.py $OUTPUT_DIR_ES5/
|
|
|
|
# Build frontend
|
|
BUILD_DEV=0 ./node_modules/.bin/gulp
|
|
NODE_ENV=production webpack -p
|
|
BUILD_DEV=0 ./node_modules/.bin/gulp authorize authorize-es5
|
|
|
|
# Copy frontend to output
|
|
cp build/core.js $OUTPUT_DIR
|
|
cp build/webpack/* $OUTPUT_DIR
|
|
cp build-es5/core.js $OUTPUT_DIR_ES5
|
|
cp build-es5/webpack/* $OUTPUT_DIR_ES5
|
|
cp build-es5/compatibility.js $OUTPUT_DIR_ES5
|
|
|
|
# Translations
|
|
cp -r build-translations/output $OUTPUT_DIR/translations
|
|
|
|
# Local Roboto
|
|
cp -r node_modules/@polymer/font-roboto-local/fonts $OUTPUT_DIR
|
|
|
|
# Polyfill web components
|
|
cp node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js $OUTPUT_DIR
|
|
cp node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js $OUTPUT_DIR_ES5
|
|
|
|
# Icons
|
|
script/update_mdi.py
|
|
|
|
# Leaflet
|
|
mkdir $OUTPUT_DIR/images/leaflet
|
|
cp node_modules/leaflet/dist/leaflet.css $OUTPUT_DIR/images/leaflet
|
|
cp -r node_modules/leaflet/dist/images $OUTPUT_DIR/images/leaflet/
|
|
|
|
./node_modules/.bin/gulp compress
|
|
|
|
# Stub the service worker
|
|
touch build/service_worker.js
|
|
touch build-es5/service_worker.js
|
|
touch hass_frontend/service_worker.js
|
|
touch hass_frontend_es5/service_worker.js
|
|
|
|
# Generate the __init__ file
|
|
echo "VERSION = '`git rev-parse HEAD`'" >> $OUTPUT_DIR/__init__.py
|
|
echo "CREATED_AT = `date +%s`" >> $OUTPUT_DIR/__init__.py
|
|
echo "VERSION = '`git rev-parse HEAD`'" >> $OUTPUT_DIR_ES5/__init__.py
|
|
echo "CREATED_AT = `date +%s`" >> $OUTPUT_DIR_ES5/__init__.py
|
|
|
|
# Generate the MD5 hash of the new frontend
|
|
./node_modules/.bin/gulp gen-index-html
|
|
./node_modules/.bin/gulp gen-index-html-es5
|