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.5 KiB
215 lines
7.5 KiB
{
|
|
"name": "ghostfolio",
|
|
"version": "2.87.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 && yarn 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": "yarn database:push && yarn 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 lint",
|
|
"ng": "nx",
|
|
"nx": "nx",
|
|
"postinstall": "prisma generate",
|
|
"replace-placeholders-in-build": "node ./replace.build.js",
|
|
"start": "node dist/apps/api/main",
|
|
"start:client": "nx run client:copy-assets && nx run client:serve --configuration=development-en --hmr -o",
|
|
"start:production": "yarn database:migrate && yarn database:seed && node main",
|
|
"start:server": "nx run api:copy-assets && nx run api:serve --watch",
|
|
"start:storybook": "nx run ui:storybook",
|
|
"test": "yarn test:api && yarn 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-novn-buy-and-sell.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": "18.0.2",
|
|
"@angular/cdk": "18.0.2",
|
|
"@angular/common": "18.0.2",
|
|
"@angular/compiler": "18.0.2",
|
|
"@angular/core": "18.0.2",
|
|
"@angular/forms": "18.0.2",
|
|
"@angular/material": "18.0.2",
|
|
"@angular/platform-browser": "18.0.2",
|
|
"@angular/platform-browser-dynamic": "18.0.2",
|
|
"@angular/router": "18.0.2",
|
|
"@angular/service-worker": "18.0.2",
|
|
"@codewithdan/observable-store": "2.2.15",
|
|
"@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.5.2",
|
|
"@nestjs/bull": "10.0.1",
|
|
"@nestjs/cache-manager": "2.1.0",
|
|
"@nestjs/common": "10.1.3",
|
|
"@nestjs/config": "3.0.0",
|
|
"@nestjs/core": "10.1.3",
|
|
"@nestjs/event-emitter": "2.0.4",
|
|
"@nestjs/jwt": "10.1.0",
|
|
"@nestjs/passport": "10.0.3",
|
|
"@nestjs/platform-express": "10.1.3",
|
|
"@nestjs/schedule": "3.0.2",
|
|
"@nestjs/serve-static": "4.0.0",
|
|
"@prisma/client": "5.15.0",
|
|
"@simplewebauthn/browser": "9.0.1",
|
|
"@simplewebauthn/server": "9.0.3",
|
|
"@stripe/stripe-js": "1.47.0",
|
|
"alphavantage": "2.2.0",
|
|
"big.js": "6.2.1",
|
|
"body-parser": "1.20.2",
|
|
"bootstrap": "4.6.0",
|
|
"bull": "4.10.4",
|
|
"cache-manager": "3.4.3",
|
|
"cache-manager-redis-store": "2.0.0",
|
|
"chart.js": "4.2.0",
|
|
"chartjs-adapter-date-fns": "3.0.0",
|
|
"chartjs-plugin-annotation": "2.1.2",
|
|
"chartjs-plugin-datalabels": "2.2.0",
|
|
"cheerio": "1.0.0-rc.12",
|
|
"class-transformer": "0.5.1",
|
|
"class-validator": "0.14.1",
|
|
"color": "4.2.3",
|
|
"countries-and-timezones": "3.4.1",
|
|
"countries-list": "3.1.0",
|
|
"countup.js": "2.8.0",
|
|
"date-fns": "2.29.3",
|
|
"envalid": "7.3.1",
|
|
"google-spreadsheet": "3.2.0",
|
|
"got": "11.8.6",
|
|
"helmet": "7.0.0",
|
|
"http-status-codes": "2.3.0",
|
|
"ionicons": "7.4.0",
|
|
"jsonpath": "1.1.1",
|
|
"lodash": "4.17.21",
|
|
"marked": "9.1.6",
|
|
"ms": "3.0.0-canary.1",
|
|
"ng-extract-i18n-merge": "2.12.0",
|
|
"ngx-device-detector": "5.0.1",
|
|
"ngx-markdown": "17.1.1",
|
|
"ngx-skeleton-loader": "7.0.0",
|
|
"ngx-stripe": "15.5.0",
|
|
"papaparse": "5.3.1",
|
|
"passport": "0.7.0",
|
|
"passport-google-oauth20": "2.0.0",
|
|
"passport-jwt": "4.0.1",
|
|
"prisma": "5.15.0",
|
|
"reflect-metadata": "0.1.13",
|
|
"rxjs": "7.5.6",
|
|
"stripe": "11.12.0",
|
|
"svgmap": "2.6.0",
|
|
"twitter-api-v2": "1.14.2",
|
|
"uuid": "9.0.1",
|
|
"yahoo-finance2": "2.11.3",
|
|
"zone.js": "0.14.5"
|
|
},
|
|
"devDependencies": {
|
|
"@angular-devkit/build-angular": "18.0.3",
|
|
"@angular-devkit/core": "18.0.3",
|
|
"@angular-devkit/schematics": "18.0.3",
|
|
"@angular-eslint/eslint-plugin": "18.0.1",
|
|
"@angular-eslint/eslint-plugin-template": "18.0.1",
|
|
"@angular-eslint/template-parser": "18.0.1",
|
|
"@angular/cli": "18.0.3",
|
|
"@angular/compiler-cli": "18.0.2",
|
|
"@angular/language-service": "18.0.2",
|
|
"@angular/localize": "18.0.2",
|
|
"@angular/pwa": "18.0.3",
|
|
"@nestjs/schematics": "10.0.1",
|
|
"@nestjs/testing": "10.1.3",
|
|
"@nx/angular": "19.2.2",
|
|
"@nx/cypress": "19.2.2",
|
|
"@nx/eslint-plugin": "19.2.2",
|
|
"@nx/jest": "19.2.2",
|
|
"@nx/js": "19.2.2",
|
|
"@nx/nest": "19.2.2",
|
|
"@nx/node": "19.2.2",
|
|
"@nx/storybook": "19.2.2",
|
|
"@nx/web": "19.2.2",
|
|
"@nx/workspace": "19.2.2",
|
|
"@schematics/angular": "18.0.3",
|
|
"@simplewebauthn/types": "9.0.1",
|
|
"@storybook/addon-essentials": "7.6.5",
|
|
"@storybook/angular": "7.6.5",
|
|
"@storybook/core-server": "7.6.5",
|
|
"@trivago/prettier-plugin-sort-imports": "4.3.0",
|
|
"@types/big.js": "6.2.2",
|
|
"@types/body-parser": "1.19.5",
|
|
"@types/cache-manager": "3.4.2",
|
|
"@types/color": "3.0.3",
|
|
"@types/google-spreadsheet": "3.1.5",
|
|
"@types/jest": "29.4.4",
|
|
"@types/lodash": "4.17.0",
|
|
"@types/node": "18.16.9",
|
|
"@types/papaparse": "5.3.7",
|
|
"@types/passport-google-oauth20": "2.0.16",
|
|
"@typescript-eslint/eslint-plugin": "6.21.0",
|
|
"@typescript-eslint/parser": "6.21.0",
|
|
"codelyzer": "6.0.1",
|
|
"cypress": "6.2.1",
|
|
"eslint": "8.56.0",
|
|
"eslint-config-prettier": "9.1.0",
|
|
"eslint-plugin-cypress": "2.15.1",
|
|
"eslint-plugin-import": "2.29.1",
|
|
"eslint-plugin-storybook": "0.6.15",
|
|
"jest": "29.4.3",
|
|
"jest-environment-jsdom": "29.4.3",
|
|
"jest-preset-angular": "14.1.0",
|
|
"nx": "19.2.2",
|
|
"prettier": "3.3.1",
|
|
"prettier-plugin-organize-attributes": "1.0.0",
|
|
"react": "18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"replace-in-file": "7.0.1",
|
|
"shx": "0.3.4",
|
|
"storybook": "7.0.9",
|
|
"ts-jest": "29.1.0",
|
|
"ts-node": "10.9.1",
|
|
"tslib": "2.6.0",
|
|
"typescript": "5.4.4",
|
|
"webpack-bundle-analyzer": "4.10.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"prisma": {
|
|
"seed": "node prisma/seed.js"
|
|
},
|
|
"resolutions": {
|
|
"rxjs": "7.5.6"
|
|
}
|
|
}
|