diff --git a/Dockerfile b/Dockerfile index 15dd326..2aada76 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,8 @@ -FROM node:16-alpine as frontend +ARG NODE_VERSION=16.20.2 +ARG PYTHON_VERSION=3.11.8 + + +FROM node:${NODE_VERSION}-bookworm-slim as frontend ARG VUE_APP_ROOT_API=/api @@ -8,7 +12,8 @@ COPY ./client . RUN npm ci --no-audit --ignore-scripts RUN npm run build -FROM python:3.11.4-slim-bullseye as build + +FROM python:${PYTHON_VERSION}-slim-bookworm as build ENV DEBIAN_FRONTEND=noninteractive @@ -20,7 +25,8 @@ RUN pip install --upgrade pip setuptools cython COPY ./api/requirements.txt . RUN pip install --user --no-warn-script-location -r requirements.txt -FROM python:3.11.4-slim-bullseye + +FROM python:${PYTHON_VERSION}-slim-bookworm ENV PYTHONUNBUFFERED=1 ENV RUN_FEED=no diff --git a/client/package-lock.json b/client/package-lock.json index ff8e249..8bfd9f6 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -17,7 +17,7 @@ "file-saver": "^2.0.2", "lodash.get": "^4.4.2", "vee-validate": "^3.3.9", - "vue": "^2.6.11", + "vue": "^2.7.16", "vue-chartjs": "^3.5.1", "vue-i18n": "^8.28.2", "vue-material-design-icons": "^4.9.0", @@ -508,8 +508,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.13", - "license": "MIT", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -12949,7 +12950,7 @@ "version": "1.19.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "prettier": "bin-prettier.js" @@ -16066,10 +16067,12 @@ "license": "MIT" }, "node_modules/vue": { - "version": "2.7.10", - "license": "MIT", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", + "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", + "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", "dependencies": { - "@vue/compiler-sfc": "2.7.10", + "@vue/compiler-sfc": "2.7.16", "csstype": "^3.1.0" } }, @@ -16389,13 +16392,16 @@ "license": "MIT" }, "node_modules/vue/node_modules/@vue/compiler-sfc": { - "version": "2.7.10", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz", - "integrity": "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", "dependencies": { - "@babel/parser": "^7.18.4", + "@babel/parser": "^7.23.5", "postcss": "^8.4.14", "source-map": "^0.6.1" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" } }, "node_modules/vuedraggable": { @@ -17886,7 +17892,9 @@ } }, "@babel/parser": { - "version": "7.18.13" + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -26644,7 +26652,7 @@ "version": "1.19.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true + "devOptional": true }, "prettier-linter-helpers": { "version": "1.0.0", @@ -28913,19 +28921,22 @@ "dev": true }, "vue": { - "version": "2.7.10", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", + "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", "requires": { - "@vue/compiler-sfc": "2.7.10", + "@vue/compiler-sfc": "2.7.16", "csstype": "^3.1.0" }, "dependencies": { "@vue/compiler-sfc": { - "version": "2.7.10", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz", - "integrity": "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", "requires": { - "@babel/parser": "^7.18.4", + "@babel/parser": "^7.23.5", "postcss": "^8.4.14", + "prettier": "^1.18.2 || ^2.0.0", "source-map": "^0.6.1" } } diff --git a/client/package.json b/client/package.json index 4153a24..e615ec0 100644 --- a/client/package.json +++ b/client/package.json @@ -18,7 +18,7 @@ "file-saver": "^2.0.2", "lodash.get": "^4.4.2", "vee-validate": "^3.3.9", - "vue": "^2.6.11", + "vue": "^2.7.16", "vue-chartjs": "^3.5.1", "vue-i18n": "^8.28.2", "vue-material-design-icons": "^4.9.0",