39 lines
1.3 KiB
Plaintext
Executable File
39 lines
1.3 KiB
Plaintext
Executable File
# Builds the frontend for production
|
|
# Call 'build_frontend demo' to build a demo frontend.
|
|
|
|
# If current pwd is scripts, go 1 up.
|
|
if [ ${PWD##*/} == "scripts" ]; then
|
|
cd ..
|
|
fi
|
|
|
|
scripts/build_js $1
|
|
|
|
# To build the frontend, you need node, bower and vulcanize
|
|
# npm install -g bower vulcanize
|
|
|
|
# Install dependencies
|
|
cd homeassistant/components/frontend/www_static/polymer
|
|
bower install
|
|
cd ..
|
|
cp polymer/bower_components/webcomponentsjs/webcomponents.min.js .
|
|
|
|
# Let Polymer refer to the minified JS version before we compile
|
|
sed -i.bak 's/polymer\.js/polymer\.min\.js/' polymer/bower_components/polymer/polymer.html
|
|
|
|
vulcanize -o frontend.html --inline --strip polymer/home-assistant.html
|
|
|
|
# Revert back the change to the Polymer component
|
|
rm polymer/bower_components/polymer/polymer.html
|
|
mv polymer/bower_components/polymer/polymer.html.bak polymer/bower_components/polymer/polymer.html
|
|
|
|
# Generate the MD5 hash of the new frontend
|
|
cd ..
|
|
echo '""" DO NOT MODIFY. Auto-generated by build_frontend script """' > version.py
|
|
if [ $(command -v md5) ]; then
|
|
echo 'VERSION = "'`md5 -q www_static/frontend.html`'"' >> version.py
|
|
elif [ $(command -v md5sum) ]; then
|
|
echo 'VERSION = "'`md5sum www_static/frontend.html | cut -c-32`'"' >> version.py
|
|
else
|
|
echo 'Could not find an MD5 utility'
|
|
fi
|