# Builds the frontend for production

cd "$(dirname "$0")/.."

cd homeassistant/components/frontend/www_static/home-assistant-polymer/home-assistant-js/
npm run prod
cd ..
npm run frontend_prod

cp bower_components/webcomponentsjs/webcomponents-lite.min.js ..
cp build/frontend.html ..
gzip build/frontend.html -c -k -9 > ../frontend.html.gz
cp build/_core_compiled.js ../core.js
gzip build/_core_compiled.js -c -k -9 > ../core.js.gz

node script/sw-precache.js
cp build/service_worker.js ..
gzip build/service_worker.js -c -k -9 > ../service_worker.js.gz

# 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 'CORE = "'`md5 -q www_static/core.js`'"' >> version.py
    echo 'UI = "'`md5 -q www_static/frontend.html`'"' >> version.py
elif [ $(command -v md5sum) ]; then
    echo 'CORE = "'`md5sum www_static/core.js | cut -c-32`'"' >> version.py
    echo 'UI = "'`md5sum www_static/frontend.html | cut -c-32`'"' >> version.py
else
    echo 'Could not find an MD5 utility'
fi
