#!/bin/sh -eu CMDD=$(dirname $(realpath 0)) w1="$(mktemp out_$$_1_XXXX.js)" elm make --optimize --output=${w1} $1 1>/dev/null w2="$(mktemp out_$$_XXXX.js)" cat ${CMDD}/dom.js >> ${w2} cat << EEE >> ${w2} try { EEE cat ${w1} >> ${w2} cat << EEE >> ${w2} Elm[Object.keys(Elm)[0]].init({ node: document.getElementById("elm") EEE flags=$(grep -c 'main = $elm$browser$Browser$element' ${w1} || true) if [ $flags -eq 1 ]; then cat << EEE >> ${w2}; , flags: std.in.readAsString() EEE fi cat << EEE >> ${w2} }); document.children[0].dump(); } catch(e) { throw e; } EEE rm ${w1} qjs --std ${w2} # if qjs fails, output file will stay for debugging, else rm ${w2}