diff --git a/Dockerfile b/Dockerfile index 6132c62..5eb36ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,16 +8,16 @@ RUN GOBIN=/mi/bin go install ./cmd/... FROM xena/elm:0.19.1 AS elm RUN apk --no-cache add nodejs npm \ - && npm install -g elm-spa + && npm install -g elm-spa \ + && npm install -g uglify-js WORKDIR /mi COPY ./frontend . -RUN elm-spa build . \ - && elm make --output main.js src/Main.elm --optimize +RUN sh build.sh FROM xena/alpine COPY --from=go /mi/bin /usr/local/bin COPY ./run /run COPY --from=go /mi/static /mi/static -COPY --from=elm /mi/main.js /mi/static/main.js +COPY --from=elm /mi/main.min.js /mi/static/main.js WORKDIR /mi CMD ["/bin/sh", "/run/start.sh"] diff --git a/frontend/.gitignore b/frontend/.gitignore index 8bc31ae..5e85c4a 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -1,2 +1,3 @@ elm-stuff node_modules +*.js diff --git a/frontend/build.sh b/frontend/build.sh new file mode 100644 index 0000000..9f34e19 --- /dev/null +++ b/frontend/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +elm-spa build . +elm make --output main.js src/Main.elm --optimize + +uglifyjs main.js --compress 'pure_funcs="F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9",pure_getters,keep_fargs=false,unsafe_comps,unsafe' | uglifyjs --mangle --output=main.min.js