diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..0459b5d --- /dev/null +++ b/.tool-versions @@ -0,0 +1,3 @@ +nodejs 22.17.0 +elixir 1.18.4-otp-28 +erlang 28.0.1 diff --git a/Dockerfile b/Dockerfile index 8132d81..bf5e2e1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,8 +12,8 @@ # - https://pkgs.org/ - resource for finding needed packages # - Ex: hexpm/elixir:1.13.2-erlang-24.2.1-debian-bullseye-20210902-slim # -ARG BUILDER_IMAGE="hexpm/elixir:1.16.0-erlang-26.2.1-alpine-3.18.4" -ARG RUNNER_IMAGE="alpine:3.18.4" +ARG BUILDER_IMAGE="hexpm/elixir:1.18.4-erlang-28.0.1-alpine-3.21.3" +ARG RUNNER_IMAGE="alpine:3.21.3" FROM ${BUILDER_IMAGE} as builder @@ -22,7 +22,7 @@ FROM ${BUILDER_IMAGE} as builder # && apt-get clean && rm -f /var/lib/apt/lists/*_* RUN apk add --no-cache -U build-base git curl bash ca-certificates nodejs npm openssl ncurses -ENV NODE_VERSION 16.20.0 +ENV NODE_VERSION 22.17.0 ENV PRESENTATION_STORAGE_DIR /app/uploads # custom ERL_FLAGS are passed for (public) multi-platform builds @@ -30,19 +30,6 @@ ENV PRESENTATION_STORAGE_DIR /app/uploads ARG ERL_FLAGS ENV ERL_FLAGS=$ERL_FLAGS -# Install nvm with node and npm -# RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash \ -# && . $HOME/.nvm/nvm.sh \ -# && nvm install $NODE_VERSION \ -# && nvm alias default $NODE_VERSION \ -# && nvm use default - -# ENV NODE_PATH $HOME/.nvm/versions/node/v$NODE_VERSION/lib/node_modules -# ENV PATH $HOME/.nvm/versions/node/v$NODE_VERSION/bin:$PATH - -# RUN ln -sf $HOME/.nvm/versions/node/v$NODE_VERSION/bin/npm /usr/bin/npm -# RUN ln -sf $HOME/.nvm/versions/node/v$NODE_VERSION/bin/node /usr/bin/node - # prepare build dir WORKDIR /app diff --git a/Dockerfile.dev b/Dockerfile.dev index d502072..2a3a655 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -61,19 +61,18 @@ RUN ARCH=$(uname -m) && \ && rm asdf-v${ASDF_VERSION}-linux-${ASDF_ARCH}.tar.gz \ && mv asdf /usr/bin/ - # Install Erlang and Elixir using asdf RUN asdf plugin add erlang \ && asdf plugin add elixir \ - && asdf install erlang 26.2.1 \ - && asdf install elixir 1.16.0 \ - && asdf set -u erlang 26.2.1 \ - && asdf set -u elixir 1.16.0 + && asdf install erlang 28.0.1 \ + && asdf install elixir 1.18.4-otp-28 \ + && asdf set -u erlang 28.0.1 \ + && asdf set -u elixir 1.18.4-otp-28 # Install Node.js using asdf RUN asdf plugin add nodejs \ - && asdf install nodejs 22.1.0 \ - && asdf set -u nodejs 22.1.0 + && asdf install nodejs 22.17.0 \ + && asdf set -u nodejs 22.17.0 ENV PATH="/root/.asdf/shims:$PATH" diff --git a/assets/package-lock.json b/assets/package-lock.json index be4ea87..33d113a 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -29,17 +29,35 @@ } }, "../deps/phoenix": { - "version": "1.7.11", + "version": "1.7.21", "license": "MIT" }, "../deps/phoenix_html": { - "version": "4.1.0" + "version": "4.2.1" }, "../deps/phoenix_live_view": { - "version": "0.20.14", + "version": "1.0.17", "license": "MIT", + "dependencies": { + "morphdom": "2.7.5" + }, "devDependencies": { - "@playwright/test": "^1.41.0" + "@babel/cli": "7.27.0", + "@babel/core": "7.26.10", + "@babel/preset-env": "7.26.9", + "@eslint/js": "^9.24.0", + "@playwright/test": "^1.51.1", + "@stylistic/eslint-plugin-js": "^4.2.0", + "css.escape": "^1.5.1", + "eslint": "9.24.0", + "eslint-plugin-jest": "28.11.0", + "eslint-plugin-playwright": "^2.2.0", + "globals": "^16.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-monocart-coverage": "^1.1.1", + "monocart-reporter": "^2.9.17", + "phoenix": "1.7.21" } }, "node_modules/@alloc/quick-lru": { @@ -2391,7 +2409,23 @@ "phoenix_live_view": { "version": "file:../deps/phoenix_live_view", "requires": { - "@playwright/test": "^1.41.0" + "@babel/cli": "7.27.0", + "@babel/core": "7.26.10", + "@babel/preset-env": "7.26.9", + "@eslint/js": "^9.24.0", + "@playwright/test": "^1.51.1", + "@stylistic/eslint-plugin-js": "^4.2.0", + "css.escape": "^1.5.1", + "eslint": "9.24.0", + "eslint-plugin-jest": "28.11.0", + "eslint-plugin-playwright": "^2.2.0", + "globals": "^16.0.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-monocart-coverage": "^1.1.1", + "monocart-reporter": "^2.9.17", + "morphdom": "2.7.5", + "phoenix": "1.7.21" } }, "picocolors": {