Browse Source
			
			
			Feature/upgrade node.js from version 18 to 20 (#3553)
			
				* Upgrade to Node.js 20
* Update changelog
			
			
				pull/3517/head
			
			
		 
		
			
				
					
						 Thomas Kaul
					
					1 year ago
						Thomas Kaul
					
					1 year ago
					
						
							committed by
							
								 GitHub
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: B5690EEEBB952194
						
					
				
			
		
		
		
	
		
			
				 7 changed files with 
34 additions and 
12 deletions
			 
			
		 
		
			
				- 
					
					
					 
					.github/workflows/build-code.yml
				
- 
					
					
					 
					.nvmrc
				
- 
					
					
					 
					CHANGELOG.md
				
- 
					
					
					 
					Dockerfile
				
- 
					
					
					 
					README.md
				
- 
					
					
					 
					package.json
				
- 
					
					
					 
					yarn.lock
				
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -13,7 +13,7 @@ jobs: | 
			
		
	
		
		
			
				
					|  |  |     strategy: |  |  |     strategy: | 
			
		
	
		
		
			
				
					|  |  |       matrix: |  |  |       matrix: | 
			
		
	
		
		
			
				
					|  |  |         node_version: |  |  |         node_version: | 
			
		
	
		
		
			
				
					
					|  |  |           - 18 |  |  |           - 20 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |     steps: |  |  |     steps: | 
			
		
	
		
		
			
				
					|  |  |       - name: Checkout code |  |  |       - name: Checkout code | 
			
		
	
		
		
			
				
					|  |  |         uses: actions/checkout@v4 |  |  |         uses: actions/checkout@v4 | 
			
		
	
	
		
		
			
				
					|  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -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 |  |  | - Optimized the 7d data gathering by prioritizing the currencies | 
			
		
	
		
		
			
				
					|  |  | - Improved the language localization for German (`de`) |  |  | - 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` |  |  | - Upgraded `Nx` from version `19.4.0` to `19.4.3` | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | ### Fixed |  |  | ### Fixed | 
			
		
	
	
		
		
			
				
					|  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -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 |  |  | # Build application and add additional files | 
			
		
	
		
		
			
				
					|  |  | WORKDIR /ghostfolio |  |  | WORKDIR /ghostfolio | 
			
		
	
	
		
		
			
				
					|  | @ -50,7 +50,7 @@ COPY package.json /ghostfolio/dist/apps/api | 
			
		
	
		
		
			
				
					|  |  | RUN yarn database:generate-typings |  |  | RUN yarn database:generate-typings | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | # Image to run, copy everything needed from builder |  |  | # 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" |  |  | LABEL org.opencontainers.image.source="https://github.com/ghostfolio/ghostfolio" | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -149,7 +149,7 @@ Ghostfolio is available for various home server systems, including [CasaOS](http | 
			
		
	
		
		
			
				
					|  |  | ### Prerequisites |  |  | ### Prerequisites | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | - [Docker](https://www.docker.com/products/docker-desktop) |  |  | - [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) |  |  | - [Yarn](https://yarnpkg.com/en/docs/install) | 
			
		
	
		
		
			
				
					|  |  | - Create a local copy of this Git repository (clone) |  |  | - 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`) |  |  | - Copy the file `.env.dev` to `.env` and populate it with your data (`cp .env.dev .env`) | 
			
		
	
	
		
		
			
				
					|  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -175,7 +175,7 @@ | 
			
		
	
		
		
			
				
					|  |  |     "@types/google-spreadsheet": "3.1.5", |  |  |     "@types/google-spreadsheet": "3.1.5", | 
			
		
	
		
		
			
				
					|  |  |     "@types/jest": "29.4.4", |  |  |     "@types/jest": "29.4.4", | 
			
		
	
		
		
			
				
					|  |  |     "@types/lodash": "4.17.0", |  |  |     "@types/lodash": "4.17.0", | 
			
		
	
		
		
			
				
					
					|  |  |     "@types/node": "18.16.9", |  |  |     "@types/node": "20.14.10", | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |     "@types/papaparse": "5.3.7", |  |  |     "@types/papaparse": "5.3.7", | 
			
		
	
		
		
			
				
					|  |  |     "@types/passport-google-oauth20": "2.0.16", |  |  |     "@types/passport-google-oauth20": "2.0.16", | 
			
		
	
		
		
			
				
					|  |  |     "@typescript-eslint/eslint-plugin": "6.21.0", |  |  |     "@typescript-eslint/eslint-plugin": "6.21.0", | 
			
		
	
	
		
		
			
				
					|  | @ -199,13 +199,13 @@ | 
			
		
	
		
		
			
				
					|  |  |     "shx": "0.3.4", |  |  |     "shx": "0.3.4", | 
			
		
	
		
		
			
				
					|  |  |     "storybook": "7.0.9", |  |  |     "storybook": "7.0.9", | 
			
		
	
		
		
			
				
					|  |  |     "ts-jest": "29.1.0", |  |  |     "ts-jest": "29.1.0", | 
			
		
	
		
		
			
				
					
					|  |  |     "ts-node": "10.9.1", |  |  |     "ts-node": "10.9.2", | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |     "tslib": "2.6.0", |  |  |     "tslib": "2.6.0", | 
			
		
	
		
		
			
				
					|  |  |     "typescript": "5.4.4", |  |  |     "typescript": "5.4.4", | 
			
		
	
		
		
			
				
					|  |  |     "webpack-bundle-analyzer": "4.10.1" |  |  |     "webpack-bundle-analyzer": "4.10.1" | 
			
		
	
		
		
			
				
					|  |  |   }, |  |  |   }, | 
			
		
	
		
		
			
				
					|  |  |   "engines": { |  |  |   "engines": { | 
			
		
	
		
		
			
				
					
					|  |  |     "node": ">=18" |  |  |     "node": ">=20" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |   }, |  |  |   }, | 
			
		
	
		
		
			
				
					|  |  |   "prisma": { |  |  |   "prisma": { | 
			
		
	
		
		
			
				
					|  |  |     "seed": "node prisma/seed.js" |  |  |     "seed": "node prisma/seed.js" | 
			
		
	
	
		
		
			
				
					|  | 
 | 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
		
			
				
					|  | @ -8008,10 +8008,12 @@ | 
			
		
	
		
		
			
				
					|  |  |   dependencies: |  |  |   dependencies: | 
			
		
	
		
		
			
				
					|  |  |     undici-types "~5.26.4" |  |  |     undici-types "~5.26.4" | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  | "@types/node@18.16.9": |  |  | "@types/node@20.14.10": | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |   version "18.16.9" |  |  |   version "20.14.10" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |   resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.9.tgz#e79416d778a8714597342bb87efb5a6e914f7a73" |  |  |   resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.10.tgz#a1a218290f1b6428682e3af044785e5874db469a" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |   integrity sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA== |  |  |   integrity sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ== | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |   dependencies: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     undici-types "~5.26.4" | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | "@types/node@^16.0.0": |  |  | "@types/node@^16.0.0": | 
			
		
	
		
		
			
				
					|  |  |   version "16.18.59" |  |  |   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" |  |  |     v8-compile-cache-lib "^3.0.1" | 
			
		
	
		
		
			
				
					|  |  |     yn "3.1.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: |  |  | ts-toolbelt@^9.6.0: | 
			
		
	
		
		
			
				
					|  |  |   version "9.6.0" |  |  |   version "9.6.0" | 
			
		
	
		
		
			
				
					|  |  |   resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz#50a25426cfed500d4a09bd1b3afb6f28879edfd5" |  |  |   resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz#50a25426cfed500d4a09bd1b3afb6f28879edfd5" | 
			
		
	
	
		
		
			
				
					|  | 
 |