{ "name": "actual", "version": "0.0.1", "private": true, "description": "A local-first personal finance system", "homepage": "https://github.com/actualbudget/actual/", "bugs": { "url": "https://github.com/actualbudget/actual/issues/" }, "repository": { "type": "git", "url": "git@github.com:actualbudget/actual.git" }, "license": "MIT", "workspaces": { "packages": [ "packages/*" ] }, "scripts": { "start": "yarn start:browser", "start:server": "yarn workspace @actual-app/sync-server start", "start:server-monitor": "yarn workspace @actual-app/sync-server start-monitor", "start:server-dev": "NODE_ENV=development BROWSER_OPEN=localhost:5006 yarn npm-run-all --parallel 'start:server-monitor' 'start'", "start:desktop": "yarn desktop-dependencies && npm-run-all --parallel 'start:desktop-*'", "desktop-dependencies": "yarn rebuild-electron && yarn workspace loot-core build:browser", "start:desktop-node": "yarn workspace loot-core watch:node", "start:desktop-client": "yarn workspace @actual-app/web watch", "start:desktop-server-client": "yarn workspace @actual-app/web build:browser", "start:desktop-electron": "yarn workspace desktop-electron watch", "start:browser": "npm-run-all --parallel 'start:browser-*'", "start:browser-backend": "yarn workspace loot-core watch:browser", "start:browser-frontend": "yarn workspace @actual-app/web start:browser", "build:server": "yarn build:browser && yarn workspace @actual-app/sync-server build", "build:browser": "./bin/package-browser", "build:desktop": "./bin/package-electron", "build:api": "yarn workspace @actual-app/api build", "generate:i18n": "yarn workspace @actual-app/web generate:i18n", "generate:release-notes": "ts-node ./bin/release-note-generator.ts", "test": "yarn workspaces foreach --all --parallel --verbose run test", "test:debug": "yarn workspaces foreach --all --verbose run test", "e2e": "yarn workspaces foreach --all --exclude desktop-electron --parallel --verbose run e2e", "e2e:desktop": "yarn build:desktop --skip-exe-build && yarn workspace desktop-electron e2e", "vrt": "yarn workspaces foreach --all --parallel --verbose run vrt", "vrt:docker": "./bin/run-vrt", "rebuild-electron": "./node_modules/.bin/electron-rebuild -f -m ./packages/loot-core", "rebuild-node": "yarn workspace loot-core rebuild", "lint": "prettier --check . && eslint . --max-warnings 0", "lint:fix": "prettier --check --write . && eslint . --max-warnings 0 --fix", "install:server": "yarn workspaces focus @actual-app/sync-server --production", "typecheck": "yarn tsc --incremental && tsc-strict", "jq": "./node_modules/node-jq/bin/jq", "prepare": "husky" }, "devDependencies": { "@octokit/rest": "^22.0.0", "@types/node": "^22.15.18", "@types/prompts": "^2.4.9", "@typescript-eslint/parser": "^8.32.1", "cross-env": "^7.0.3", "eslint": "^9.27.0", "eslint-config-prettier": "^10.1.5", "eslint-import-resolver-typescript": "^4.3.5", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-rulesdir": "^0.2.2", "eslint-plugin-typescript-paths": "^0.0.33", "globals": "^15.15.0", "html-to-image": "^1.11.13", "husky": "^9.1.7", "lint-staged": "^15.5.2", "minimatch": "^10.0.3", "node-jq": "^6.0.1", "npm-run-all": "^4.1.5", "prettier": "^3.5.3", "prompts": "^2.4.2", "source-map-support": "^0.5.21", "ts-node": "^10.9.2", "typescript": "^5.8.3", "typescript-eslint": "^8.32.1", "typescript-strict-plugin": "^2.4.4" }, "resolutions": { "rollup": "4.40.1", "socks": ">=2.8.3" }, "engines": { "node": ">=20", "yarn": "^4.9.1" }, "lint-staged": { "*.{js,mjs,jsx,ts,tsx,md,json,yml}": [ "eslint --fix", "prettier --write" ] }, "packageManager": "yarn@4.9.1", "browserslist": [ "electron 24.0", "defaults" ] }