diff --git a/docker/dev/vite/Dockerfile b/docker/dev/vite/Dockerfile index 1923b26..171d30b 100644 --- a/docker/dev/vite/Dockerfile +++ b/docker/dev/vite/Dockerfile @@ -3,9 +3,9 @@ FROM node:lts-alpine WORKDIR /usr/src/frontend COPY ./frontend/package.json ./frontend/package-lock.json ./ - -RUN npm ci --verbose && npm cache clean --force +COPY ./docker/dev/vite/entrypoint.sh /usr/local/bin/vite-entrypoint +RUN chmod +x /usr/local/bin/vite-entrypoint ENV PATH ./node_modules/.bin/:$PATH -CMD ["npm", "run", "dev"] +ENTRYPOINT ["vite-entrypoint"] diff --git a/docker/dev/vite/entrypoint.sh b/docker/dev/vite/entrypoint.sh new file mode 100644 index 0000000..ce849fc --- /dev/null +++ b/docker/dev/vite/entrypoint.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -eu + +deps_hash="$(sha256sum package.json package-lock.json | sha256sum | cut -d ' ' -f 1)" +deps_stamp="node_modules/.wygiwyh-deps-hash" + +if [ ! -f "$deps_stamp" ] || [ "$(cat "$deps_stamp")" != "$deps_hash" ]; then + echo "Installing frontend dependencies..." + npm ci --no-audit --no-fund --prefer-offline + printf '%s\n' "$deps_hash" > "$deps_stamp" +fi + +exec npm run dev