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.
		
		
		
		
		
			
		
			
				
					
					
						
							219 lines
						
					
					
						
							7.8 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							219 lines
						
					
					
						
							7.8 KiB
						
					
					
				| { | |
|   "name": "ghostfolio", | |
|   "version": "2.179.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 object.helper.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": "19.2.1", | |
|     "@angular/cdk": "19.2.2", | |
|     "@angular/common": "19.2.1", | |
|     "@angular/compiler": "19.2.1", | |
|     "@angular/core": "19.2.1", | |
|     "@angular/forms": "19.2.1", | |
|     "@angular/material": "19.2.2", | |
|     "@angular/platform-browser": "19.2.1", | |
|     "@angular/platform-browser-dynamic": "19.2.1", | |
|     "@angular/router": "19.2.1", | |
|     "@angular/service-worker": "19.2.1", | |
|     "@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", | |
|     "@dinero.js/currencies": "2.0.0-alpha.8", | |
|     "@internationalized/number": "3.6.3", | |
|     "@ionic/angular": "8.6.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.11.1", | |
|     "@simplewebauthn/browser": "13.1.0", | |
|     "@simplewebauthn/server": "13.1.1", | |
|     "@stripe/stripe-js": "7.3.1", | |
|     "ai": "4.3.16", | |
|     "alphavantage": "2.2.0", | |
|     "big.js": "7.0.1", | |
|     "bootstrap": "4.6.2", | |
|     "bull": "4.16.5", | |
|     "chart.js": "4.4.9", | |
|     "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.7.2", | |
|     "countries-list": "3.1.1", | |
|     "countup.js": "2.8.2", | |
|     "date-fns": "4.1.0", | |
|     "envalid": "8.0.0", | |
|     "fuse.js": "7.1.0", | |
|     "google-spreadsheet": "3.2.0", | |
|     "helmet": "7.0.0", | |
|     "http-status-codes": "2.3.0", | |
|     "ionicons": "8.0.10", | |
|     "jsonpath": "1.1.1", | |
|     "lodash": "4.17.21", | |
|     "marked": "15.0.4", | |
|     "ms": "3.0.0-canary.1", | |
|     "ng-extract-i18n-merge": "2.15.1", | |
|     "ngx-device-detector": "9.0.0", | |
|     "ngx-markdown": "19.0.0", | |
|     "ngx-skeleton-loader": "11.2.1", | |
|     "ngx-stripe": "19.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.2.1", | |
|     "svgmap": "2.12.2", | |
|     "twitter-api-v2": "1.23.0", | |
|     "uuid": "11.1.0", | |
|     "yahoo-finance2": "3.4.1", | |
|     "zone.js": "0.15.1" | |
|   }, | |
|   "devDependencies": { | |
|     "@angular-devkit/build-angular": "19.2.1", | |
|     "@angular-devkit/core": "19.2.1", | |
|     "@angular-devkit/schematics": "19.2.1", | |
|     "@angular-eslint/eslint-plugin": "19.2.1", | |
|     "@angular-eslint/eslint-plugin-template": "19.2.1", | |
|     "@angular-eslint/template-parser": "19.2.1", | |
|     "@angular/cli": "19.2.1", | |
|     "@angular/compiler-cli": "19.2.1", | |
|     "@angular/language-service": "19.2.1", | |
|     "@angular/localize": "19.2.1", | |
|     "@angular/pwa": "19.2.1", | |
|     "@eslint/eslintrc": "3.3.1", | |
|     "@eslint/js": "9.24.0", | |
|     "@nestjs/schematics": "11.0.5", | |
|     "@nestjs/testing": "11.1.3", | |
|     "@nx/angular": "21.1.2", | |
|     "@nx/cypress": "21.1.2", | |
|     "@nx/eslint-plugin": "21.1.2", | |
|     "@nx/jest": "21.1.2", | |
|     "@nx/js": "21.1.2", | |
|     "@nx/module-federation": "21.1.2", | |
|     "@nx/nest": "21.1.2", | |
|     "@nx/node": "21.1.2", | |
|     "@nx/storybook": "21.1.2", | |
|     "@nx/web": "21.1.2", | |
|     "@nx/workspace": "21.1.2", | |
|     "@schematics/angular": "19.2.1", | |
|     "@storybook/addon-essentials": "8.6.12", | |
|     "@storybook/addon-interactions": "8.6.12", | |
|     "@storybook/angular": "8.6.12", | |
|     "@storybook/core-server": "8.6.12", | |
|     "@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.17", | |
|     "@types/node": "22.15.17", | |
|     "@types/papaparse": "5.3.7", | |
|     "@types/passport-google-oauth20": "2.0.16", | |
|     "@typescript-eslint/eslint-plugin": "8.29.0", | |
|     "@typescript-eslint/parser": "8.29.0", | |
|     "codelyzer": "6.0.1", | |
|     "cypress": "6.2.1", | |
|     "eslint": "9.24.0", | |
|     "eslint-config-prettier": "10.1.1", | |
|     "eslint-plugin-cypress": "4.2.0", | |
|     "eslint-plugin-import": "2.31.0", | |
|     "eslint-plugin-storybook": "0.12.0", | |
|     "husky": "9.1.7", | |
|     "jest": "29.7.0", | |
|     "jest-environment-jsdom": "29.7.0", | |
|     "jest-preset-angular": "14.4.2", | |
|     "nx": "21.1.2", | |
|     "prettier": "3.6.2", | |
|     "prettier-plugin-organize-attributes": "1.0.0", | |
|     "prisma": "6.11.1", | |
|     "react": "18.2.0", | |
|     "react-dom": "18.2.0", | |
|     "replace-in-file": "8.3.0", | |
|     "shx": "0.3.4", | |
|     "storybook": "8.6.12", | |
|     "ts-jest": "29.1.0", | |
|     "ts-node": "10.9.2", | |
|     "tslib": "2.8.1", | |
|     "typescript": "5.7.3", | |
|     "webpack-bundle-analyzer": "4.10.2" | |
|   }, | |
|   "engines": { | |
|     "node": ">=22" | |
|   }, | |
|   "prisma": { | |
|     "seed": "npx ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts" | |
|   } | |
| }
 | |
| 
 |