{ "name": "actual-sync", "version": "1.25.1", "description": "Automated bank synchronization service for Actual Budget", "main": "index.js", "scripts": { "start": "node index.js", "sync": "node index.js --force-run", "list-accounts": "node scripts/listAccounts.js", "history": "node scripts/viewHistory.js", "validate-config": "node scripts/validateConfig.js", "screenshots": "node scripts/generateDashboardScreenshots.js", "badges:generate": "node scripts/generate-badges.js", "version:bump": "node scripts/version-bump.js", "release:patch": "node scripts/version-bump.js patch", "release:minor": "node scripts/version-bump.js minor", "release:major": "node scripts/version-bump.js major", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "test:e2e": "node --experimental-vm-modules node_modules/.bin/jest --config jest.e2e.config.js --runInBand", "test:mutation": "node scripts/mutationTest.js", "dead:check": "knip", "drift:check": "node scripts/defaultBranchDrift.js", "knip": "knip --no-exit-code", "prepare": "git config core.hooksPath .githooks || true" }, "jest": { "testEnvironment": "node", "setupFilesAfterEnv": [ "/src/__tests__/helpers/failOnDroppedFields.js" ], "coverageDirectory": "coverage", "collectCoverageFrom": [ "src/**/*.js", "!src/**/*.test.js", "!src/syncService.js", "!src/services/dashboard.js", "!src/__tests__/**", "!index.js" ], "testMatch": [ "**/__tests__/**/*.test.js", "**/?(*.)+(spec|test).js" ], "testPathIgnorePatterns": [ "/node_modules/", "/\\.claude/" ], "modulePathIgnorePatterns": [ "/\\.claude/" ], "coveragePathIgnorePatterns": [ "/node_modules/", "/__tests__/", "/coverage/" ], "coverageThreshold": { "global": { "branches": 61, "functions": 70, "lines": 70, "statements": 70 } } }, "keywords": [ "actual-budget", "banking", "sync", "automation", "finance" ], "author": "", "license": "MIT", "repository": { "type": "git", "url": "" }, "dependencies": { "@actual-app/api": "^26.11.0", "ajv": "^8.20.0", "ajv-formats": "^3.0.1", "better-sqlite3": "^13.0.3", "chart.js": "^4.6.1", "cronstrue": "^3.38.0", "date-fns": "4.4.0", "dotenv": "^18.0.9", "express": "^5.3.0", "express-rate-limit": "^8.7.3", "handlebars": "4.7.10", "helmet": "^8.3.0", "moment-timezone": "^0.6.6", "node-schedule": "^2.1.2", "nodemailer": "^10.3.1", "prom-client": "^15.1.3", "rotating-file-stream": "^3.2.10", "ws": "^8.22.0" }, "engines": { "node": ">=22.0.0" }, "devDependencies": { "@babel/parser": "7.29.9", "@sinonjs/fake-timers": "15.4.0", "@types/jest": "^30.0.0", "jest": "^30.5.2", "js-yaml": "^5.5.0", "knip": "^6.44.1", "puppeteer": "^25.16.0" } }