core/scripts/build_frontend
2015-05-28 01:08:50 -07:00

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-lite.min.js .
# Prevent vulcanize choking on a url starting with //
sed -i.bak 's/"\/\/fonts/"https:\/\/fonts/' polymer/bower_components/paper-styles/typography.html
vulcanize --inline-css --inline-scripts --strip-comments polymer/home-assistant.html > frontend.html
# Revert back the change to the paper-styles component
rm polymer/bower_components/paper-styles/typography.html
mv polymer/bower_components/paper-styles/typography.html.bak polymer/bower_components/paper-styles/typography.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