diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0e52199b5f..0989349ac2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ permissions: contents: read env: - node: 18 + node: 20 jobs: unit: runs-on: ubuntu-latest @@ -49,6 +49,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: ${{ env.node }} - name: npm ci run: npm ci --prefer-offline --no-audit - name: npm run lint diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000000..b6f27f1359 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/.nvmrc b/.nvmrc index 3c032078a4..209e3ef4b6 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 +20 diff --git a/Dockerfile b/Dockerfile index 0b0daa5972..8036526997 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # build stage -FROM docker.io/node:18-bullseye AS build-stage +FROM docker.io/node:20 AS build-stage ## add libraries needed for installing canvas npm package RUN apt update && apt install -y g++ libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev; diff --git a/package-lock.json b/package-lock.json index 60d6c90f7a..9246ee6d0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "dependencies": { "@braintree/sanitize-url": "^6.0.4", "@ckeditor/ckeditor5-vue": "^5.1.0", - "@hpi-schul-cloud/ckeditor": "^1.0.0", + "@hpi-schul-cloud/ckeditor": "^1.1.0", "@lumieducation/h5p-webcomponents": "^9.2.2", "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", @@ -88,7 +88,7 @@ "webpack-plugin-vuetify": "^3.0.3" }, "engines": { - "node": "18", + "node": "20", "npm": ">=9" } }, @@ -1835,10 +1835,13 @@ "license": "MIT" }, "node_modules/@hpi-schul-cloud/ckeditor": { - "version": "1.0.0", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@hpi-schul-cloud/ckeditor/-/ckeditor-1.1.0.tgz", + "integrity": "sha512-pcmF/JtrCB9K4uXQdKiFaziPEKYbv1E9M4HJJANBXem+FFLMHWbBkmdJQxR1LRizLc4FqAvlzmKQq5pHdlng8A==", "license": "AGPL-3.0", "engines": { - "node": "18" + "node": "20", + "npm": ">=10" } }, "node_modules/@humanwhocodes/config-array": { diff --git a/package.json b/package.json index 97dcebb441..ed761f443a 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "dependencies": { "@braintree/sanitize-url": "^6.0.4", "@ckeditor/ckeditor5-vue": "^5.1.0", - "@hpi-schul-cloud/ckeditor": "^1.0.0", + "@hpi-schul-cloud/ckeditor": "^1.1.0", "@lumieducation/h5p-webcomponents": "^9.2.2", "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", @@ -102,7 +102,7 @@ } }, "engines": { - "node": "18", + "node": "20", "npm": ">=9" } }