{ "name": "ghostfolio", "version": "1.73.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "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", "angular": "node --max_old_space_size=32768 ./node_modules/@angular/cli/bin/ng", "build:all": "ng build --configuration production api && ng build --configuration production client && yarn replace-placeholders-in-build", "build:storybook": "nx run ui:build-storybook", "clean": "rimraf dist", "database:format-schema": "prisma format", "database:generate-typings": "prisma generate", "database:gui": "prisma studio", "database:migrate": "prisma migrate deploy", "database:push": "prisma db push", "database:seed": "prisma db seed --preview-feature", "database:setup": "yarn database:push && yarn database:seed", "dep-graph": "nx dep-graph", "e2e": "ng e2e", "format": "nx format:write", "format:check": "nx format:check", "format:write": "nx format:write", "help": "nx help", "import-sort": "import-sort --write '{apps,libs}/**/*.ts'", "lint": "nx workspace-lint && ng lint", "ng": "nx", "nx": "nx", "postinstall": "prisma generate && ngcc --properties es2015 browser module main", "replace-placeholders-in-build": "node ./replace.build.js", "start": "node dist/apps/api/main", "start:client": "ng serve client --hmr -o", "start:prod": "node apps/api/main", "start:server": "nx serve api --watch", "start:storybook": "nx run ui:storybook", "test": "nx test", "ts-node": "ts-node", "update": "nx migrate latest", "watch:server": "nx build api --watch", "watch:test": "nx test --watch", "workspace-generator": "nx workspace-generator" }, "dependencies": { "@angular/animations": "12.2.4", "@angular/cdk": "12.2.4", "@angular/common": "12.2.4", "@angular/compiler": "12.2.4", "@angular/core": "12.2.4", "@angular/forms": "12.2.4", "@angular/material": "12.2.4", "@angular/platform-browser": "12.2.4", "@angular/platform-browser-dynamic": "12.2.4", "@angular/router": "12.2.4", "@codewithdan/observable-store": "2.2.11", "@dinero.js/currencies": "2.0.0-alpha.8", "@nestjs/common": "7.6.18", "@nestjs/config": "0.6.3", "@nestjs/core": "7.6.18", "@nestjs/jwt": "7.2.0", "@nestjs/passport": "7.1.6", "@nestjs/platform-express": "7.6.18", "@nestjs/schedule": "0.4.3", "@nestjs/serve-static": "2.1.4", "@nrwl/angular": "12.8.0", "@prisma/client": "2.30.2", "@simplewebauthn/browser": "4.1.0", "@simplewebauthn/server": "4.1.0", "@simplewebauthn/typescript-types": "4.0.0", "@stripe/stripe-js": "1.15.0", "@types/papaparse": "5.2.6", "alphavantage": "2.2.0", "angular-material-css-vars": "2.1.2", "bent": "7.3.12", "big.js": "6.1.1", "bootstrap": "4.6.0", "cache-manager": "3.4.3", "cache-manager-redis-store": "2.0.0", "chart.js": "3.5.0", "chartjs-adapter-date-fns": "2.0.0", "chartjs-plugin-datalabels": "2.0.0", "cheerio": "1.0.0-rc.6", "class-transformer": "0.3.2", "class-validator": "0.13.1", "color": "4.0.1", "countries-list": "2.6.1", "countup.js": "2.0.7", "cryptocurrencies": "7.0.0", "date-fns": "2.22.1", "envalid": "7.2.1", "http-status-codes": "2.1.4", "ionicons": "5.5.1", "lodash": "4.17.21", "ngx-device-detector": "2.1.1", "ngx-markdown": "12.0.1", "ngx-skeleton-loader": "2.9.1", "ngx-stripe": "12.0.2", "papaparse": "5.3.1", "passport": "0.4.1", "passport-google-oauth20": "2.0.0", "passport-jwt": "4.0.0", "prisma": "2.30.2", "reflect-metadata": "0.1.13", "round-to": "5.0.0", "rxjs": "6.6.7", "stripe": "8.156.0", "svgmap": "2.6.0", "tslib": "2.0.0", "uuid": "8.3.2", "yahoo-finance": "0.3.6", "zone.js": "0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "12.2.4", "@angular-eslint/eslint-plugin": "12.3.1", "@angular-eslint/eslint-plugin-template": "12.3.0", "@angular-eslint/template-parser": "12.3.0", "@angular/cli": "12.2.4", "@angular/compiler-cli": "12.2.4", "@angular/language-service": "12.2.4", "@angular/localize": "12.2.4", "@nestjs/schematics": "7.3.1", "@nestjs/testing": "7.6.18", "@nrwl/cli": "12.8.0", "@nrwl/cypress": "12.8.0", "@nrwl/eslint-plugin-nx": "12.8.0", "@nrwl/jest": "12.8.0", "@nrwl/nest": "12.8.0", "@nrwl/node": "12.8.0", "@nrwl/storybook": "12.9.0", "@nrwl/tao": "12.8.0", "@nrwl/workspace": "12.8.0", "@storybook/addon-essentials": "6.3.8", "@storybook/angular": "6.3.8", "@storybook/builder-webpack5": "6.3.8", "@storybook/manager-webpack5": "6.3.8", "@types/big.js": "6.1.2", "@types/cache-manager": "3.4.2", "@types/color": "3.0.2", "@types/jest": "26.0.20", "@types/lodash": "4.14.174", "@types/node": "14.14.33", "@types/passport-google-oauth20": "2.0.6", "@typescript-eslint/eslint-plugin": "4.27.0", "@typescript-eslint/parser": "4.27.0", "codelyzer": "6.0.1", "cypress": "6.2.1", "dotenv": "10.0.0", "eslint": "7.28.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-cypress": "2.10.3", "eslint-plugin-import": "2.23.4", "import-sort-cli": "6.0.0", "import-sort-parser-typescript": "6.0.0", "import-sort-style-module": "6.0.0", "jest": "27.0.3", "jest-preset-angular": "9.0.3", "prettier": "2.3.2", "replace-in-file": "6.2.0", "rimraf": "3.0.2", "ts-jest": "27.0.3", "ts-node": "9.1.1", "typescript": "4.3.5" }, "engines": { "node": ">=14" }, "importSort": { ".ts": { "parser": "typescript", "style": "module" } }, "prisma": { "seed": "node prisma/seed.js" } }