mirror of https://github.com/ghostfolio/ghostfolio
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							215 lines
						
					
					
						
							7.7 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							215 lines
						
					
					
						
							7.7 KiB
						
					
					
				
								{
							 | 
						|
								  "name": "ghostfolio",
							 | 
						|
								  "version": "2.212.0",
							 | 
						|
								  "homepage": "https://ghostfol.io",
							 | 
						|
								  "license": "AGPL-3.0",
							 | 
						|
								  "repository": "https://github.com/ghostfolio/ghostfolio",
							 | 
						|
								  "scripts": {
							 | 
						|
								    "affected": "nx affected",
							 | 
						|
								    "affected:apps": "nx affected:apps",
							 | 
						|
								    "affected:build": "nx affected:build",
							 | 
						|
								    "affected:dep-graph": "nx affected:dep-graph",
							 | 
						|
								    "affected:e2e": "nx affected:e2e",
							 | 
						|
								    "affected:libs": "nx affected:libs",
							 | 
						|
								    "affected:lint": "nx affected:lint",
							 | 
						|
								    "affected:test": "nx affected:test",
							 | 
						|
								    "analyze:client": "nx run client:build:production --stats-json && webpack-bundle-analyzer -p 1234 dist/apps/client/en/stats.json",
							 | 
						|
								    "angular": "node --max_old_space_size=32768 ./node_modules/@angular/cli/bin/ng",
							 | 
						|
								    "build:production": "nx run api:copy-assets && nx run api:build:production && nx run client:copy-assets && nx run client:build:production && nx run ui:build-storybook && npm run replace-placeholders-in-build",
							 | 
						|
								    "build:storybook": "nx run ui:build-storybook",
							 | 
						|
								    "database:format-schema": "prisma format",
							 | 
						|
								    "database:generate-typings": "prisma generate",
							 | 
						|
								    "database:gui": "prisma studio",
							 | 
						|
								    "database:gui:prod": "npx dotenv-cli -e .env.prod -- prisma studio",
							 | 
						|
								    "database:migrate": "prisma migrate deploy",
							 | 
						|
								    "database:push": "prisma db push",
							 | 
						|
								    "database:seed": "prisma db seed",
							 | 
						|
								    "database:setup": "npm run database:push && npm run database:seed",
							 | 
						|
								    "database:validate-schema": "prisma validate",
							 | 
						|
								    "dep-graph": "nx dep-graph",
							 | 
						|
								    "e2e": "ng e2e",
							 | 
						|
								    "extract-locales": "nx run client:extract-i18n --output-path ./apps/client/src/locales",
							 | 
						|
								    "format": "nx format:write",
							 | 
						|
								    "format:check": "nx format:check",
							 | 
						|
								    "format:write": "nx format:write",
							 | 
						|
								    "help": "nx help",
							 | 
						|
								    "lint": "nx run-many --target=lint --all",
							 | 
						|
								    "ng": "nx",
							 | 
						|
								    "nx": "nx",
							 | 
						|
								    "postinstall": "prisma generate",
							 | 
						|
								    "prepare": "husky",
							 | 
						|
								    "prisma": "prisma",
							 | 
						|
								    "replace-placeholders-in-build": "node ./replace.build.mjs",
							 | 
						|
								    "start": "node dist/apps/api/main",
							 | 
						|
								    "start:client": "nx run client:copy-assets && nx run client:serve --configuration=development-en --hmr -o",
							 | 
						|
								    "start:production": "npm run database:migrate && npm run database:seed && node main",
							 | 
						|
								    "start:server": "nx run api:copy-assets && nx run api:serve --watch",
							 | 
						|
								    "start:storybook": "nx run ui:storybook",
							 | 
						|
								    "test": "npm run test:api && npm run test:common",
							 | 
						|
								    "test:api": "npx dotenv-cli -e .env.example -- nx test api",
							 | 
						|
								    "test:common": "npx dotenv-cli -e .env.example -- nx test common",
							 | 
						|
								    "test:single": "nx run api:test --test-file portfolio-calculator-btceur-in-base-currency-eur.spec.ts",
							 | 
						|
								    "ts-node": "ts-node",
							 | 
						|
								    "update": "nx migrate latest",
							 | 
						|
								    "watch:server": "nx run api:copy-assets && nx run api:build --watch",
							 | 
						|
								    "watch:test": "nx test --watch",
							 | 
						|
								    "workspace-generator": "nx workspace-generator"
							 | 
						|
								  },
							 | 
						|
								  "dependencies": {
							 | 
						|
								    "@angular/animations": "20.2.4",
							 | 
						|
								    "@angular/cdk": "20.2.2",
							 | 
						|
								    "@angular/common": "20.2.4",
							 | 
						|
								    "@angular/compiler": "20.2.4",
							 | 
						|
								    "@angular/core": "20.2.4",
							 | 
						|
								    "@angular/forms": "20.2.4",
							 | 
						|
								    "@angular/material": "20.2.2",
							 | 
						|
								    "@angular/platform-browser": "20.2.4",
							 | 
						|
								    "@angular/platform-browser-dynamic": "20.2.4",
							 | 
						|
								    "@angular/router": "20.2.4",
							 | 
						|
								    "@angular/service-worker": "20.2.4",
							 | 
						|
								    "@codewithdan/observable-store": "2.2.15",
							 | 
						|
								    "@date-fns/utc": "2.1.0",
							 | 
						|
								    "@dfinity/agent": "0.15.7",
							 | 
						|
								    "@dfinity/auth-client": "0.15.7",
							 | 
						|
								    "@dfinity/candid": "0.15.7",
							 | 
						|
								    "@dfinity/identity": "0.15.7",
							 | 
						|
								    "@dfinity/principal": "0.15.7",
							 | 
						|
								    "@internationalized/number": "3.6.3",
							 | 
						|
								    "@ionic/angular": "8.7.3",
							 | 
						|
								    "@keyv/redis": "4.4.0",
							 | 
						|
								    "@nestjs/bull": "11.0.2",
							 | 
						|
								    "@nestjs/cache-manager": "3.0.1",
							 | 
						|
								    "@nestjs/common": "11.1.3",
							 | 
						|
								    "@nestjs/config": "4.0.2",
							 | 
						|
								    "@nestjs/core": "11.1.3",
							 | 
						|
								    "@nestjs/event-emitter": "3.0.1",
							 | 
						|
								    "@nestjs/jwt": "11.0.0",
							 | 
						|
								    "@nestjs/passport": "11.0.5",
							 | 
						|
								    "@nestjs/platform-express": "11.1.3",
							 | 
						|
								    "@nestjs/schedule": "6.0.0",
							 | 
						|
								    "@nestjs/serve-static": "5.0.3",
							 | 
						|
								    "@openrouter/ai-sdk-provider": "0.7.2",
							 | 
						|
								    "@prisma/client": "6.18.0",
							 | 
						|
								    "@simplewebauthn/browser": "13.1.0",
							 | 
						|
								    "@simplewebauthn/server": "13.1.1",
							 | 
						|
								    "@stripe/stripe-js": "7.9.0",
							 | 
						|
								    "ai": "4.3.16",
							 | 
						|
								    "alphavantage": "2.2.0",
							 | 
						|
								    "big.js": "7.0.1",
							 | 
						|
								    "bootstrap": "4.6.2",
							 | 
						|
								    "bull": "4.16.5",
							 | 
						|
								    "chart.js": "4.5.0",
							 | 
						|
								    "chartjs-adapter-date-fns": "3.0.0",
							 | 
						|
								    "chartjs-chart-treemap": "3.1.0",
							 | 
						|
								    "chartjs-plugin-annotation": "3.1.0",
							 | 
						|
								    "chartjs-plugin-datalabels": "2.2.0",
							 | 
						|
								    "cheerio": "1.0.0",
							 | 
						|
								    "class-transformer": "0.5.1",
							 | 
						|
								    "class-validator": "0.14.2",
							 | 
						|
								    "color": "5.0.0",
							 | 
						|
								    "countries-and-timezones": "3.8.0",
							 | 
						|
								    "countries-list": "3.1.1",
							 | 
						|
								    "countup.js": "2.9.0",
							 | 
						|
								    "date-fns": "4.1.0",
							 | 
						|
								    "dotenv": "17.2.3",
							 | 
						|
								    "dotenv-expand": "12.0.3",
							 | 
						|
								    "envalid": "8.1.0",
							 | 
						|
								    "fuse.js": "7.1.0",
							 | 
						|
								    "google-spreadsheet": "3.2.0",
							 | 
						|
								    "helmet": "7.0.0",
							 | 
						|
								    "http-status-codes": "2.3.0",
							 | 
						|
								    "ionicons": "8.0.13",
							 | 
						|
								    "jsonpath": "1.1.1",
							 | 
						|
								    "lodash": "4.17.21",
							 | 
						|
								    "marked": "15.0.4",
							 | 
						|
								    "ms": "3.0.0-canary.1",
							 | 
						|
								    "ng-extract-i18n-merge": "3.0.0",
							 | 
						|
								    "ngx-device-detector": "10.1.0",
							 | 
						|
								    "ngx-markdown": "20.0.0",
							 | 
						|
								    "ngx-skeleton-loader": "11.3.0",
							 | 
						|
								    "ngx-stripe": "20.7.0",
							 | 
						|
								    "open-color": "1.9.1",
							 | 
						|
								    "papaparse": "5.3.1",
							 | 
						|
								    "passport": "0.7.0",
							 | 
						|
								    "passport-google-oauth20": "2.0.0",
							 | 
						|
								    "passport-headerapikey": "1.2.2",
							 | 
						|
								    "passport-jwt": "4.0.1",
							 | 
						|
								    "reflect-metadata": "0.2.2",
							 | 
						|
								    "rxjs": "7.8.1",
							 | 
						|
								    "stripe": "18.5.0",
							 | 
						|
								    "svgmap": "2.12.2",
							 | 
						|
								    "tablemark": "4.1.0",
							 | 
						|
								    "twitter-api-v2": "1.23.0",
							 | 
						|
								    "uuid": "11.1.0",
							 | 
						|
								    "yahoo-finance2": "3.10.0",
							 | 
						|
								    "zone.js": "0.15.1"
							 | 
						|
								  },
							 | 
						|
								  "devDependencies": {
							 | 
						|
								    "@angular-devkit/build-angular": "20.2.2",
							 | 
						|
								    "@angular-devkit/core": "20.2.2",
							 | 
						|
								    "@angular-devkit/schematics": "20.2.2",
							 | 
						|
								    "@angular-eslint/eslint-plugin": "20.2.0",
							 | 
						|
								    "@angular-eslint/eslint-plugin-template": "20.2.0",
							 | 
						|
								    "@angular-eslint/template-parser": "20.2.0",
							 | 
						|
								    "@angular/cli": "20.2.2",
							 | 
						|
								    "@angular/compiler-cli": "20.2.4",
							 | 
						|
								    "@angular/language-service": "20.2.4",
							 | 
						|
								    "@angular/localize": "20.2.4",
							 | 
						|
								    "@angular/pwa": "20.2.2",
							 | 
						|
								    "@eslint/eslintrc": "3.3.1",
							 | 
						|
								    "@eslint/js": "9.35.0",
							 | 
						|
								    "@nestjs/schematics": "11.0.5",
							 | 
						|
								    "@nestjs/testing": "11.1.3",
							 | 
						|
								    "@nx/angular": "21.5.1",
							 | 
						|
								    "@nx/cypress": "21.5.1",
							 | 
						|
								    "@nx/eslint-plugin": "21.5.1",
							 | 
						|
								    "@nx/jest": "21.5.1",
							 | 
						|
								    "@nx/js": "21.5.1",
							 | 
						|
								    "@nx/module-federation": "21.5.1",
							 | 
						|
								    "@nx/nest": "21.5.1",
							 | 
						|
								    "@nx/node": "21.5.1",
							 | 
						|
								    "@nx/storybook": "21.5.1",
							 | 
						|
								    "@nx/web": "21.5.1",
							 | 
						|
								    "@nx/workspace": "21.5.1",
							 | 
						|
								    "@schematics/angular": "20.2.2",
							 | 
						|
								    "@storybook/addon-docs": "9.1.5",
							 | 
						|
								    "@storybook/angular": "9.1.5",
							 | 
						|
								    "@trivago/prettier-plugin-sort-imports": "5.2.2",
							 | 
						|
								    "@types/big.js": "6.2.2",
							 | 
						|
								    "@types/google-spreadsheet": "3.1.5",
							 | 
						|
								    "@types/jest": "29.5.13",
							 | 
						|
								    "@types/lodash": "4.17.20",
							 | 
						|
								    "@types/node": "22.15.17",
							 | 
						|
								    "@types/papaparse": "5.3.7",
							 | 
						|
								    "@types/passport-google-oauth20": "2.0.16",
							 | 
						|
								    "@typescript-eslint/eslint-plugin": "8.43.0",
							 | 
						|
								    "@typescript-eslint/parser": "8.43.0",
							 | 
						|
								    "cypress": "6.2.1",
							 | 
						|
								    "eslint": "9.35.0",
							 | 
						|
								    "eslint-config-prettier": "10.1.8",
							 | 
						|
								    "eslint-plugin-cypress": "4.2.0",
							 | 
						|
								    "eslint-plugin-import": "2.32.0",
							 | 
						|
								    "eslint-plugin-storybook": "9.1.5",
							 | 
						|
								    "husky": "9.1.7",
							 | 
						|
								    "jest": "29.7.0",
							 | 
						|
								    "jest-environment-jsdom": "29.7.0",
							 | 
						|
								    "jest-preset-angular": "14.6.0",
							 | 
						|
								    "nx": "21.5.1",
							 | 
						|
								    "prettier": "3.6.2",
							 | 
						|
								    "prettier-plugin-organize-attributes": "1.0.0",
							 | 
						|
								    "prisma": "6.18.0",
							 | 
						|
								    "react": "18.2.0",
							 | 
						|
								    "react-dom": "18.2.0",
							 | 
						|
								    "replace-in-file": "8.3.0",
							 | 
						|
								    "shx": "0.3.4",
							 | 
						|
								    "storybook": "9.1.5",
							 | 
						|
								    "ts-jest": "29.4.0",
							 | 
						|
								    "ts-node": "10.9.2",
							 | 
						|
								    "tslib": "2.8.1",
							 | 
						|
								    "typescript": "5.9.2",
							 | 
						|
								    "webpack-bundle-analyzer": "4.10.2"
							 | 
						|
								  },
							 | 
						|
								  "engines": {
							 | 
						|
								    "node": ">=22.18.0"
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								
							 |