package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "bookkeeping-app",
"version": "4.33.0",
"private": true,
"scripts": {
"dev": "next dev --webpack",
"build": "npm run typecheck && next build --webpack",
"typecheck": "tsc -p tsconfig.typecheck.json --noEmit --pretty false",
"start": "next start",
"test:tz": "node tests/lib/userTime.test.ts",
"test:calendar": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/calendar.test.ts",
"test:photo-crypto": "node tests/lib/photoCryptoCore.test.ts",
"test:info-board": "node tests/lib/fullMoonInfoBoard.test.ts",
"test:dashboard-insights": "node tests/lib/dashboardInsights.test.ts",
"test:dashboard-preferences": "node tests/lib/dashboardPreferences.test.ts",
"test:dashboard-forecast": "node tests/lib/dashboardForecast.test.ts",
"test:mcp-auth": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/mcpAuth.test.ts",
"test:mcp-oauth": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/mcpOAuth.test.ts",
"test:mcp-descriptors": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/mcpDescriptors.test.ts",
"test:stock-helpers": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/stockHelpers.test.ts",
"test:us-stock": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/usStockFetch.test.ts",
"test:stock-history": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/stockHistory.test.ts",
"test:portfolio-performance": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/portfolioPerformance.test.ts",
"test:tw-stock-drip-day-trade": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/twStockDripAndDayTrade.test.ts",
"test:dashboard-helpers": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/dashboardHelpers.test.ts",
"test:report-currency": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/reportCurrency.test.ts",
"test:transaction-write-core": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/transactionWriteCore.test.ts",
"test:mcp-create-transaction": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/mcpCreateTransaction.test.ts",
"test:transaction-edit-rules": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/transactionEditRules.test.ts",
"test:mcp-update-note": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/mcpUpdateTransactionNote.test.ts",
"test:mcp-credit-card-repayment": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/mcpCreditCardRepayment.test.ts",
"test:line-record": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/lineRecordParser.test.ts",
"test:line-messaging": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/lineMessaging.test.ts",
"test:repayment-allocation": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/creditCardRepaymentAllocation.test.ts",
"test:credit-card-repayment": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/creditCardRepayment.test.ts",
"test:db-migrations": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/db.test.ts",
"test:transaction-tags": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/transactionTagRules.test.ts",
"test:ledger-policy": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/ledgerPolicy.test.ts",
"test:shared-ledger": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/sharedLedger.test.ts",
"test:transactions-manual-edit": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/transactionsManualEdit.test.ts",
"test:transaction-restore": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/transactionRestore.test.ts",
"test:apple-auth": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/appleAuth.test.ts",
"test:apple-link": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/appleLinkFlow.test.ts",
"test:universal-links": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/universalLinks.test.ts",
"test:describe-device": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/describeDevice.test.ts",
"test:reconciliation-parser": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/reconciliationParser.test.ts",
"test:reconciliation-match": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/reconciliationMatch.test.ts",
"test:reconciliation-import": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/reconciliationImport.test.ts",
"test:api-token-core": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/apiTokenCore.test.ts",
"test:webhook-ssrf": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/webhookSsrf.test.ts",
"test:api-token-webhook": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/apiTokenWebhook.test.ts",
"test:einvoice-core": "node tests/lib/einvoiceCore.test.ts",
"test:einvoice-provider": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/einvoiceProvider.test.ts",
"test:einvoice-carrier": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/einvoiceCarrier.test.ts",
"test:api-integration-ui": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/apiIntegrationUi.test.ts",
"test:xlsx-export": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/xlsxExport.test.ts",
"test:xlsx-export-route": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/xlsxExportRoute.test.ts",
"test:offline-queue": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/offlineQueue.test.ts",
"test:client-api-offline": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/clientApiOffline.test.ts",
"test:offline-client": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/offlineClientQueue.test.ts",
"test:offline-idempotency": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/offlineIdempotency.test.ts",
"test:smart-category-suggestions": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/smartCategorySuggestions.test.ts",
"test:recurring-detection": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/recurringDetection.test.ts",
"test:recurring-fx-request": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/recurringFxRequest.test.ts",
"test:smart-assist": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/smartAssist.test.ts",
"test": "npm run test:tz && npm run test:calendar && npm run test:photo-crypto && npm run test:info-board && npm run test:dashboard-insights && npm run test:dashboard-preferences && npm run test:dashboard-forecast && npm run test:mcp-auth && npm run test:mcp-oauth && npm run test:mcp-descriptors && npm run test:stock-helpers && npm run test:us-stock && npm run test:stock-history && npm run test:portfolio-performance && npm run test:tw-stock-drip-day-trade && npm run test:dashboard-helpers && npm run test:transaction-write-core && npm run test:mcp-create-transaction && npm run test:transaction-edit-rules && npm run test:mcp-update-note && npm run test:savings-goal && npm run test:repayment-allocation && npm run test:goals-api && npm run test:db-migrations && npm run test:ledger-policy && npm run test:transaction-tags && npm run test:shared-ledger && npm run test:shared-ledger-clients && npm run test:transactions-manual-edit && npm run test:credit-card-repayment && npm run test:mcp-credit-card-repayment && npm run test:line-record && npm run test:line-messaging && npm run test:transaction-restore && npm run test:apple-auth && npm run test:apple-link && npm run test:universal-links && npm run test:describe-device && npm run test:receipt-ocr && npm run test:reconciliation-parser && npm run test:reconciliation-match && npm run test:reconciliation-import && npm run test:api-token-core && npm run test:webhook-ssrf && npm run test:api-token-webhook && npm run test:einvoice-core && npm run test:einvoice-provider && npm run test:einvoice-carrier && npm run test:api-integration-ui && npm run test:offline-queue && npm run test:client-api-offline && npm run test:offline-client && npm run test:offline-idempotency && npm run test:smart-category-suggestions && npm run test:recurring-detection && npm run test:recurring-fx-request && npm run test:smart-assist && npm run test:report-currency && npm run test:xlsx-export && npm run test:xlsx-export-route && npm run test:env-secrets && npm run test:ttl-cooldown && npm run test:web-push && npm run test:web-push-db && npm run test:account-recovery && npm run test:setup-bootstrap && npm run test:authz-enforcement && npm run check:iso && npm run check:i18n",
"test:e2e": "playwright test",
"test:e2e:update-snapshots": "playwright test --update-snapshots=all",
"test:e2e:ui": "playwright test --ui",
"test:a11y": "playwright test tests/e2e/accessibility.test.ts",
"test:visual": "playwright test tests/e2e/visual.test.ts",
"i18n:generate": "node tools/generate-shared-i18n.mjs && cd mobile && flutter gen-l10n",
"check:iso": "node tools/check-iso-utc-format.ts",
"check:contrast": "node tools/check-contrast.mjs",
"check:i18n": "node tools/generate-shared-i18n.mjs --check && node tools/check-i18n-parity.ts",
"check:sla": "node tools/sla-monthly-report.ts",
"rotate:photo-key": "node tools/rotate-photo-master-key.ts",
"test:shared-ledger-clients": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/sharedLedgerClients.test.ts",
"test:savings-goal": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/savingsGoal.test.ts",
"test:goals-api": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/goalsApi.test.ts",
"test:web-push": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/webPush.test.ts",
"test:web-push-db": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/webPushDb.test.ts",
"test:account-recovery": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/accountRecovery.test.ts",
"test:setup-bootstrap": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/setupBootstrap.test.ts",
"test:authz-enforcement": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/authzEnforcement.test.ts",
"test:ttl-cooldown": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/ttlCooldown.test.ts",
"test:env-secrets": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/envSecrets.test.ts",
"test:receipt-ocr": "node --experimental-transform-types --import ./tests/setup/register.mjs tests/lib/receiptOcrCore.test.ts"
},
"engines": {
"node": ">=24.0.0 <25"
},
"dependencies": {
"@base-ui/react": "^1.9.0",
"@modelcontextprotocol/sdk": "^1.32.1",
"@passwordless-id/webauthn": "^2.4.1",
"@tailwindcss/postcss": "^4.3.3",
"chart.js": "^4.5.1",
"class-variance-authority": "^0.7.1",
"decimal.js": "^10.6.0",
"jsonwebtoken": "^9.0.3",
"jszip": "^3.10.2",
"lucide-react": "^1.55.0",
"next": "^16.4.1",
"nodemailer": "^10.1.4",
"pg": "^8.23.1",
"pino": "^10.4.0",
"react": "^19.3.0",
"react-dom": "^19.3.0",
"resend": "^6.32.1",
"sharp": "^0.35.5",
"tailwind-merge": "^3.7.0",
"tailwindcss": "^4.3.3",
"xlsx-stream-writer": "^1.3.2",
"zod": "^4.6.7",
"web-push": "^3.6.7"
},
"overrides": {
"postcss": "^8.5.29",
"uuid": "^14.0.2",
"sharp": "^0.35.5",
"fast-uri": "^4.2.3",
"hono": "^4.13.13",
"source-map-js": "^1.2.2",
"fast-copy": "^4.1.0",
"proxy-addr": "^2.0.8"
},
"devDependencies": {
"@axe-core/playwright": "^4.13.0",
"@playwright/test": "^1.64.0",
"@types/node": "^26.6.5",
"@types/pg": "^8.23.1",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"@typescript/native-preview": "7.0.0-dev.20260707.2",
"autoprefixer": "^10.6.1",
"pino-pretty": "^13.2.0",
"postcss": "^8.5.29",
"typescript": "^7.0.2",
"@types/web-push": "^3.6.4"
}
}