diff --git a/.github/workflows/build-code.yml b/.github/workflows/build-code.yml index e1f994749..55e98d3a2 100644 --- a/.github/workflows/build-code.yml +++ b/.github/workflows/build-code.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: node_version: - - 18 + - 20 steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.nvmrc b/.nvmrc index 3f430af82..9a2a0e219 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18 +v20 diff --git a/CHANGELOG.md b/CHANGELOG.md index c0b428fd4..bed509d02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Optimized the 7d data gathering by prioritizing the currencies - Improved the language localization for German (`de`) +- Upgraded `Node.js` from version `18` to `20` (`Dockerfile`) - Upgraded `Nx` from version `19.4.0` to `19.4.3` ### Fixed diff --git a/Dockerfile b/Dockerfile index d06c11cc4..37c61ca41 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM node:18-slim as builder +FROM --platform=$BUILDPLATFORM node:20-slim as builder # Build application and add additional files WORKDIR /ghostfolio @@ -50,7 +50,7 @@ COPY package.json /ghostfolio/dist/apps/api RUN yarn database:generate-typings # Image to run, copy everything needed from builder -FROM node:18-slim +FROM node:20-slim LABEL org.opencontainers.image.source="https://github.com/ghostfolio/ghostfolio" diff --git a/README.md b/README.md index 42c8220fc..2815047eb 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ Ghostfolio is available for various home server systems, including [CasaOS](http ### Prerequisites - [Docker](https://www.docker.com/products/docker-desktop) -- [Node.js](https://nodejs.org/en/download) (version 18+) +- [Node.js](https://nodejs.org/en/download) (version 20+) - [Yarn](https://yarnpkg.com/en/docs/install) - Create a local copy of this Git repository (clone) - Copy the file `.env.dev` to `.env` and populate it with your data (`cp .env.dev .env`) diff --git a/package.json b/package.json index 7237a2cb1..c6bca2114 100644 --- a/package.json +++ b/package.json @@ -175,7 +175,7 @@ "@types/google-spreadsheet": "3.1.5", "@types/jest": "29.4.4", "@types/lodash": "4.17.0", - "@types/node": "18.16.9", + "@types/node": "20.14.10", "@types/papaparse": "5.3.7", "@types/passport-google-oauth20": "2.0.16", "@typescript-eslint/eslint-plugin": "6.21.0", @@ -199,13 +199,13 @@ "shx": "0.3.4", "storybook": "7.0.9", "ts-jest": "29.1.0", - "ts-node": "10.9.1", + "ts-node": "10.9.2", "tslib": "2.6.0", "typescript": "5.4.4", "webpack-bundle-analyzer": "4.10.1" }, "engines": { - "node": ">=18" + "node": ">=20" }, "prisma": { "seed": "node prisma/seed.js" diff --git a/yarn.lock b/yarn.lock index 740c13224..6177d2d2a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8008,10 +8008,12 @@ dependencies: undici-types "~5.26.4" -"@types/node@18.16.9": - version "18.16.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.9.tgz#e79416d778a8714597342bb87efb5a6e914f7a73" - integrity sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA== +"@types/node@20.14.10": + version "20.14.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.10.tgz#a1a218290f1b6428682e3af044785e5874db469a" + integrity sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ== + dependencies: + undici-types "~5.26.4" "@types/node@^16.0.0": version "16.18.59" @@ -19651,6 +19653,25 @@ ts-node@10.9.1, ts-node@^10.8.2: v8-compile-cache-lib "^3.0.1" yn "3.1.1" +ts-node@10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + ts-toolbelt@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz#50a25426cfed500d4a09bd1b3afb6f28879edfd5"