Ctrl K
ComunidadGuías…

package.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "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"
  }
}