{ "name": "kresus", "version": "0.26.0", "engines": { "node": ">=24" }, "description": "Kresus' Personal Finance Manager", "license": "AGPL-3.0-or-later", "repository": { "type": "git", "url": "https://git.kresus.org/kresus/kresus" }, "main": "client/main.js", "dependencies": { "currency-formatter": "~1.5.9", "express": "~5.2.1", "express-basic-auth": "~1.2.1", "immer": "^11.1.18", "ini": "^7.0.0", "log4js": "^6.9.1", "micro-memoize": "^5.1.2", "moment": "^2.30.1", "node-polyglot": "^2.6.0", "nodemailer": "^9.0.5", "ofx-js": "~1.1.1", "ospath": "~1.2.2", "pg": "^8.23.0", "regex-escape": "^4.0.0", "semver": "^7.8.5", "typeorm": "1.1.0" }, "devDependencies": { "@biomejs/biome": "^2.5.10", "@reduxjs/toolkit": "^2.12.0", "@tippyjs/react": "~4.2.6", "@types/currency-formatter": "~1.5.4", "@types/errorhandler": "~1.5.3", "@types/express": "^5.0.6", "@types/lodash.debounce": "~4.0.9", "@types/lodash.throttle": "~4.1.9", "@types/method-override": "^3.0.0", "@types/mocha": "~10.0.10", "@types/node": "^26.2.0", "@types/node-polyglot": "^2.5.0", "@types/nodemailer": "^8.0.1", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.4", "@types/react-redux": "~7.1.34", "@types/redux-logger": "~3.0.13", "@types/semver": "^7.8.0", "better-sqlite3": "^13.0.3", "chart.js": "^4.5.1", "chartjs-adapter-moment": "~1.0.1", "chartjs-plugin-zoom": "^2.2.0", "concurrently": "^10.0.5", "font-awesome": "~4.7.0", "globals": "^17.11.0", "ignore-styles": "~5.0.1", "indexof": "~0.0.1", "lodash.debounce": "~4.0.8", "lodash.throttle": "~4.1.1", "mocha": "^11.8.0", "normalize.css": "~8.0.1", "onchange": "~7.1.0", "primer-tooltips": "~2.0.0", "rc-slider": "~11.1.9", "react": "^19.2.8", "react-dom": "^19.2.8", "react-flatpickr": "~4.0.11", "react-redux": "~9.3.0", "react-router": "^8.3.0", "react-select": "^5.10.2", "react-toastify": "~11.1.0", "redux-logger": "~3.0.6", "rollup-plugin-sprite": "~0.1.2", "stylelint": "~17.14.1", "stylelint-config-standard": "~40.0.0", "tsx": "^4.23.12", "typescript": "^7.0.2", "vite": "^8.2.2", "vite-plugin-plain-text": "^1.4.2", "vite-plugin-react-refresh": "~1.0.0", "whatwg-fetch": "~3.6.20" }, "resolutions": { "rollup-plugin-sprite/**/form-data": "~4.0.6" }, "scripts": { "build:ci": "./scripts/build/ci.sh", "build:server": "./scripts/build/server.sh", "build:prod": "./scripts/build/prod.sh", "build": "./scripts/build/dev.sh", "build:dev": "./scripts/build/dev.sh", "ci:ts-client": "tsc --project ./client/tsconfig.json", "ci:lint": "./scripts/ci/lint.sh", "lint": "yarn ci:lint", "ci:lint-css": "./scripts/ci/lint-css.sh", "ci:lint-full": "./scripts/ci/lint-full.sh", "ci:python": "./scripts/ci/python.sh", "ci:banks": "./scripts/ci/banks.sh", "ci:locales": "./scripts/ci/locales.sh", "ci:test": "./scripts/ci/test.sh", "test": "yarn ci:test", "ci:config": "./scripts/ci/config.sh", "ci": "./scripts/ci/index.sh", "dev": "./scripts/dev.sh", "dev:githooks": "./scripts/dev/githooks.sh", "pretty": "./scripts/ci/lint.sh --fix", "fix:config": "./scripts/fix/config.sh", "fix:licenses": "node ./scripts/js/dependencies.js", "docker:release": "./scripts/docker/release.sh", "docker:nightly": "./scripts/docker/nightly.sh", "release": "./scripts/release.sh", "tsdev": "./scripts/tsdev.sh", "start": "node bin/kresus.js" }, "bin": { "kresus": "bin/kresus.js" }, "mocha": { "node-option": ["import=tsx"] } }