2026-05-03 19:51:57 -05:00
{
"name" : "bill-tracker" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "0.28.4.4" ,
2026-05-03 19:51:57 -05:00
"lockfileVersion" : 3 ,
"requires" : true ,
"packages" : {
"" : {
"name" : "bill-tracker" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "0.28.4.4" ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-alert-dialog" : "^1.1.2" ,
"@radix-ui/react-checkbox" : "^1.1.2" ,
v0.25.0: roadmap redesign, import CSRF fix, AdminDashboard removed
- RoadmapPage: kanban-style priority lanes, shadcn Collapsible/Tabs,
lazy-loaded activity log, admin-only /api/about/roadmap + /dev-log endpoints
- Import CSRF fix: added x-csrf-token header to importAdminBackup,
previewSpreadsheetImport, previewUserDbImport raw fetch() calls
- Removed AdminDashboard.jsx, replaced by RoadmapPage
- Added @radix-ui/react-collapsible + collapsible shadcn component
- Security audit by Private_Hudson: PASS (CSRF fix verified,
admin endpoints gated, path traversal mitigated, XSS safe)
2026-05-11 21:42:36 -05:00
"@radix-ui/react-collapsible" : "^1.1.12" ,
2026-05-03 19:51:57 -05:00
"@radix-ui/react-dialog" : "^1.1.2" ,
"@radix-ui/react-dropdown-menu" : "^2.1.2" ,
"@radix-ui/react-label" : "^2.1.0" ,
"@radix-ui/react-select" : "^2.1.2" ,
"@radix-ui/react-separator" : "^1.1.0" ,
"@radix-ui/react-slot" : "^1.1.0" ,
"@radix-ui/react-switch" : "^1.1.1" ,
"@radix-ui/react-tabs" : "^1.1.1" ,
"@radix-ui/react-tooltip" : "^1.1.3" ,
2026-05-10 03:10:43 -05:00
"@tanstack/react-query" : "^5.100.9" ,
"@tanstack/react-query-devtools" : "^5.100.9" ,
2026-05-03 19:51:57 -05:00
"bcryptjs" : "^2.4.3" ,
2026-05-09 13:03:36 -05:00
"better-sqlite3" : "^12.9.0" ,
2026-05-03 19:51:57 -05:00
"class-variance-authority" : "^0.7.0" ,
"clsx" : "^2.1.1" ,
"cookie-parser" : "^1.4.6" ,
"cors" : "^2.8.5" ,
"express" : "^4.18.2" ,
"express-rate-limit" : "^8.4.1" ,
"lucide-react" : "^0.456.0" ,
2026-05-28 03:59:35 -05:00
"node-cron" : "^4.2.1" ,
"nodemailer" : "^8.0.9" ,
2026-05-03 19:51:57 -05:00
"openid-client" : "^5.7.1" ,
"react" : "^18.3.1" ,
"react-dom" : "^18.3.1" ,
2026-05-09 16:25:12 -05:00
"react-markdown" : "^10.1.0" ,
2026-05-03 19:51:57 -05:00
"react-router-dom" : "^6.26.2" ,
2026-05-09 16:25:12 -05:00
"rehype-sanitize" : "^6.0.0" ,
"remark-gfm" : "^4.0.1" ,
2026-05-03 19:51:57 -05:00
"sonner" : "^1.7.1" ,
"tailwind-merge" : "^2.5.4" ,
"tailwindcss-animate" : "^1.0.7" ,
"xlsx" : "^0.18.5"
} ,
"devDependencies" : {
"@vitejs/plugin-react" : "^4.3.3" ,
"autoprefixer" : "^10.4.20" ,
"concurrently" : "^9.1.0" ,
"postcss" : "^8.4.47" ,
"tailwindcss" : "^3.4.14" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"vite" : "^5.4.10" ,
"vite-plugin-pwa" : "^1.3.0"
2026-05-03 19:51:57 -05:00
}
} ,
"node_modules/@alloc/quick-lru" : {
"version" : "5.2.0" ,
"resolved" : "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" ,
"integrity" : "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@apideck/better-ajv-errors" : {
"version" : "0.3.7" ,
"resolved" : "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.7.tgz" ,
"integrity" : "sha512-TajUJwGWbDwkCx/CZi7tRE8PVB7simCvKJfHUsSdvps+aTM/PDPP4gkLmKnc+x3CE//y9i/nj74GqdL/hwk7Iw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"jsonpointer" : "^5.0.1" ,
"leven" : "^3.1.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"peerDependencies" : {
"ajv" : ">=8"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@babel/code-frame" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz" ,
"integrity" : "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/helper-validator-identifier" : "^7.29.7" ,
2026-05-03 19:51:57 -05:00
"js-tokens" : "^4.0.0" ,
"picocolors" : "^1.1.1"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/compat-data" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz" ,
"integrity" : "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/core" : {
"version" : "7.29.0" ,
"resolved" : "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz" ,
"integrity" : "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@babel/code-frame" : "^7.29.0" ,
"@babel/generator" : "^7.29.0" ,
"@babel/helper-compilation-targets" : "^7.28.6" ,
"@babel/helper-module-transforms" : "^7.28.6" ,
"@babel/helpers" : "^7.28.6" ,
"@babel/parser" : "^7.29.0" ,
"@babel/template" : "^7.28.6" ,
"@babel/traverse" : "^7.29.0" ,
"@babel/types" : "^7.29.0" ,
"@jridgewell/remapping" : "^2.3.5" ,
"convert-source-map" : "^2.0.0" ,
"debug" : "^4.1.0" ,
"gensync" : "^1.0.0-beta.2" ,
"json5" : "^2.2.3" ,
"semver" : "^6.3.1"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/babel"
}
} ,
"node_modules/@babel/generator" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz" ,
"integrity" : "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/parser" : "^7.29.7" ,
"@babel/types" : "^7.29.7" ,
2026-05-03 19:51:57 -05:00
"@jridgewell/gen-mapping" : "^0.3.12" ,
"@jridgewell/trace-mapping" : "^0.3.28" ,
"jsesc" : "^3.0.2"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/helper-annotate-as-pure" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz" ,
"integrity" : "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/types" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@babel/helper-compilation-targets" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz" ,
"integrity" : "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/compat-data" : "^7.29.7" ,
"@babel/helper-validator-option" : "^7.29.7" ,
2026-05-03 19:51:57 -05:00
"browserslist" : "^4.24.0" ,
"lru-cache" : "^5.1.1" ,
"semver" : "^6.3.1"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/helper-create-class-features-plugin" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz" ,
"integrity" : "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-annotate-as-pure" : "^7.29.7" ,
"@babel/helper-member-expression-to-functions" : "^7.29.7" ,
"@babel/helper-optimise-call-expression" : "^7.29.7" ,
"@babel/helper-replace-supers" : "^7.29.7" ,
"@babel/helper-skip-transparent-expression-wrappers" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7" ,
"semver" : "^6.3.1"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/helper-create-regexp-features-plugin" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.29.7.tgz" ,
"integrity" : "sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-annotate-as-pure" : "^7.29.7" ,
"regexpu-core" : "^6.3.1" ,
"semver" : "^6.3.1"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/helper-define-polyfill-provider" : {
"version" : "0.6.8" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz" ,
"integrity" : "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-compilation-targets" : "^7.28.6" ,
"@babel/helper-plugin-utils" : "^7.28.6" ,
"debug" : "^4.4.3" ,
"lodash.debounce" : "^4.0.8" ,
"resolve" : "^1.22.11"
} ,
"peerDependencies" : {
"@babel/core" : "^7.4.0 || ^8.0.0-0 <8.0.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@babel/helper-globals" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz" ,
"integrity" : "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-member-expression-to-functions" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz" ,
"integrity" : "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/traverse" : "^7.29.7" ,
"@babel/types" : "^7.29.7"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-module-imports" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz" ,
"integrity" : "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/traverse" : "^7.29.7" ,
"@babel/types" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-module-transforms" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz" ,
"integrity" : "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/helper-module-imports" : "^7.29.7" ,
"@babel/helper-validator-identifier" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/helper-optimise-call-expression" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz" ,
"integrity" : "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/types" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@babel/helper-plugin-utils" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz" ,
"integrity" : "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-remap-async-to-generator" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.29.7.tgz" ,
"integrity" : "sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-annotate-as-pure" : "^7.29.7" ,
"@babel/helper-wrap-function" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/helper-replace-supers" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz" ,
"integrity" : "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-member-expression-to-functions" : "^7.29.7" ,
"@babel/helper-optimise-call-expression" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/helper-skip-transparent-expression-wrappers" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz" ,
"integrity" : "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/traverse" : "^7.29.7" ,
"@babel/types" : "^7.29.7"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-string-parser" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz" ,
"integrity" : "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-validator-identifier" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz" ,
"integrity" : "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-validator-option" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz" ,
"integrity" : "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-wrap-function" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.29.7.tgz" ,
"integrity" : "sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/template" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7" ,
"@babel/types" : "^7.29.7"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helpers" : {
"version" : "7.29.2" ,
"resolved" : "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz" ,
"integrity" : "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@babel/template" : "^7.28.6" ,
"@babel/types" : "^7.29.0"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/parser" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz" ,
"integrity" : "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/types" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"bin" : {
"parser" : "bin/babel-parser.js"
} ,
"engines" : {
"node" : ">=6.0.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.29.7.tgz" ,
"integrity" : "sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/core" : "^7.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.29.7.tgz" ,
"integrity" : "sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/helper-plugin-utils" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/core" : "^7.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.29.7.tgz" ,
"integrity" : "sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/helper-plugin-utils" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">=6.9.0"
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-7.29.7.tgz" ,
"integrity" : "sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-skip-transparent-expression-wrappers" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">=6.9.0"
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.29.7.tgz" ,
"integrity" : "sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-skip-transparent-expression-wrappers" : "^7.29.7" ,
"@babel/plugin-transform-optional-chaining" : "^7.29.7"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">=6.9.0"
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
} ,
"peerDependencies" : {
"@babel/core" : "^7.13.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.29.7.tgz" ,
"integrity" : "sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-proposal-private-property-in-object" : {
"version" : "7.21.0-placeholder-for-preset-env.2" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" ,
"integrity" : "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-syntax-import-assertions" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.29.7.tgz" ,
"integrity" : "sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-syntax-import-attributes" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz" ,
"integrity" : "sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-syntax-unicode-sets-regex" : {
"version" : "7.18.6" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" ,
"integrity" : "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.18.6" ,
"@babel/helper-plugin-utils" : "^7.18.6"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-transform-arrow-functions" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.29.7.tgz" ,
"integrity" : "sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
2026-05-03 19:51:57 -05:00
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@babel/plugin-transform-async-generator-functions" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.7.tgz" ,
"integrity" : "sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-remap-async-to-generator" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-async-to-generator" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.29.7.tgz" ,
"integrity" : "sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-module-imports" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-remap-async-to-generator" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-block-scoped-functions" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.29.7.tgz" ,
"integrity" : "sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-block-scoping" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.29.7.tgz" ,
"integrity" : "sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-class-properties" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.29.7.tgz" ,
"integrity" : "sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-class-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-class-static-block" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.29.7.tgz" ,
"integrity" : "sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-class-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.12.0"
}
} ,
"node_modules/@babel/plugin-transform-classes" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.29.7.tgz" ,
"integrity" : "sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-annotate-as-pure" : "^7.29.7" ,
"@babel/helper-compilation-targets" : "^7.29.7" ,
"@babel/helper-globals" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-replace-supers" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-computed-properties" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.29.7.tgz" ,
"integrity" : "sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/template" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-destructuring" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.29.7.tgz" ,
"integrity" : "sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-dotall-regex" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.29.7.tgz" ,
"integrity" : "sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-duplicate-keys" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.29.7.tgz" ,
"integrity" : "sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.7.tgz" ,
"integrity" : "sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/plugin-transform-dynamic-import" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.29.7.tgz" ,
"integrity" : "sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-explicit-resource-management" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.29.7.tgz" ,
"integrity" : "sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/plugin-transform-destructuring" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-exponentiation-operator" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.29.7.tgz" ,
"integrity" : "sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-export-namespace-from" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.29.7.tgz" ,
"integrity" : "sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-for-of" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.29.7.tgz" ,
"integrity" : "sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-skip-transparent-expression-wrappers" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-function-name" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.29.7.tgz" ,
"integrity" : "sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-compilation-targets" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-json-strings" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.29.7.tgz" ,
"integrity" : "sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-literals" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.29.7.tgz" ,
"integrity" : "sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-logical-assignment-operators" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.29.7.tgz" ,
"integrity" : "sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-member-expression-literals" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.29.7.tgz" ,
"integrity" : "sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-modules-amd" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.29.7.tgz" ,
"integrity" : "sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-module-transforms" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-modules-commonjs" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz" ,
"integrity" : "sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-module-transforms" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-modules-systemjs" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.7.tgz" ,
"integrity" : "sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-module-transforms" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-validator-identifier" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-modules-umd" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.29.7.tgz" ,
"integrity" : "sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-module-transforms" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-named-capturing-groups-regex" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.7.tgz" ,
"integrity" : "sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/plugin-transform-new-target" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.29.7.tgz" ,
"integrity" : "sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-nullish-coalescing-operator" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.29.7.tgz" ,
"integrity" : "sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-numeric-separator" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.29.7.tgz" ,
"integrity" : "sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-object-rest-spread" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.29.7.tgz" ,
"integrity" : "sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-compilation-targets" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/plugin-transform-destructuring" : "^7.29.7" ,
"@babel/plugin-transform-parameters" : "^7.29.7" ,
"@babel/traverse" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-object-super" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.29.7.tgz" ,
"integrity" : "sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-replace-supers" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-optional-catch-binding" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.29.7.tgz" ,
"integrity" : "sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-optional-chaining" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.29.7.tgz" ,
"integrity" : "sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-skip-transparent-expression-wrappers" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-parameters" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.29.7.tgz" ,
"integrity" : "sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-private-methods" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.29.7.tgz" ,
"integrity" : "sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-class-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-private-property-in-object" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.29.7.tgz" ,
"integrity" : "sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-annotate-as-pure" : "^7.29.7" ,
"@babel/helper-create-class-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-property-literals" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.29.7.tgz" ,
"integrity" : "sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-react-jsx-self" : {
"version" : "7.27.1" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz" ,
"integrity" : "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.27.1"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-react-jsx-source" : {
"version" : "7.27.1" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz" ,
"integrity" : "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.27.1"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-regenerator" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.7.tgz" ,
"integrity" : "sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-regexp-modifiers" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.29.7.tgz" ,
"integrity" : "sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/plugin-transform-reserved-words" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.29.7.tgz" ,
"integrity" : "sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-shorthand-properties" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.29.7.tgz" ,
"integrity" : "sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-spread" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.29.7.tgz" ,
"integrity" : "sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-skip-transparent-expression-wrappers" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-sticky-regex" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.29.7.tgz" ,
"integrity" : "sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-template-literals" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.29.7.tgz" ,
"integrity" : "sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-typeof-symbol" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.29.7.tgz" ,
"integrity" : "sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-unicode-escapes" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.29.7.tgz" ,
"integrity" : "sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-unicode-property-regex" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.29.7.tgz" ,
"integrity" : "sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-unicode-regex" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.29.7.tgz" ,
"integrity" : "sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/plugin-transform-unicode-sets-regex" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.29.7.tgz" ,
"integrity" : "sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-create-regexp-features-plugin" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0"
}
} ,
"node_modules/@babel/preset-env" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.7.tgz" ,
"integrity" : "sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/compat-data" : "^7.29.7" ,
"@babel/helper-compilation-targets" : "^7.29.7" ,
"@babel/helper-plugin-utils" : "^7.29.7" ,
"@babel/helper-validator-option" : "^7.29.7" ,
"@babel/plugin-bugfix-firefox-class-in-computed-class-key" : "^7.29.7" ,
"@babel/plugin-bugfix-safari-class-field-initializer-scope" : "^7.29.7" ,
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" : "^7.29.7" ,
"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array" : "^7.29.7" ,
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" : "^7.29.7" ,
"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" : "^7.29.7" ,
"@babel/plugin-proposal-private-property-in-object" : "7.21.0-placeholder-for-preset-env.2" ,
"@babel/plugin-syntax-import-assertions" : "^7.29.7" ,
"@babel/plugin-syntax-import-attributes" : "^7.29.7" ,
"@babel/plugin-syntax-unicode-sets-regex" : "^7.18.6" ,
"@babel/plugin-transform-arrow-functions" : "^7.29.7" ,
"@babel/plugin-transform-async-generator-functions" : "^7.29.7" ,
"@babel/plugin-transform-async-to-generator" : "^7.29.7" ,
"@babel/plugin-transform-block-scoped-functions" : "^7.29.7" ,
"@babel/plugin-transform-block-scoping" : "^7.29.7" ,
"@babel/plugin-transform-class-properties" : "^7.29.7" ,
"@babel/plugin-transform-class-static-block" : "^7.29.7" ,
"@babel/plugin-transform-classes" : "^7.29.7" ,
"@babel/plugin-transform-computed-properties" : "^7.29.7" ,
"@babel/plugin-transform-destructuring" : "^7.29.7" ,
"@babel/plugin-transform-dotall-regex" : "^7.29.7" ,
"@babel/plugin-transform-duplicate-keys" : "^7.29.7" ,
"@babel/plugin-transform-duplicate-named-capturing-groups-regex" : "^7.29.7" ,
"@babel/plugin-transform-dynamic-import" : "^7.29.7" ,
"@babel/plugin-transform-explicit-resource-management" : "^7.29.7" ,
"@babel/plugin-transform-exponentiation-operator" : "^7.29.7" ,
"@babel/plugin-transform-export-namespace-from" : "^7.29.7" ,
"@babel/plugin-transform-for-of" : "^7.29.7" ,
"@babel/plugin-transform-function-name" : "^7.29.7" ,
"@babel/plugin-transform-json-strings" : "^7.29.7" ,
"@babel/plugin-transform-literals" : "^7.29.7" ,
"@babel/plugin-transform-logical-assignment-operators" : "^7.29.7" ,
"@babel/plugin-transform-member-expression-literals" : "^7.29.7" ,
"@babel/plugin-transform-modules-amd" : "^7.29.7" ,
"@babel/plugin-transform-modules-commonjs" : "^7.29.7" ,
"@babel/plugin-transform-modules-systemjs" : "^7.29.7" ,
"@babel/plugin-transform-modules-umd" : "^7.29.7" ,
"@babel/plugin-transform-named-capturing-groups-regex" : "^7.29.7" ,
"@babel/plugin-transform-new-target" : "^7.29.7" ,
"@babel/plugin-transform-nullish-coalescing-operator" : "^7.29.7" ,
"@babel/plugin-transform-numeric-separator" : "^7.29.7" ,
"@babel/plugin-transform-object-rest-spread" : "^7.29.7" ,
"@babel/plugin-transform-object-super" : "^7.29.7" ,
"@babel/plugin-transform-optional-catch-binding" : "^7.29.7" ,
"@babel/plugin-transform-optional-chaining" : "^7.29.7" ,
"@babel/plugin-transform-parameters" : "^7.29.7" ,
"@babel/plugin-transform-private-methods" : "^7.29.7" ,
"@babel/plugin-transform-private-property-in-object" : "^7.29.7" ,
"@babel/plugin-transform-property-literals" : "^7.29.7" ,
"@babel/plugin-transform-regenerator" : "^7.29.7" ,
"@babel/plugin-transform-regexp-modifiers" : "^7.29.7" ,
"@babel/plugin-transform-reserved-words" : "^7.29.7" ,
"@babel/plugin-transform-shorthand-properties" : "^7.29.7" ,
"@babel/plugin-transform-spread" : "^7.29.7" ,
"@babel/plugin-transform-sticky-regex" : "^7.29.7" ,
"@babel/plugin-transform-template-literals" : "^7.29.7" ,
"@babel/plugin-transform-typeof-symbol" : "^7.29.7" ,
"@babel/plugin-transform-unicode-escapes" : "^7.29.7" ,
"@babel/plugin-transform-unicode-property-regex" : "^7.29.7" ,
"@babel/plugin-transform-unicode-regex" : "^7.29.7" ,
"@babel/plugin-transform-unicode-sets-regex" : "^7.29.7" ,
"@babel/preset-modules" : "0.1.6-no-external-plugins" ,
"babel-plugin-polyfill-corejs2" : "^0.4.15" ,
"babel-plugin-polyfill-corejs3" : "^0.14.0" ,
"babel-plugin-polyfill-regenerator" : "^0.6.6" ,
"core-js-compat" : "^3.48.0" ,
"semver" : "^6.3.1"
} ,
"engines" : {
"node" : ">=6.9.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0"
}
} ,
"node_modules/@babel/preset-modules" : {
"version" : "0.1.6-no-external-plugins" ,
"resolved" : "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" ,
"integrity" : "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-plugin-utils" : "^7.0.0" ,
"@babel/types" : "^7.4.4" ,
"esutils" : "^2.0.2"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0-0 || ^8.0.0-0 <8.0.0"
}
} ,
"node_modules/@babel/runtime" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz" ,
"integrity" : "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/template" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz" ,
"integrity" : "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/code-frame" : "^7.29.7" ,
"@babel/parser" : "^7.29.7" ,
"@babel/types" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/traverse" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz" ,
"integrity" : "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/code-frame" : "^7.29.7" ,
"@babel/generator" : "^7.29.7" ,
"@babel/helper-globals" : "^7.29.7" ,
"@babel/parser" : "^7.29.7" ,
"@babel/template" : "^7.29.7" ,
"@babel/types" : "^7.29.7" ,
"debug" : "^4.3.1"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/types" : {
"version" : "7.29.7" ,
"resolved" : "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz" ,
"integrity" : "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-string-parser" : "^7.29.7" ,
"@babel/helper-validator-identifier" : "^7.29.7"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@esbuild/aix-ppc64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz" ,
"integrity" : "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==" ,
"cpu" : [
"ppc64"
] ,
"dev" : true ,
"license" : "MIT" ,
"optional" : true ,
"os" : [
"aix"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/android-arm" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz" ,
"integrity" : "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==" ,
"cpu" : [
"arm"
] ,
"dev" : true ,
"license" : "MIT" ,
"optional" : true ,
"os" : [
"android"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/android-arm64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz" ,
"integrity" : "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"license" : "MIT" ,
"optional" : true ,
"os" : [
"android"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/android-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz" ,
"integrity" : "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"license" : "MIT" ,
"optional" : true ,
"os" : [
"android"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/darwin-arm64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz" ,
"integrity" : "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"license" : "MIT" ,
"optional" : true ,
"os" : [
"darwin"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/darwin-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz" ,
"integrity" : "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"license" : "MIT" ,
"optional" : true ,
"os" : [
"darwin"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/freebsd-arm64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz" ,
"integrity" : "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==" ,
"cpu" : [
2026-05-03 19:51:57 -05:00
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"freebsd"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/freebsd-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz" ,
"integrity" : "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"freebsd"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-arm" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz" ,
"integrity" : "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==" ,
"cpu" : [
"arm"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-arm64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz" ,
"integrity" : "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-ia32" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz" ,
"integrity" : "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==" ,
"cpu" : [
"ia32"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-loong64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz" ,
"integrity" : "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==" ,
"cpu" : [
"loong64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-mips64el" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz" ,
"integrity" : "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==" ,
"cpu" : [
"mips64el"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-ppc64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz" ,
"integrity" : "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==" ,
"cpu" : [
"ppc64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-riscv64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz" ,
"integrity" : "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==" ,
"cpu" : [
"riscv64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-s390x" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz" ,
"integrity" : "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==" ,
"cpu" : [
"s390x"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/linux-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz" ,
"integrity" : "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/netbsd-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz" ,
"integrity" : "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"netbsd"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/openbsd-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz" ,
"integrity" : "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"openbsd"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/sunos-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz" ,
"integrity" : "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"sunos"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/win32-arm64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz" ,
"integrity" : "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"win32"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/win32-ia32" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz" ,
"integrity" : "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==" ,
"cpu" : [
"ia32"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"win32"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@esbuild/win32-x64" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz" ,
"integrity" : "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"win32"
] ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@floating-ui/core" : {
"version" : "1.7.5" ,
"resolved" : "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz" ,
"integrity" : "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@floating-ui/utils" : "^0.2.11"
}
} ,
"node_modules/@floating-ui/dom" : {
"version" : "1.7.6" ,
"resolved" : "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz" ,
"integrity" : "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@floating-ui/core" : "^1.7.5" ,
"@floating-ui/utils" : "^0.2.11"
}
} ,
"node_modules/@floating-ui/react-dom" : {
"version" : "2.1.8" ,
"resolved" : "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz" ,
"integrity" : "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@floating-ui/dom" : "^1.7.6"
} ,
"peerDependencies" : {
"react" : ">=16.8.0" ,
"react-dom" : ">=16.8.0"
}
} ,
"node_modules/@floating-ui/utils" : {
"version" : "0.2.11" ,
"resolved" : "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@isaacs/cliui" : {
"version" : "9.0.0" ,
"resolved" : "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz" ,
"integrity" : "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==" ,
"dev" : true ,
"license" : "BlueOak-1.0.0" ,
"engines" : {
"node" : ">=18"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@jridgewell/gen-mapping" : {
"version" : "0.3.13" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz" ,
"integrity" : "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@jridgewell/sourcemap-codec" : "^1.5.0" ,
"@jridgewell/trace-mapping" : "^0.3.24"
}
} ,
"node_modules/@jridgewell/remapping" : {
"version" : "2.3.5" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz" ,
"integrity" : "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@jridgewell/gen-mapping" : "^0.3.5" ,
"@jridgewell/trace-mapping" : "^0.3.24"
}
} ,
"node_modules/@jridgewell/resolve-uri" : {
"version" : "3.1.2" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" ,
"integrity" : "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.0.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@jridgewell/source-map" : {
"version" : "0.3.11" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz" ,
"integrity" : "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@jridgewell/gen-mapping" : "^0.3.5" ,
"@jridgewell/trace-mapping" : "^0.3.25"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@jridgewell/sourcemap-codec" : {
"version" : "1.5.5" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/@jridgewell/trace-mapping" : {
"version" : "0.3.31" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz" ,
"integrity" : "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@jridgewell/resolve-uri" : "^3.1.0" ,
"@jridgewell/sourcemap-codec" : "^1.4.14"
}
} ,
"node_modules/@nodelib/fs.scandir" : {
"version" : "2.1.5" ,
"resolved" : "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" ,
"integrity" : "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@nodelib/fs.stat" : "2.0.5" ,
"run-parallel" : "^1.1.9"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/@nodelib/fs.stat" : {
"version" : "2.0.5" ,
"resolved" : "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" ,
"integrity" : "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/@nodelib/fs.walk" : {
"version" : "1.2.8" ,
"resolved" : "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" ,
"integrity" : "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@nodelib/fs.scandir" : "2.1.5" ,
"fastq" : "^1.6.0"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/@radix-ui/number" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/@radix-ui/primitive" : {
"version" : "1.1.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/@radix-ui/react-alert-dialog" : {
"version" : "1.1.15" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.15.tgz" ,
"integrity" : "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-dialog" : "1.1.15" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-slot" : "1.2.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-alert-dialog/node_modules/@radix-ui/react-slot" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz" ,
"integrity" : "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-arrow" : {
"version" : "1.1.7" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz" ,
"integrity" : "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-primitive" : "2.1.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-checkbox" : {
"version" : "1.3.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz" ,
"integrity" : "sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-presence" : "1.1.5" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-controllable-state" : "1.2.2" ,
"@radix-ui/react-use-previous" : "1.1.1" ,
"@radix-ui/react-use-size" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
v0.25.0: roadmap redesign, import CSRF fix, AdminDashboard removed
- RoadmapPage: kanban-style priority lanes, shadcn Collapsible/Tabs,
lazy-loaded activity log, admin-only /api/about/roadmap + /dev-log endpoints
- Import CSRF fix: added x-csrf-token header to importAdminBackup,
previewSpreadsheetImport, previewUserDbImport raw fetch() calls
- Removed AdminDashboard.jsx, replaced by RoadmapPage
- Added @radix-ui/react-collapsible + collapsible shadcn component
- Security audit by Private_Hudson: PASS (CSRF fix verified,
admin endpoints gated, path traversal mitigated, XSS safe)
2026-05-11 21:42:36 -05:00
"node_modules/@radix-ui/react-collapsible" : {
"version" : "1.1.12" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz" ,
"integrity" : "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==" ,
"license" : "MIT" ,
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-presence" : "1.1.5" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-controllable-state" : "1.2.2" ,
"@radix-ui/react-use-layout-effect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@radix-ui/react-collection" : {
"version" : "1.1.7" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz" ,
"integrity" : "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-slot" : "1.2.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz" ,
"integrity" : "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-compose-refs" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz" ,
"integrity" : "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-context" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz" ,
"integrity" : "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-dialog" : {
"version" : "1.1.15" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz" ,
"integrity" : "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-dismissable-layer" : "1.1.11" ,
"@radix-ui/react-focus-guards" : "1.1.3" ,
"@radix-ui/react-focus-scope" : "1.1.7" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-portal" : "1.1.9" ,
"@radix-ui/react-presence" : "1.1.5" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-slot" : "1.2.3" ,
"@radix-ui/react-use-controllable-state" : "1.2.2" ,
"aria-hidden" : "^1.2.4" ,
"react-remove-scroll" : "^2.6.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz" ,
"integrity" : "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-direction" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz" ,
"integrity" : "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-dismissable-layer" : {
"version" : "1.1.11" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz" ,
"integrity" : "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-callback-ref" : "1.1.1" ,
"@radix-ui/react-use-escape-keydown" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-dropdown-menu" : {
"version" : "2.1.16" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz" ,
"integrity" : "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-menu" : "2.1.16" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-controllable-state" : "1.2.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-focus-guards" : {
"version" : "1.1.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz" ,
"integrity" : "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-focus-scope" : {
"version" : "1.1.7" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz" ,
"integrity" : "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-callback-ref" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-id" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz" ,
"integrity" : "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-use-layout-effect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-label" : {
"version" : "2.1.8" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.8.tgz" ,
"integrity" : "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-primitive" : "2.1.4"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive" : {
"version" : "2.1.4" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz" ,
"integrity" : "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-slot" : "1.2.4"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-menu" : {
"version" : "2.1.16" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.16.tgz" ,
"integrity" : "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-collection" : "1.1.7" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-direction" : "1.1.1" ,
"@radix-ui/react-dismissable-layer" : "1.1.11" ,
"@radix-ui/react-focus-guards" : "1.1.3" ,
"@radix-ui/react-focus-scope" : "1.1.7" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-popper" : "1.2.8" ,
"@radix-ui/react-portal" : "1.1.9" ,
"@radix-ui/react-presence" : "1.1.5" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-roving-focus" : "1.1.11" ,
"@radix-ui/react-slot" : "1.2.3" ,
"@radix-ui/react-use-callback-ref" : "1.1.1" ,
"aria-hidden" : "^1.2.4" ,
"react-remove-scroll" : "^2.6.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz" ,
"integrity" : "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-popper" : {
"version" : "1.2.8" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz" ,
"integrity" : "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@floating-ui/react-dom" : "^2.0.0" ,
"@radix-ui/react-arrow" : "1.1.7" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-callback-ref" : "1.1.1" ,
"@radix-ui/react-use-layout-effect" : "1.1.1" ,
"@radix-ui/react-use-rect" : "1.1.1" ,
"@radix-ui/react-use-size" : "1.1.1" ,
"@radix-ui/rect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-portal" : {
"version" : "1.1.9" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz" ,
"integrity" : "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-layout-effect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-presence" : {
"version" : "1.1.5" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz" ,
"integrity" : "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-use-layout-effect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-primitive" : {
"version" : "2.1.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz" ,
"integrity" : "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-slot" : "1.2.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz" ,
"integrity" : "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-roving-focus" : {
"version" : "1.1.11" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz" ,
"integrity" : "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-collection" : "1.1.7" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-direction" : "1.1.1" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-callback-ref" : "1.1.1" ,
"@radix-ui/react-use-controllable-state" : "1.2.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-select" : {
"version" : "2.2.6" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.6.tgz" ,
"integrity" : "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/number" : "1.1.1" ,
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-collection" : "1.1.7" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-direction" : "1.1.1" ,
"@radix-ui/react-dismissable-layer" : "1.1.11" ,
"@radix-ui/react-focus-guards" : "1.1.3" ,
"@radix-ui/react-focus-scope" : "1.1.7" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-popper" : "1.2.8" ,
"@radix-ui/react-portal" : "1.1.9" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-slot" : "1.2.3" ,
"@radix-ui/react-use-callback-ref" : "1.1.1" ,
"@radix-ui/react-use-controllable-state" : "1.2.2" ,
"@radix-ui/react-use-layout-effect" : "1.1.1" ,
"@radix-ui/react-use-previous" : "1.1.1" ,
"@radix-ui/react-visually-hidden" : "1.2.3" ,
"aria-hidden" : "^1.2.4" ,
"react-remove-scroll" : "^2.6.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz" ,
"integrity" : "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-separator" : {
"version" : "1.1.8" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.8.tgz" ,
"integrity" : "sha512-sDvqVY4itsKwwSMEe0jtKgfTh+72Sy3gPmQpjqcQneqQ4PFmr/1I0YA+2/puilhggCe2gJcx5EBAYFkWkdpa5g==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-primitive" : "2.1.4"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive" : {
"version" : "2.1.4" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz" ,
"integrity" : "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-slot" : "1.2.4"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-slot" : {
"version" : "1.2.4" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz" ,
"integrity" : "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-switch" : {
"version" : "1.2.6" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.2.6.tgz" ,
"integrity" : "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-use-controllable-state" : "1.2.2" ,
"@radix-ui/react-use-previous" : "1.1.1" ,
"@radix-ui/react-use-size" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-tabs" : {
"version" : "1.1.13" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz" ,
"integrity" : "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-direction" : "1.1.1" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-presence" : "1.1.5" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-roving-focus" : "1.1.11" ,
"@radix-ui/react-use-controllable-state" : "1.2.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-tooltip" : {
"version" : "1.2.8" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.8.tgz" ,
"integrity" : "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/primitive" : "1.1.3" ,
"@radix-ui/react-compose-refs" : "1.1.2" ,
"@radix-ui/react-context" : "1.1.2" ,
"@radix-ui/react-dismissable-layer" : "1.1.11" ,
"@radix-ui/react-id" : "1.1.1" ,
"@radix-ui/react-popper" : "1.2.8" ,
"@radix-ui/react-portal" : "1.1.9" ,
"@radix-ui/react-presence" : "1.1.5" ,
"@radix-ui/react-primitive" : "2.1.3" ,
"@radix-ui/react-slot" : "1.2.3" ,
"@radix-ui/react-use-controllable-state" : "1.2.2" ,
"@radix-ui/react-visually-hidden" : "1.2.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz" ,
"integrity" : "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-compose-refs" : "1.1.2"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-callback-ref" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz" ,
"integrity" : "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-controllable-state" : {
"version" : "1.2.2" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz" ,
"integrity" : "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-use-effect-event" : "0.0.2" ,
"@radix-ui/react-use-layout-effect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-effect-event" : {
"version" : "0.0.2" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz" ,
"integrity" : "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-use-layout-effect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-escape-keydown" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz" ,
"integrity" : "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-use-callback-ref" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-layout-effect" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz" ,
"integrity" : "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-previous" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz" ,
"integrity" : "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-rect" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz" ,
"integrity" : "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/rect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-use-size" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz" ,
"integrity" : "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-use-layout-effect" : "1.1.1"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/react-visually-hidden" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz" ,
"integrity" : "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@radix-ui/react-primitive" : "2.1.3"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"@types/react-dom" : "*" ,
"react" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" ,
"react-dom" : "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
} ,
"@types/react-dom" : {
"optional" : true
}
}
} ,
"node_modules/@radix-ui/rect" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/@remix-run/router" : {
"version" : "1.23.2" ,
"resolved" : "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz" ,
"integrity" : "sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=14.0.0"
}
} ,
"node_modules/@rolldown/pluginutils" : {
"version" : "1.0.0-beta.27" ,
"resolved" : "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz" ,
"integrity" : "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==" ,
2026-05-09 13:03:36 -05:00
"dev" : true ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@rollup/plugin-babel" : {
"version" : "6.1.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.1.0.tgz" ,
"integrity" : "sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-module-imports" : "^7.18.6" ,
"@rollup/pluginutils" : "^5.0.1"
} ,
"engines" : {
"node" : ">=14.0.0"
} ,
"peerDependencies" : {
"@babel/core" : "^7.0.0" ,
"@types/babel__core" : "^7.1.9" ,
"rollup" : "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
} ,
"peerDependenciesMeta" : {
"@types/babel__core" : {
"optional" : true
} ,
"rollup" : {
"optional" : true
}
}
} ,
"node_modules/@rollup/plugin-node-resolve" : {
"version" : "16.0.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.3.tgz" ,
"integrity" : "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@rollup/pluginutils" : "^5.0.1" ,
"@types/resolve" : "1.20.2" ,
"deepmerge" : "^4.2.2" ,
"is-module" : "^1.0.0" ,
"resolve" : "^1.22.1"
} ,
"engines" : {
"node" : ">=14.0.0"
} ,
"peerDependencies" : {
"rollup" : "^2.78.0||^3.0.0||^4.0.0"
} ,
"peerDependenciesMeta" : {
"rollup" : {
"optional" : true
}
}
} ,
"node_modules/@rollup/plugin-replace" : {
"version" : "6.0.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-6.0.3.tgz" ,
"integrity" : "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@rollup/pluginutils" : "^5.0.1" ,
"magic-string" : "^0.30.3"
} ,
"engines" : {
"node" : ">=14.0.0"
} ,
"peerDependencies" : {
"rollup" : "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
} ,
"peerDependenciesMeta" : {
"rollup" : {
"optional" : true
}
}
} ,
"node_modules/@rollup/plugin-terser" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-1.0.0.tgz" ,
"integrity" : "sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"serialize-javascript" : "^7.0.3" ,
"smob" : "^1.0.0" ,
"terser" : "^5.17.4"
} ,
"engines" : {
"node" : ">=20.0.0"
} ,
"peerDependencies" : {
"rollup" : "^2.0.0||^3.0.0||^4.0.0"
} ,
"peerDependenciesMeta" : {
"rollup" : {
"optional" : true
}
}
} ,
"node_modules/@rollup/pluginutils" : {
"version" : "5.3.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz" ,
"integrity" : "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@types/estree" : "^1.0.0" ,
"estree-walker" : "^2.0.2" ,
"picomatch" : "^4.0.2"
} ,
"engines" : {
"node" : ">=14.0.0"
} ,
"peerDependencies" : {
"rollup" : "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
} ,
"peerDependenciesMeta" : {
"rollup" : {
"optional" : true
}
}
} ,
"node_modules/@rollup/pluginutils/node_modules/picomatch" : {
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz" ,
"integrity" : "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/sponsors/jonschlinkert"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@rollup/rollup-android-arm-eabi" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.3.tgz" ,
"integrity" : "sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"android"
]
} ,
"node_modules/@rollup/rollup-android-arm64" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.3.tgz" ,
"integrity" : "sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"android"
]
} ,
"node_modules/@rollup/rollup-darwin-arm64" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.3.tgz" ,
"integrity" : "sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"darwin"
]
} ,
"node_modules/@rollup/rollup-darwin-x64" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.3.tgz" ,
"integrity" : "sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"darwin"
]
} ,
"node_modules/@rollup/rollup-freebsd-arm64" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.3.tgz" ,
"integrity" : "sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"freebsd"
]
} ,
"node_modules/@rollup/rollup-freebsd-x64" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.3.tgz" ,
"integrity" : "sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"freebsd"
]
} ,
"node_modules/@rollup/rollup-linux-arm-gnueabihf" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.3.tgz" ,
"integrity" : "sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"glibc"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-arm-musleabihf" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.3.tgz" ,
"integrity" : "sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"musl"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-arm64-gnu" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.3.tgz" ,
"integrity" : "sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"glibc"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-arm64-musl" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.3.tgz" ,
"integrity" : "sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"musl"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-loong64-gnu" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.3.tgz" ,
"integrity" : "sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"loong64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"glibc"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-loong64-musl" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.3.tgz" ,
"integrity" : "sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"loong64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"musl"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-ppc64-gnu" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.3.tgz" ,
"integrity" : "sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"ppc64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"glibc"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-ppc64-musl" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.3.tgz" ,
"integrity" : "sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"ppc64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"musl"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-riscv64-gnu" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.3.tgz" ,
"integrity" : "sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"riscv64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"glibc"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-riscv64-musl" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.3.tgz" ,
"integrity" : "sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"riscv64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"musl"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-s390x-gnu" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.3.tgz" ,
"integrity" : "sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"s390x"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"glibc"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-x64-gnu" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.3.tgz" ,
"integrity" : "sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"glibc"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-x64-musl" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.3.tgz" ,
"integrity" : "sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"libc" : [
"musl"
] ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-openbsd-x64" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.3.tgz" ,
"integrity" : "sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"openbsd"
]
} ,
"node_modules/@rollup/rollup-openharmony-arm64" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.3.tgz" ,
"integrity" : "sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"openharmony"
]
} ,
"node_modules/@rollup/rollup-win32-arm64-msvc" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.3.tgz" ,
"integrity" : "sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"win32"
]
} ,
"node_modules/@rollup/rollup-win32-ia32-msvc" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.3.tgz" ,
"integrity" : "sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"ia32"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"win32"
]
} ,
"node_modules/@rollup/rollup-win32-x64-gnu" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.3.tgz" ,
"integrity" : "sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"win32"
]
} ,
"node_modules/@rollup/rollup-win32-x64-msvc" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.3.tgz" ,
"integrity" : "sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==" ,
2026-05-03 19:51:57 -05:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"win32"
]
} ,
2026-05-10 03:10:43 -05:00
"node_modules/@tanstack/query-core" : {
"version" : "5.100.9" ,
"resolved" : "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.9.tgz" ,
"integrity" : "sha512-SJSFw1S8+kQ0+knv/XGfrbocWoAlT7vDKsSImtLx3ZPQmEcR46hkDjLSvynSy25N8Ms4tIEini1FuBd5k7IscQ==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/tannerlinsley"
}
} ,
"node_modules/@tanstack/query-devtools" : {
"version" : "5.100.9" ,
"resolved" : "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.100.9.tgz" ,
"integrity" : "sha512-gqiptrTIhbK2PuCaPRHmWXfJG1NGYVFpAr0HqogEqiSBNB5xDz6fmesQt7w4WgMOqOQPnPHJ3ZDMuhDaXvNO8g==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/tannerlinsley"
}
} ,
"node_modules/@tanstack/react-query" : {
"version" : "5.100.9" ,
"resolved" : "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.9.tgz" ,
"integrity" : "sha512-Oa44XkaI3kCNN6ME0KByU3xT3SEUNOMfZpHxL6+wFoTm+OeUFYHKdeYVe0aOXlRDm/f15sgLwEt2HDorIdW8+A==" ,
"license" : "MIT" ,
"dependencies" : {
"@tanstack/query-core" : "5.100.9"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/tannerlinsley"
} ,
"peerDependencies" : {
"react" : "^18 || ^19"
}
} ,
"node_modules/@tanstack/react-query-devtools" : {
"version" : "5.100.9" ,
"resolved" : "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.100.9.tgz" ,
"integrity" : "sha512-mM3slaVGXJmz+pOLgXdANj75ikgQCyudyl3kmFvm6brI1JyVeY/+IeD17uDHIvZrD8hfoO2sdZ54RFsHdYAuhA==" ,
"license" : "MIT" ,
"dependencies" : {
"@tanstack/query-devtools" : "5.100.9"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/tannerlinsley"
} ,
"peerDependencies" : {
"@tanstack/react-query" : "^5.100.9" ,
"react" : "^18 || ^19"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@trickfilm400/rollup-plugin-off-main-thread" : {
"version" : "3.0.0-pre1" ,
"resolved" : "https://registry.npmjs.org/@trickfilm400/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-3.0.0-pre1.tgz" ,
"integrity" : "sha512-/67zpWDBLV+oYAEL682s1ktXL0HgqX76f6gaVGkGnVZlBbm1zd0v4Bz8MFF2GGhoX9rvfq3KSQHubFHwa6w6/Q==" ,
"dev" : true ,
"license" : "Apache-2.0" ,
"dependencies" : {
"ejs" : "^3.1.10" ,
"json5" : "^2.2.3" ,
"magic-string" : "^0.30.21" ,
"string.prototype.matchall" : "^4.0.12"
} ,
"engines" : {
"node" : ">=12"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@types/babel__core" : {
"version" : "7.20.5" ,
"resolved" : "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" ,
"integrity" : "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@babel/parser" : "^7.20.7" ,
"@babel/types" : "^7.20.7" ,
"@types/babel__generator" : "*" ,
"@types/babel__template" : "*" ,
"@types/babel__traverse" : "*"
}
} ,
"node_modules/@types/babel__generator" : {
"version" : "7.27.0" ,
"resolved" : "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz" ,
"integrity" : "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@babel/types" : "^7.0.0"
}
} ,
"node_modules/@types/babel__template" : {
"version" : "7.4.4" ,
"resolved" : "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" ,
"integrity" : "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@babel/parser" : "^7.1.0" ,
"@babel/types" : "^7.0.0"
}
} ,
"node_modules/@types/babel__traverse" : {
"version" : "7.28.0" ,
"resolved" : "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz" ,
"integrity" : "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@babel/types" : "^7.28.2"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/@types/debug" : {
"version" : "4.1.13" ,
"resolved" : "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz" ,
"integrity" : "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/ms" : "*"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@types/estree" : {
"version" : "1.0.8" ,
"resolved" : "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz" ,
"integrity" : "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
2026-05-09 16:25:12 -05:00
"node_modules/@types/estree-jsx" : {
"version" : "1.0.5" ,
"resolved" : "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz" ,
"integrity" : "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/estree" : "*"
}
} ,
"node_modules/@types/hast" : {
"version" : "3.0.4" ,
"resolved" : "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" ,
"integrity" : "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "*"
}
} ,
"node_modules/@types/mdast" : {
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz" ,
"integrity" : "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "*"
}
} ,
"node_modules/@types/ms" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz" ,
"integrity" : "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" ,
"license" : "MIT"
} ,
"node_modules/@types/react" : {
"version" : "19.2.14" ,
"resolved" : "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz" ,
"integrity" : "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==" ,
"license" : "MIT" ,
"peer" : true ,
"dependencies" : {
"csstype" : "^3.2.2"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/@types/resolve" : {
"version" : "1.20.2" ,
"resolved" : "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" ,
"integrity" : "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/@types/trusted-types" : {
"version" : "2.0.7" ,
"resolved" : "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz" ,
"integrity" : "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" ,
"dev" : true ,
"license" : "MIT"
} ,
2026-05-09 16:25:12 -05:00
"node_modules/@types/unist" : {
"version" : "3.0.3" ,
"resolved" : "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz" ,
"integrity" : "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" ,
"license" : "MIT"
} ,
"node_modules/@ungap/structured-clone" : {
"version" : "1.3.1" ,
"resolved" : "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz" ,
"integrity" : "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==" ,
"license" : "ISC"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/@vitejs/plugin-react" : {
"version" : "4.7.0" ,
"resolved" : "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz" ,
"integrity" : "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@babel/core" : "^7.28.0" ,
"@babel/plugin-transform-react-jsx-self" : "^7.27.1" ,
"@babel/plugin-transform-react-jsx-source" : "^7.27.1" ,
"@rolldown/pluginutils" : "1.0.0-beta.27" ,
"@types/babel__core" : "^7.20.5" ,
"react-refresh" : "^0.17.0"
} ,
"engines" : {
"node" : "^14.18.0 || >=16.0.0"
} ,
"peerDependencies" : {
"vite" : "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
}
} ,
"node_modules/accepts" : {
"version" : "1.3.8" ,
"resolved" : "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" ,
"integrity" : "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"mime-types" : "~2.1.34" ,
"negotiator" : "0.6.3"
} ,
"engines" : {
"node" : ">= 0.6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/acorn" : {
"version" : "8.16.0" ,
"resolved" : "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz" ,
"integrity" : "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==" ,
"dev" : true ,
"license" : "MIT" ,
"bin" : {
"acorn" : "bin/acorn"
} ,
"engines" : {
"node" : ">=0.4.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/adler-32" : {
"version" : "1.3.1" ,
"resolved" : "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz" ,
"integrity" : "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/ajv" : {
"version" : "8.20.0" ,
"resolved" : "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz" ,
"integrity" : "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"fast-deep-equal" : "^3.1.3" ,
"fast-uri" : "^3.0.1" ,
"json-schema-traverse" : "^1.0.0" ,
"require-from-string" : "^2.0.2"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/epoberezkin"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/ansi-regex" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" ,
"integrity" : "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/ansi-styles" : {
"version" : "4.3.0" ,
"resolved" : "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" ,
"integrity" : "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"color-convert" : "^2.0.1"
} ,
"engines" : {
"node" : ">=8"
} ,
"funding" : {
"url" : "https://github.com/chalk/ansi-styles?sponsor=1"
}
} ,
"node_modules/any-promise" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/anymatch" : {
"version" : "3.1.3" ,
"resolved" : "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" ,
"integrity" : "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"normalize-path" : "^3.0.0" ,
"picomatch" : "^2.0.4"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/arg" : {
"version" : "5.0.2" ,
"resolved" : "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/aria-hidden" : {
"version" : "1.2.6" ,
"resolved" : "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz" ,
"integrity" : "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"tslib" : "^2.0.0"
} ,
"engines" : {
"node" : ">=10"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/array-buffer-byte-length" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz" ,
"integrity" : "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"is-array-buffer" : "^3.0.5"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/array-flatten" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/arraybuffer.prototype.slice" : {
"version" : "1.0.4" ,
"resolved" : "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz" ,
"integrity" : "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"array-buffer-byte-length" : "^1.0.1" ,
"call-bind" : "^1.0.8" ,
"define-properties" : "^1.2.1" ,
"es-abstract" : "^1.23.5" ,
"es-errors" : "^1.3.0" ,
"get-intrinsic" : "^1.2.6" ,
"is-array-buffer" : "^3.0.4"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/async" : {
"version" : "3.2.6" ,
"resolved" : "https://registry.npmjs.org/async/-/async-3.2.6.tgz" ,
"integrity" : "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/async-function" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz" ,
"integrity" : "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/at-least-node" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" ,
"integrity" : "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" ,
"dev" : true ,
"license" : "ISC" ,
"engines" : {
"node" : ">= 4.0.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/autoprefixer" : {
"version" : "10.5.0" ,
"resolved" : "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz" ,
"integrity" : "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==" ,
"dev" : true ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/postcss/"
} ,
{
"type" : "tidelift" ,
"url" : "https://tidelift.com/funding/github/npm/autoprefixer"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"browserslist" : "^4.28.2" ,
"caniuse-lite" : "^1.0.30001787" ,
"fraction.js" : "^5.3.4" ,
"picocolors" : "^1.1.1" ,
"postcss-value-parser" : "^4.2.0"
} ,
"bin" : {
"autoprefixer" : "bin/autoprefixer"
} ,
"engines" : {
"node" : "^10 || ^12 || >=14"
} ,
"peerDependencies" : {
"postcss" : "^8.1.0"
}
} ,
"node_modules/available-typed-arrays" : {
"version" : "1.0.7" ,
"resolved" : "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" ,
"integrity" : "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"possible-typed-array-names" : "^1.0.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/babel-plugin-polyfill-corejs2" : {
"version" : "0.4.17" ,
"resolved" : "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz" ,
"integrity" : "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/compat-data" : "^7.28.6" ,
"@babel/helper-define-polyfill-provider" : "^0.6.8" ,
"semver" : "^6.3.1"
} ,
"peerDependencies" : {
"@babel/core" : "^7.4.0 || ^8.0.0-0 <8.0.0"
}
} ,
"node_modules/babel-plugin-polyfill-corejs3" : {
"version" : "0.14.2" ,
"resolved" : "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz" ,
"integrity" : "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-define-polyfill-provider" : "^0.6.8" ,
"core-js-compat" : "^3.48.0"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"peerDependencies" : {
"@babel/core" : "^7.4.0 || ^8.0.0-0 <8.0.0"
}
} ,
"node_modules/babel-plugin-polyfill-regenerator" : {
"version" : "0.6.8" ,
"resolved" : "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz" ,
"integrity" : "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@babel/helper-define-polyfill-provider" : "^0.6.8"
2026-05-03 19:51:57 -05:00
} ,
"peerDependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"@babel/core" : "^7.4.0 || ^8.0.0-0 <8.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/bail" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" ,
"integrity" : "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/balanced-match" : {
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz" ,
"integrity" : "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : "18 || 20 || >=22"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/base64-js" : {
"version" : "1.5.1" ,
"resolved" : "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" ,
"integrity" : "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
2026-05-09 13:03:36 -05:00
] ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/baseline-browser-mapping" : {
2026-05-09 13:03:36 -05:00
"version" : "2.10.28" ,
"resolved" : "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.28.tgz" ,
"integrity" : "sha512-Ic44hnOtFIgravCunj1ifSoQPSUrkNiJuH9Mf6jr2jjoA74icqV8wU0KuadXeOR8zuIJMOoTv0GuQjZ9ZYNMeA==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"baseline-browser-mapping" : "dist/cli.cjs"
} ,
"engines" : {
"node" : ">=6.0.0"
}
} ,
"node_modules/bcryptjs" : {
"version" : "2.4.3" ,
"resolved" : "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/better-sqlite3" : {
2026-05-09 13:03:36 -05:00
"version" : "12.9.0" ,
"resolved" : "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.9.0.tgz" ,
"integrity" : "sha512-wqUv4Gm3toFpHDQmaKD4QhZm3g1DjUBI0yzS4UBl6lElUmXFYdTQmmEDpAFa5o8FiFiymURypEnfVHzILKaxqQ==" ,
2026-05-03 19:51:57 -05:00
"hasInstallScript" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"bindings" : "^1.5.0" ,
"prebuild-install" : "^7.1.1"
2026-05-09 13:03:36 -05:00
} ,
"engines" : {
"node" : "20.x || 22.x || 23.x || 24.x || 25.x"
2026-05-03 19:51:57 -05:00
}
} ,
"node_modules/binary-extensions" : {
"version" : "2.3.0" ,
"resolved" : "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" ,
"integrity" : "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=8"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/bindings" : {
"version" : "1.5.0" ,
"resolved" : "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" ,
"integrity" : "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"file-uri-to-path" : "1.0.0"
}
} ,
"node_modules/bl" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" ,
"integrity" : "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"buffer" : "^5.5.0" ,
"inherits" : "^2.0.4" ,
"readable-stream" : "^3.4.0"
}
} ,
"node_modules/body-parser" : {
"version" : "1.20.5" ,
"resolved" : "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz" ,
"integrity" : "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"bytes" : "~3.1.2" ,
"content-type" : "~1.0.5" ,
"debug" : "2.6.9" ,
"depd" : "2.0.0" ,
"destroy" : "~1.2.0" ,
"http-errors" : "~2.0.1" ,
"iconv-lite" : "~0.4.24" ,
"on-finished" : "~2.4.1" ,
"qs" : "~6.15.1" ,
"raw-body" : "~2.5.3" ,
"type-is" : "~1.6.18" ,
"unpipe" : "~1.0.0"
} ,
"engines" : {
"node" : ">= 0.8" ,
"npm" : "1.2.8000 || >= 1.4.16"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/body-parser/node_modules/debug" : {
"version" : "2.6.9" ,
"resolved" : "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" ,
"integrity" : "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" ,
"license" : "MIT" ,
"dependencies" : {
"ms" : "2.0.0"
}
} ,
"node_modules/body-parser/node_modules/ms" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" ,
"integrity" : "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" ,
"license" : "MIT"
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/brace-expansion" : {
"version" : "5.0.6" ,
"resolved" : "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz" ,
"integrity" : "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"balanced-match" : "^4.0.2"
} ,
"engines" : {
"node" : "18 || 20 || >=22"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/braces" : {
"version" : "3.0.3" ,
"resolved" : "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" ,
"integrity" : "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"fill-range" : "^7.1.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/browserslist" : {
"version" : "4.28.2" ,
"resolved" : "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz" ,
"integrity" : "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==" ,
"dev" : true ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/browserslist"
} ,
{
"type" : "tidelift" ,
"url" : "https://tidelift.com/funding/github/npm/browserslist"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"baseline-browser-mapping" : "^2.10.12" ,
"caniuse-lite" : "^1.0.30001782" ,
"electron-to-chromium" : "^1.5.328" ,
"node-releases" : "^2.0.36" ,
"update-browserslist-db" : "^1.2.3"
} ,
"bin" : {
"browserslist" : "cli.js"
} ,
"engines" : {
"node" : "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
} ,
"node_modules/buffer" : {
"version" : "5.7.1" ,
"resolved" : "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" ,
"integrity" : "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"base64-js" : "^1.3.1" ,
"ieee754" : "^1.1.13"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/buffer-from" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" ,
"integrity" : "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" ,
"dev" : true ,
"license" : "MIT"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/bytes" : {
"version" : "3.1.2" ,
"resolved" : "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" ,
"integrity" : "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/call-bind" : {
"version" : "1.0.9" ,
"resolved" : "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz" ,
"integrity" : "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind-apply-helpers" : "^1.0.2" ,
"es-define-property" : "^1.0.1" ,
"get-intrinsic" : "^1.3.0" ,
"set-function-length" : "^1.2.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/call-bind-apply-helpers" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" ,
"integrity" : "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"es-errors" : "^1.3.0" ,
"function-bind" : "^1.1.2"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/call-bound" : {
"version" : "1.0.4" ,
"resolved" : "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz" ,
"integrity" : "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"call-bind-apply-helpers" : "^1.0.2" ,
"get-intrinsic" : "^1.3.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/camelcase-css" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" ,
"integrity" : "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 6"
}
} ,
"node_modules/caniuse-lite" : {
2026-05-09 13:03:36 -05:00
"version" : "1.0.30001792" ,
"resolved" : "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001792.tgz" ,
"integrity" : "sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/browserslist"
} ,
{
"type" : "tidelift" ,
"url" : "https://tidelift.com/funding/github/npm/caniuse-lite"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
2026-05-09 13:03:36 -05:00
] ,
"license" : "CC-BY-4.0"
2026-05-03 19:51:57 -05:00
} ,
2026-05-09 16:25:12 -05:00
"node_modules/ccount" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" ,
"integrity" : "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/cfb" : {
"version" : "1.2.2" ,
"resolved" : "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz" ,
"integrity" : "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"adler-32" : "~1.3.0" ,
"crc-32" : "~1.2.0"
} ,
"engines" : {
"node" : ">=0.8"
}
} ,
"node_modules/chalk" : {
"version" : "4.1.2" ,
"resolved" : "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" ,
"integrity" : "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"ansi-styles" : "^4.1.0" ,
"supports-color" : "^7.1.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/chalk/chalk?sponsor=1"
}
} ,
"node_modules/chalk/node_modules/supports-color" : {
"version" : "7.2.0" ,
"resolved" : "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" ,
"integrity" : "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"has-flag" : "^4.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/character-entities" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" ,
"integrity" : "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
"node_modules/character-entities-html4" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" ,
"integrity" : "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
"node_modules/character-entities-legacy" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" ,
"integrity" : "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
"node_modules/character-reference-invalid" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" ,
"integrity" : "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/chokidar" : {
"version" : "3.6.0" ,
"resolved" : "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" ,
"integrity" : "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"anymatch" : "~3.1.2" ,
"braces" : "~3.0.2" ,
"glob-parent" : "~5.1.2" ,
"is-binary-path" : "~2.1.0" ,
"is-glob" : "~4.0.1" ,
"normalize-path" : "~3.0.0" ,
"readdirp" : "~3.6.0"
} ,
"engines" : {
"node" : ">= 8.10.0"
} ,
"funding" : {
"url" : "https://paulmillr.com/funding/"
} ,
"optionalDependencies" : {
"fsevents" : "~2.3.2"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/chokidar/node_modules/glob-parent" : {
"version" : "5.1.2" ,
"resolved" : "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" ,
"integrity" : "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" ,
"license" : "ISC" ,
"dependencies" : {
"is-glob" : "^4.0.1"
} ,
"engines" : {
"node" : ">= 6"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/chownr" : {
"version" : "1.1.4" ,
"resolved" : "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/class-variance-authority" : {
"version" : "0.7.1" ,
"resolved" : "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz" ,
"integrity" : "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"clsx" : "^2.1.1"
} ,
"funding" : {
"url" : "https://polar.sh/cva"
}
} ,
"node_modules/cliui" : {
"version" : "8.0.1" ,
"resolved" : "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" ,
"integrity" : "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"string-width" : "^4.2.0" ,
"strip-ansi" : "^6.0.1" ,
"wrap-ansi" : "^7.0.0"
} ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/clsx" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" ,
"integrity" : "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6"
}
} ,
"node_modules/codepage" : {
"version" : "1.15.0" ,
"resolved" : "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz" ,
"integrity" : "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.8"
}
} ,
"node_modules/color-convert" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" ,
"integrity" : "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"color-name" : "~1.1.4"
} ,
"engines" : {
"node" : ">=7.0.0"
}
} ,
"node_modules/color-name" : {
"version" : "1.1.4" ,
"resolved" : "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" ,
"integrity" : "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ,
2026-05-09 13:03:36 -05:00
"dev" : true ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
2026-05-09 16:25:12 -05:00
"node_modules/comma-separated-tokens" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" ,
"integrity" : "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/commander" : {
"version" : "4.1.1" ,
"resolved" : "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" ,
"integrity" : "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/common-tags" : {
"version" : "1.8.2" ,
"resolved" : "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" ,
"integrity" : "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=4.0.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/concurrently" : {
"version" : "9.2.1" ,
"resolved" : "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz" ,
"integrity" : "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"chalk" : "4.1.2" ,
"rxjs" : "7.8.2" ,
"shell-quote" : "1.8.3" ,
"supports-color" : "8.1.1" ,
"tree-kill" : "1.2.2" ,
"yargs" : "17.7.2"
} ,
"bin" : {
"conc" : "dist/bin/concurrently.js" ,
"concurrently" : "dist/bin/concurrently.js"
} ,
"engines" : {
"node" : ">=18"
} ,
"funding" : {
"url" : "https://github.com/open-cli-tools/concurrently?sponsor=1"
}
} ,
"node_modules/content-disposition" : {
"version" : "0.5.4" ,
"resolved" : "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" ,
"integrity" : "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"safe-buffer" : "5.2.1"
} ,
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/content-type" : {
"version" : "1.0.5" ,
"resolved" : "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" ,
"integrity" : "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/convert-source-map" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" ,
"integrity" : "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" ,
2026-05-09 13:03:36 -05:00
"dev" : true ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/cookie" : {
"version" : "0.7.2" ,
"resolved" : "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz" ,
"integrity" : "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/cookie-parser" : {
"version" : "1.4.7" ,
"resolved" : "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz" ,
"integrity" : "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"cookie" : "0.7.2" ,
"cookie-signature" : "1.0.6"
} ,
"engines" : {
"node" : ">= 0.8.0"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/cookie-signature" : {
2026-05-03 19:51:57 -05:00
"version" : "1.0.6" ,
"resolved" : "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/core-js-compat" : {
"version" : "3.49.0" ,
"resolved" : "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz" ,
"integrity" : "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"browserslist" : "^4.28.1"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/core-js"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/cors" : {
"version" : "2.8.6" ,
"resolved" : "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz" ,
"integrity" : "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"object-assign" : "^4" ,
"vary" : "^1"
} ,
"engines" : {
"node" : ">= 0.10"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/express"
}
} ,
"node_modules/crc-32" : {
"version" : "1.2.2" ,
"resolved" : "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" ,
"integrity" : "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"crc32" : "bin/crc32.njs"
} ,
"engines" : {
"node" : ">=0.8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/cross-spawn" : {
"version" : "7.0.6" ,
"resolved" : "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" ,
"integrity" : "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"path-key" : "^3.1.0" ,
"shebang-command" : "^2.0.0" ,
"which" : "^2.0.1"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/crypto-random-string" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" ,
"integrity" : "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/cssesc" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" ,
"integrity" : "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"cssesc" : "bin/cssesc"
} ,
"engines" : {
"node" : ">=4"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/csstype" : {
"version" : "3.2.3" ,
"resolved" : "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz" ,
"integrity" : "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" ,
"license" : "MIT" ,
"peer" : true
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/data-view-buffer" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz" ,
"integrity" : "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"es-errors" : "^1.3.0" ,
"is-data-view" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/data-view-byte-length" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz" ,
"integrity" : "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"es-errors" : "^1.3.0" ,
"is-data-view" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/inspect-js"
}
} ,
"node_modules/data-view-byte-offset" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz" ,
"integrity" : "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.2" ,
"es-errors" : "^1.3.0" ,
"is-data-view" : "^1.0.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/debug" : {
2026-05-09 13:03:36 -05:00
"version" : "4.4.3" ,
"resolved" : "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" ,
"integrity" : "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==" ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
2026-05-09 13:03:36 -05:00
"ms" : "^2.1.3"
} ,
"engines" : {
"node" : ">=6.0"
} ,
"peerDependenciesMeta" : {
"supports-color" : {
"optional" : true
}
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/decode-named-character-reference" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz" ,
"integrity" : "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==" ,
"license" : "MIT" ,
"dependencies" : {
"character-entities" : "^2.0.0"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/decompress-response" : {
"version" : "6.0.0" ,
"resolved" : "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" ,
"integrity" : "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"mimic-response" : "^3.1.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/deep-extend" : {
"version" : "0.6.0" ,
"resolved" : "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" ,
"integrity" : "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=4.0.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/deepmerge" : {
"version" : "4.3.1" ,
"resolved" : "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" ,
"integrity" : "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/define-data-property" : {
"version" : "1.1.4" ,
"resolved" : "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" ,
"integrity" : "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"es-define-property" : "^1.0.0" ,
"es-errors" : "^1.3.0" ,
"gopd" : "^1.0.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/define-properties" : {
"version" : "1.2.1" ,
"resolved" : "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" ,
"integrity" : "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"define-data-property" : "^1.0.1" ,
"has-property-descriptors" : "^1.0.0" ,
"object-keys" : "^1.1.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/depd" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" ,
"integrity" : "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/dequal" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" ,
"integrity" : "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/destroy" : {
"version" : "1.2.0" ,
"resolved" : "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" ,
"integrity" : "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8" ,
"npm" : "1.2.8000 || >= 1.4.16"
}
} ,
"node_modules/detect-libc" : {
"version" : "2.1.2" ,
"resolved" : "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz" ,
"integrity" : "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/detect-node-es" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
2026-05-09 16:25:12 -05:00
"node_modules/devlop" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" ,
"integrity" : "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==" ,
"license" : "MIT" ,
"dependencies" : {
"dequal" : "^2.0.0"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/didyoumean" : {
"version" : "1.2.2" ,
"resolved" : "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" ,
"license" : "Apache-2.0"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/dlv" : {
"version" : "1.1.3" ,
"resolved" : "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/dunder-proto" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" ,
"integrity" : "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"call-bind-apply-helpers" : "^1.0.1" ,
"es-errors" : "^1.3.0" ,
"gopd" : "^1.2.0"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/ee-first" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/ejs" : {
"version" : "3.1.10" ,
"resolved" : "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz" ,
"integrity" : "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==" ,
"dev" : true ,
"license" : "Apache-2.0" ,
"dependencies" : {
"jake" : "^10.8.5"
} ,
"bin" : {
"ejs" : "bin/cli.js"
} ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/electron-to-chromium" : {
2026-05-09 13:03:36 -05:00
"version" : "1.5.353" ,
"resolved" : "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.353.tgz" ,
"integrity" : "sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==" ,
"dev" : true ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/emoji-regex" : {
"version" : "8.0.0" ,
"resolved" : "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" ,
"integrity" : "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" ,
2026-05-09 13:03:36 -05:00
"dev" : true ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/encodeurl" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz" ,
"integrity" : "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8"
}
} ,
"node_modules/end-of-stream" : {
"version" : "1.4.5" ,
"resolved" : "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz" ,
"integrity" : "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"once" : "^1.4.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/es-abstract" : {
"version" : "1.24.2" ,
"resolved" : "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz" ,
"integrity" : "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"array-buffer-byte-length" : "^1.0.2" ,
"arraybuffer.prototype.slice" : "^1.0.4" ,
"available-typed-arrays" : "^1.0.7" ,
"call-bind" : "^1.0.8" ,
"call-bound" : "^1.0.4" ,
"data-view-buffer" : "^1.0.2" ,
"data-view-byte-length" : "^1.0.2" ,
"data-view-byte-offset" : "^1.0.1" ,
"es-define-property" : "^1.0.1" ,
"es-errors" : "^1.3.0" ,
"es-object-atoms" : "^1.1.1" ,
"es-set-tostringtag" : "^2.1.0" ,
"es-to-primitive" : "^1.3.0" ,
"function.prototype.name" : "^1.1.8" ,
"get-intrinsic" : "^1.3.0" ,
"get-proto" : "^1.0.1" ,
"get-symbol-description" : "^1.1.0" ,
"globalthis" : "^1.0.4" ,
"gopd" : "^1.2.0" ,
"has-property-descriptors" : "^1.0.2" ,
"has-proto" : "^1.2.0" ,
"has-symbols" : "^1.1.0" ,
"hasown" : "^2.0.2" ,
"internal-slot" : "^1.1.0" ,
"is-array-buffer" : "^3.0.5" ,
"is-callable" : "^1.2.7" ,
"is-data-view" : "^1.0.2" ,
"is-negative-zero" : "^2.0.3" ,
"is-regex" : "^1.2.1" ,
"is-set" : "^2.0.3" ,
"is-shared-array-buffer" : "^1.0.4" ,
"is-string" : "^1.1.1" ,
"is-typed-array" : "^1.1.15" ,
"is-weakref" : "^1.1.1" ,
"math-intrinsics" : "^1.1.0" ,
"object-inspect" : "^1.13.4" ,
"object-keys" : "^1.1.1" ,
"object.assign" : "^4.1.7" ,
"own-keys" : "^1.0.1" ,
"regexp.prototype.flags" : "^1.5.4" ,
"safe-array-concat" : "^1.1.3" ,
"safe-push-apply" : "^1.0.0" ,
"safe-regex-test" : "^1.1.0" ,
"set-proto" : "^1.0.0" ,
"stop-iteration-iterator" : "^1.1.0" ,
"string.prototype.trim" : "^1.2.10" ,
"string.prototype.trimend" : "^1.0.9" ,
"string.prototype.trimstart" : "^1.0.8" ,
"typed-array-buffer" : "^1.0.3" ,
"typed-array-byte-length" : "^1.0.3" ,
"typed-array-byte-offset" : "^1.0.4" ,
"typed-array-length" : "^1.0.7" ,
"unbox-primitive" : "^1.1.0" ,
"which-typed-array" : "^1.1.19"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/es-define-property" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" ,
"integrity" : "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/es-errors" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" ,
"integrity" : "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/es-object-atoms" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" ,
"integrity" : "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"es-errors" : "^1.3.0"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/es-set-tostringtag" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" ,
"integrity" : "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"es-errors" : "^1.3.0" ,
"get-intrinsic" : "^1.2.6" ,
"has-tostringtag" : "^1.0.2" ,
"hasown" : "^2.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/es-to-primitive" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz" ,
"integrity" : "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"is-callable" : "^1.2.7" ,
"is-date-object" : "^1.0.5" ,
"is-symbol" : "^1.0.4"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/esbuild" : {
"version" : "0.21.5" ,
"resolved" : "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz" ,
"integrity" : "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==" ,
"dev" : true ,
"hasInstallScript" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"esbuild" : "bin/esbuild"
} ,
"engines" : {
"node" : ">=12"
} ,
"optionalDependencies" : {
"@esbuild/aix-ppc64" : "0.21.5" ,
"@esbuild/android-arm" : "0.21.5" ,
"@esbuild/android-arm64" : "0.21.5" ,
"@esbuild/android-x64" : "0.21.5" ,
"@esbuild/darwin-arm64" : "0.21.5" ,
"@esbuild/darwin-x64" : "0.21.5" ,
"@esbuild/freebsd-arm64" : "0.21.5" ,
"@esbuild/freebsd-x64" : "0.21.5" ,
"@esbuild/linux-arm" : "0.21.5" ,
"@esbuild/linux-arm64" : "0.21.5" ,
"@esbuild/linux-ia32" : "0.21.5" ,
"@esbuild/linux-loong64" : "0.21.5" ,
"@esbuild/linux-mips64el" : "0.21.5" ,
"@esbuild/linux-ppc64" : "0.21.5" ,
"@esbuild/linux-riscv64" : "0.21.5" ,
"@esbuild/linux-s390x" : "0.21.5" ,
"@esbuild/linux-x64" : "0.21.5" ,
"@esbuild/netbsd-x64" : "0.21.5" ,
"@esbuild/openbsd-x64" : "0.21.5" ,
"@esbuild/sunos-x64" : "0.21.5" ,
"@esbuild/win32-arm64" : "0.21.5" ,
"@esbuild/win32-ia32" : "0.21.5" ,
"@esbuild/win32-x64" : "0.21.5"
}
} ,
"node_modules/escalade" : {
"version" : "3.2.0" ,
"resolved" : "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" ,
"integrity" : "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6"
}
} ,
"node_modules/escape-html" : {
"version" : "1.0.3" ,
"resolved" : "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
2026-05-09 16:25:12 -05:00
"node_modules/escape-string-regexp" : {
"version" : "5.0.0" ,
"resolved" : "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" ,
"integrity" : "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/estree-util-is-identifier-name" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" ,
"integrity" : "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==" ,
"license" : "MIT" ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/estree-walker" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" ,
"integrity" : "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/esutils" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" ,
"integrity" : "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" ,
"dev" : true ,
"license" : "BSD-2-Clause" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/eta" : {
"version" : "4.6.0" ,
"resolved" : "https://registry.npmjs.org/eta/-/eta-4.6.0.tgz" ,
"integrity" : "sha512-lW6is4T1NFOYnmqGZIfvixqj7A7sSvScF+DN8EK6K58xI5MZ5UvYe0GjopxOXQtZvUn4eDdVuZ8XSoYWTMEKwA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=20"
} ,
"funding" : {
"url" : "https://github.com/bgub/eta?sponsor=1"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/etag" : {
"version" : "1.8.1" ,
"resolved" : "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" ,
"integrity" : "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/expand-template" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" ,
"integrity" : "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" ,
2026-05-09 13:03:36 -05:00
"license" : "(MIT OR WTFPL)" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6"
}
} ,
"node_modules/express" : {
2026-05-28 03:59:35 -05:00
"version" : "4.22.2" ,
"resolved" : "https://registry.npmjs.org/express/-/express-4.22.2.tgz" ,
"integrity" : "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"accepts" : "~1.3.8" ,
"array-flatten" : "1.1.1" ,
2026-05-28 03:59:35 -05:00
"body-parser" : "~1.20.5" ,
2026-05-03 19:51:57 -05:00
"content-disposition" : "~0.5.4" ,
"content-type" : "~1.0.4" ,
"cookie" : "~0.7.1" ,
"cookie-signature" : "~1.0.6" ,
"debug" : "2.6.9" ,
"depd" : "2.0.0" ,
"encodeurl" : "~2.0.0" ,
"escape-html" : "~1.0.3" ,
"etag" : "~1.8.1" ,
"finalhandler" : "~1.3.1" ,
"fresh" : "~0.5.2" ,
"http-errors" : "~2.0.0" ,
"merge-descriptors" : "1.0.3" ,
"methods" : "~1.1.2" ,
"on-finished" : "~2.4.1" ,
"parseurl" : "~1.3.3" ,
"path-to-regexp" : "~0.1.12" ,
"proxy-addr" : "~2.0.7" ,
2026-05-28 03:59:35 -05:00
"qs" : "~6.15.1" ,
2026-05-03 19:51:57 -05:00
"range-parser" : "~1.2.1" ,
"safe-buffer" : "5.2.1" ,
"send" : "~0.19.0" ,
"serve-static" : "~1.16.2" ,
"setprototypeof" : "1.2.0" ,
"statuses" : "~2.0.1" ,
"type-is" : "~1.6.18" ,
"utils-merge" : "1.0.1" ,
"vary" : "~1.1.2"
} ,
"engines" : {
"node" : ">= 0.10.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/express"
}
} ,
"node_modules/express-rate-limit" : {
2026-05-09 13:03:36 -05:00
"version" : "8.5.1" ,
"resolved" : "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.1.tgz" ,
"integrity" : "sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==" ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
2026-05-09 13:03:36 -05:00
"ip-address" : "^10.2.0"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">= 16"
} ,
"funding" : {
"url" : "https://github.com/sponsors/express-rate-limit"
} ,
"peerDependencies" : {
"express" : ">= 4.11"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/express/node_modules/debug" : {
"version" : "2.6.9" ,
"resolved" : "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" ,
"integrity" : "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" ,
"license" : "MIT" ,
"dependencies" : {
"ms" : "2.0.0"
}
} ,
"node_modules/express/node_modules/ms" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" ,
"integrity" : "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" ,
"license" : "MIT"
} ,
2026-05-09 16:25:12 -05:00
"node_modules/extend" : {
"version" : "3.0.2" ,
"resolved" : "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" ,
"integrity" : "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" ,
"license" : "MIT"
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/fast-deep-equal" : {
"version" : "3.1.3" ,
"resolved" : "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" ,
"integrity" : "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" ,
"dev" : true ,
"license" : "MIT"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/fast-glob" : {
"version" : "3.3.3" ,
"resolved" : "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz" ,
"integrity" : "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@nodelib/fs.stat" : "^2.0.2" ,
"@nodelib/fs.walk" : "^1.2.3" ,
"glob-parent" : "^5.1.2" ,
"merge2" : "^1.3.0" ,
"micromatch" : "^4.0.8"
} ,
"engines" : {
"node" : ">=8.6.0"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/fast-glob/node_modules/glob-parent" : {
"version" : "5.1.2" ,
"resolved" : "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" ,
"integrity" : "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" ,
"license" : "ISC" ,
"dependencies" : {
"is-glob" : "^4.0.1"
} ,
"engines" : {
"node" : ">= 6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/fast-json-stable-stringify" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" ,
"integrity" : "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/fast-uri" : {
"version" : "3.1.2" ,
"resolved" : "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz" ,
"integrity" : "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==" ,
"dev" : true ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/fastify"
} ,
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/fastify"
}
] ,
"license" : "BSD-3-Clause"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/fastq" : {
"version" : "1.20.1" ,
"resolved" : "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz" ,
"integrity" : "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==" ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"reusify" : "^1.0.4"
}
} ,
"node_modules/file-uri-to-path" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" ,
"integrity" : "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" ,
"license" : "MIT"
} ,
"node_modules/filelist" : {
"version" : "1.0.6" ,
"resolved" : "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz" ,
"integrity" : "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==" ,
"dev" : true ,
"license" : "Apache-2.0" ,
"dependencies" : {
"minimatch" : "^5.0.1"
}
} ,
"node_modules/filelist/node_modules/balanced-match" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" ,
"integrity" : "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/filelist/node_modules/brace-expansion" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz" ,
"integrity" : "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"balanced-match" : "^1.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/filelist/node_modules/minimatch" : {
"version" : "5.1.9" ,
"resolved" : "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz" ,
"integrity" : "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==" ,
"dev" : true ,
"license" : "ISC" ,
"dependencies" : {
"brace-expansion" : "^2.0.1"
} ,
"engines" : {
"node" : ">=10"
}
2026-05-03 19:51:57 -05:00
} ,
"node_modules/fill-range" : {
"version" : "7.1.1" ,
"resolved" : "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" ,
"integrity" : "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"to-regex-range" : "^5.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/finalhandler" : {
"version" : "1.3.2" ,
"resolved" : "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz" ,
"integrity" : "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"debug" : "2.6.9" ,
"encodeurl" : "~2.0.0" ,
"escape-html" : "~1.0.3" ,
"on-finished" : "~2.4.1" ,
"parseurl" : "~1.3.3" ,
"statuses" : "~2.0.2" ,
"unpipe" : "~1.0.0"
} ,
"engines" : {
"node" : ">= 0.8"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/finalhandler/node_modules/debug" : {
"version" : "2.6.9" ,
"resolved" : "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" ,
"integrity" : "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" ,
"license" : "MIT" ,
"dependencies" : {
"ms" : "2.0.0"
}
} ,
"node_modules/finalhandler/node_modules/ms" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" ,
"integrity" : "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" ,
"license" : "MIT"
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/for-each" : {
"version" : "0.3.5" ,
"resolved" : "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz" ,
"integrity" : "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"is-callable" : "^1.2.7"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/foreground-child" : {
"version" : "3.3.1" ,
"resolved" : "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz" ,
"integrity" : "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==" ,
"dev" : true ,
"license" : "ISC" ,
"dependencies" : {
"cross-spawn" : "^7.0.6" ,
"signal-exit" : "^4.0.1"
} ,
"engines" : {
"node" : ">=14"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/forwarded" : {
"version" : "0.2.0" ,
"resolved" : "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" ,
"integrity" : "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/frac" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz" ,
"integrity" : "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.8"
}
} ,
"node_modules/fraction.js" : {
"version" : "5.3.4" ,
"resolved" : "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz" ,
"integrity" : "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : "*"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/rawify"
}
} ,
"node_modules/fresh" : {
"version" : "0.5.2" ,
"resolved" : "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" ,
"integrity" : "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/fs-constants" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/fs-extra" : {
"version" : "9.1.0" ,
"resolved" : "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" ,
"integrity" : "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"at-least-node" : "^1.0.0" ,
"graceful-fs" : "^4.2.0" ,
"jsonfile" : "^6.0.1" ,
"universalify" : "^2.0.0"
} ,
"engines" : {
"node" : ">=10"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/fsevents" : {
"version" : "2.3.3" ,
"resolved" : "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" ,
"integrity" : "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" ,
"hasInstallScript" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"optional" : true ,
"os" : [
"darwin"
] ,
"engines" : {
"node" : "^8.16.0 || ^10.6.0 || >=11.0.0"
}
} ,
"node_modules/function-bind" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" ,
"integrity" : "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/function.prototype.name" : {
"version" : "1.1.8" ,
"resolved" : "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz" ,
"integrity" : "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"call-bound" : "^1.0.3" ,
"define-properties" : "^1.2.1" ,
"functions-have-names" : "^1.2.3" ,
"hasown" : "^2.0.2" ,
"is-callable" : "^1.2.7"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/functions-have-names" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" ,
"integrity" : "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" ,
"dev" : true ,
"license" : "MIT" ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/generator-function" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz" ,
"integrity" : "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/gensync" : {
"version" : "1.0.0-beta.2" ,
"resolved" : "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" ,
"integrity" : "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/get-caller-file" : {
"version" : "2.0.5" ,
"resolved" : "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" ,
"integrity" : "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : "6.* || 8.* || >= 10.*"
}
} ,
"node_modules/get-intrinsic" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" ,
"integrity" : "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"call-bind-apply-helpers" : "^1.0.2" ,
"es-define-property" : "^1.0.1" ,
"es-errors" : "^1.3.0" ,
"es-object-atoms" : "^1.1.1" ,
"function-bind" : "^1.1.2" ,
"get-proto" : "^1.0.1" ,
"gopd" : "^1.2.0" ,
"has-symbols" : "^1.1.0" ,
"hasown" : "^2.0.2" ,
"math-intrinsics" : "^1.1.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/get-nonce" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz" ,
"integrity" : "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/get-own-enumerable-property-symbols" : {
"version" : "3.0.2" ,
"resolved" : "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" ,
"integrity" : "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" ,
"dev" : true ,
"license" : "ISC"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/get-proto" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" ,
"integrity" : "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"dunder-proto" : "^1.0.1" ,
"es-object-atoms" : "^1.0.0"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/get-symbol-description" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz" ,
"integrity" : "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"es-errors" : "^1.3.0" ,
"get-intrinsic" : "^1.2.6"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/github-from-package" : {
"version" : "0.0.0" ,
"resolved" : "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/glob" : {
"version" : "11.1.0" ,
"resolved" : "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz" ,
"integrity" : "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==" ,
"deprecated" : "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me" ,
"dev" : true ,
"license" : "BlueOak-1.0.0" ,
"dependencies" : {
"foreground-child" : "^3.3.1" ,
"jackspeak" : "^4.1.1" ,
"minimatch" : "^10.1.1" ,
"minipass" : "^7.1.2" ,
"package-json-from-dist" : "^1.0.0" ,
"path-scurry" : "^2.0.0"
} ,
"bin" : {
"glob" : "dist/esm/bin.mjs"
} ,
"engines" : {
"node" : "20 || >=22"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/glob-parent" : {
2026-05-09 13:03:36 -05:00
"version" : "6.0.2" ,
"resolved" : "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" ,
"integrity" : "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" ,
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
2026-05-09 13:03:36 -05:00
"is-glob" : "^4.0.3"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
2026-05-09 13:03:36 -05:00
"node" : ">=10.13.0"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/globalthis" : {
"version" : "1.0.4" ,
"resolved" : "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz" ,
"integrity" : "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"define-properties" : "^1.2.1" ,
"gopd" : "^1.0.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/gopd" : {
"version" : "1.2.0" ,
"resolved" : "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" ,
"integrity" : "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/graceful-fs" : {
"version" : "4.2.11" ,
"resolved" : "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" ,
"integrity" : "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" ,
"dev" : true ,
"license" : "ISC"
} ,
"node_modules/has-bigints" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz" ,
"integrity" : "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/has-flag" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" ,
"integrity" : "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/has-property-descriptors" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" ,
"integrity" : "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"es-define-property" : "^1.0.0"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/has-proto" : {
"version" : "1.2.0" ,
"resolved" : "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz" ,
"integrity" : "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"dunder-proto" : "^1.0.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/has-symbols" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" ,
"integrity" : "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/has-tostringtag" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" ,
"integrity" : "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"has-symbols" : "^1.0.3"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/hasown" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz" ,
"integrity" : "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"function-bind" : "^1.1.2"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/hast-util-sanitize" : {
"version" : "5.0.2" ,
"resolved" : "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz" ,
"integrity" : "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/hast" : "^3.0.0" ,
"@ungap/structured-clone" : "^1.0.0" ,
"unist-util-position" : "^5.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/hast-util-to-jsx-runtime" : {
"version" : "2.3.6" ,
"resolved" : "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz" ,
"integrity" : "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/estree" : "^1.0.0" ,
"@types/hast" : "^3.0.0" ,
"@types/unist" : "^3.0.0" ,
"comma-separated-tokens" : "^2.0.0" ,
"devlop" : "^1.0.0" ,
"estree-util-is-identifier-name" : "^3.0.0" ,
"hast-util-whitespace" : "^3.0.0" ,
"mdast-util-mdx-expression" : "^2.0.0" ,
"mdast-util-mdx-jsx" : "^3.0.0" ,
"mdast-util-mdxjs-esm" : "^2.0.0" ,
"property-information" : "^7.0.0" ,
"space-separated-tokens" : "^2.0.0" ,
"style-to-js" : "^1.0.0" ,
"unist-util-position" : "^5.0.0" ,
"vfile-message" : "^4.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/hast-util-whitespace" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" ,
"integrity" : "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/hast" : "^3.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/html-url-attributes" : {
"version" : "3.0.1" ,
"resolved" : "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz" ,
"integrity" : "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==" ,
"license" : "MIT" ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/http-errors" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz" ,
"integrity" : "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"depd" : "~2.0.0" ,
"inherits" : "~2.0.4" ,
"setprototypeof" : "~1.2.0" ,
"statuses" : "~2.0.2" ,
"toidentifier" : "~1.0.1"
} ,
"engines" : {
"node" : ">= 0.8"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/express"
}
} ,
"node_modules/iconv-lite" : {
"version" : "0.4.24" ,
"resolved" : "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" ,
"integrity" : "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"safer-buffer" : ">= 2.1.2 < 3"
} ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/idb" : {
"version" : "7.1.1" ,
"resolved" : "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" ,
"integrity" : "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" ,
"dev" : true ,
"license" : "ISC"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/ieee754" : {
"version" : "1.2.1" ,
"resolved" : "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" ,
"integrity" : "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
2026-05-09 13:03:36 -05:00
] ,
"license" : "BSD-3-Clause"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/inherits" : {
"version" : "2.0.4" ,
"resolved" : "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/ini" : {
"version" : "1.3.8" ,
"resolved" : "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
2026-05-09 16:25:12 -05:00
"node_modules/inline-style-parser" : {
"version" : "0.2.7" ,
"resolved" : "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz" ,
"integrity" : "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==" ,
"license" : "MIT"
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/internal-slot" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz" ,
"integrity" : "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"es-errors" : "^1.3.0" ,
"hasown" : "^2.0.2" ,
"side-channel" : "^1.1.0"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/ip-address" : {
2026-05-09 13:03:36 -05:00
"version" : "10.2.0" ,
"resolved" : "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz" ,
"integrity" : "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==" ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 12"
}
} ,
"node_modules/ipaddr.js" : {
"version" : "1.9.1" ,
"resolved" : "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" ,
"integrity" : "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.10"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/is-alphabetical" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" ,
"integrity" : "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
"node_modules/is-alphanumerical" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" ,
"integrity" : "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==" ,
"license" : "MIT" ,
"dependencies" : {
"is-alphabetical" : "^2.0.0" ,
"is-decimal" : "^2.0.0"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/is-array-buffer" : {
"version" : "3.0.5" ,
"resolved" : "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz" ,
"integrity" : "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"call-bound" : "^1.0.3" ,
"get-intrinsic" : "^1.2.6"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-async-function" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz" ,
"integrity" : "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"async-function" : "^1.0.0" ,
"call-bound" : "^1.0.3" ,
"get-proto" : "^1.0.1" ,
"has-tostringtag" : "^1.0.2" ,
"safe-regex-test" : "^1.1.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-bigint" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz" ,
"integrity" : "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"has-bigints" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/is-binary-path" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" ,
"integrity" : "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"binary-extensions" : "^2.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/is-boolean-object" : {
"version" : "1.2.2" ,
"resolved" : "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz" ,
"integrity" : "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"has-tostringtag" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-callable" : {
"version" : "1.2.7" ,
"resolved" : "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" ,
"integrity" : "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-core-module" : {
"version" : "2.16.2" ,
"resolved" : "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz" ,
"integrity" : "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==" ,
"license" : "MIT" ,
"dependencies" : {
"hasown" : "^2.0.3"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-data-view" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz" ,
"integrity" : "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.2" ,
"get-intrinsic" : "^1.2.6" ,
"is-typed-array" : "^1.1.13"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-date-object" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz" ,
"integrity" : "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"call-bound" : "^1.0.2" ,
"has-tostringtag" : "^1.0.2"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/is-decimal" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" ,
"integrity" : "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/is-extglob" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" ,
"integrity" : "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/is-finalizationregistry" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz" ,
"integrity" : "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/is-fullwidth-code-point" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" ,
"integrity" : "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/is-generator-function" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz" ,
"integrity" : "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.4" ,
"generator-function" : "^2.0.0" ,
"get-proto" : "^1.0.1" ,
"has-tostringtag" : "^1.0.2" ,
"safe-regex-test" : "^1.1.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/is-glob" : {
"version" : "4.0.3" ,
"resolved" : "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" ,
"integrity" : "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"is-extglob" : "^2.1.1"
} ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/is-hexadecimal" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" ,
"integrity" : "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/is-map" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz" ,
"integrity" : "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-module" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" ,
"integrity" : "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/is-negative-zero" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" ,
"integrity" : "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/is-number" : {
"version" : "7.0.0" ,
"resolved" : "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" ,
"integrity" : "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.12.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/is-number-object" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz" ,
"integrity" : "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"has-tostringtag" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-obj" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" ,
"integrity" : "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/is-plain-obj" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" ,
"integrity" : "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/is-regex" : {
"version" : "1.2.1" ,
"resolved" : "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz" ,
"integrity" : "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.2" ,
"gopd" : "^1.2.0" ,
"has-tostringtag" : "^1.0.2" ,
"hasown" : "^2.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-regexp" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" ,
"integrity" : "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/is-set" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz" ,
"integrity" : "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-shared-array-buffer" : {
"version" : "1.0.4" ,
"resolved" : "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz" ,
"integrity" : "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-stream" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" ,
"integrity" : "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/is-string" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz" ,
"integrity" : "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"has-tostringtag" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-symbol" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz" ,
"integrity" : "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.2" ,
"has-symbols" : "^1.1.0" ,
"safe-regex-test" : "^1.1.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-typed-array" : {
"version" : "1.1.15" ,
"resolved" : "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz" ,
"integrity" : "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"which-typed-array" : "^1.1.16"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-weakmap" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz" ,
"integrity" : "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-weakref" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz" ,
"integrity" : "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/is-weakset" : {
"version" : "2.0.4" ,
"resolved" : "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz" ,
"integrity" : "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"get-intrinsic" : "^1.2.6"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/isarray" : {
"version" : "2.0.5" ,
"resolved" : "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" ,
"integrity" : "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/isexe" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" ,
"integrity" : "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" ,
"dev" : true ,
"license" : "ISC"
} ,
"node_modules/jackspeak" : {
"version" : "4.2.3" ,
"resolved" : "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz" ,
"integrity" : "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==" ,
"dev" : true ,
"license" : "BlueOak-1.0.0" ,
"dependencies" : {
"@isaacs/cliui" : "^9.0.0"
} ,
"engines" : {
"node" : "20 || >=22"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/jake" : {
"version" : "10.9.4" ,
"resolved" : "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz" ,
"integrity" : "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==" ,
"dev" : true ,
"license" : "Apache-2.0" ,
"dependencies" : {
"async" : "^3.2.6" ,
"filelist" : "^1.0.4" ,
"picocolors" : "^1.1.1"
} ,
"bin" : {
"jake" : "bin/cli.js"
} ,
"engines" : {
"node" : ">=10"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/jiti" : {
"version" : "1.21.7" ,
"resolved" : "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz" ,
"integrity" : "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"jiti" : "bin/jiti.js"
}
} ,
"node_modules/jose" : {
"version" : "4.15.9" ,
"resolved" : "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz" ,
"integrity" : "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"funding" : {
"url" : "https://github.com/sponsors/panva"
}
} ,
"node_modules/js-tokens" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/jsesc" : {
"version" : "3.1.0" ,
"resolved" : "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" ,
"integrity" : "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"jsesc" : "bin/jsesc"
} ,
"engines" : {
"node" : ">=6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/json-schema-traverse" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" ,
"integrity" : "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" ,
"dev" : true ,
"license" : "MIT"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/json5" : {
"version" : "2.2.3" ,
"resolved" : "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" ,
"integrity" : "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"bin" : {
"json5" : "lib/cli.js"
} ,
"engines" : {
"node" : ">=6"
}
} ,
"node_modules/jsonfile" : {
"version" : "6.2.1" ,
"resolved" : "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz" ,
"integrity" : "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"universalify" : "^2.0.0"
} ,
"optionalDependencies" : {
"graceful-fs" : "^4.1.6"
}
} ,
"node_modules/jsonpointer" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" ,
"integrity" : "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/leven" : {
"version" : "3.1.0" ,
"resolved" : "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" ,
"integrity" : "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" ,
"dev" : true ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6"
}
} ,
"node_modules/lilconfig" : {
"version" : "3.1.3" ,
"resolved" : "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz" ,
"integrity" : "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=14"
} ,
"funding" : {
"url" : "https://github.com/sponsors/antonk52"
}
} ,
"node_modules/lines-and-columns" : {
"version" : "1.2.4" ,
"resolved" : "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/lodash.debounce" : {
"version" : "4.0.8" ,
"resolved" : "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" ,
"integrity" : "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/lodash.sortby" : {
"version" : "4.7.0" ,
"resolved" : "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" ,
"integrity" : "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" ,
"dev" : true ,
"license" : "MIT"
} ,
2026-05-09 16:25:12 -05:00
"node_modules/longest-streak" : {
"version" : "3.1.0" ,
"resolved" : "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" ,
"integrity" : "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/loose-envify" : {
"version" : "1.4.0" ,
"resolved" : "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" ,
"integrity" : "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"js-tokens" : "^3.0.0 || ^4.0.0"
} ,
"bin" : {
"loose-envify" : "cli.js"
}
} ,
"node_modules/lru-cache" : {
"version" : "5.1.1" ,
"resolved" : "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" ,
"integrity" : "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"yallist" : "^3.0.2"
}
} ,
"node_modules/lucide-react" : {
"version" : "0.456.0" ,
"resolved" : "https://registry.npmjs.org/lucide-react/-/lucide-react-0.456.0.tgz" ,
"integrity" : "sha512-DIIGJqTT5X05sbAsQ+OhA8OtJYyD4NsEMCA/HQW/Y6ToPQ7gwbtujIoeAaup4HpHzV35SQOarKAWH8LYglB6eA==" ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"react" : "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/magic-string" : {
"version" : "0.30.21" ,
"resolved" : "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz" ,
"integrity" : "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@jridgewell/sourcemap-codec" : "^1.5.5"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/markdown-table" : {
"version" : "3.0.4" ,
"resolved" : "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz" ,
"integrity" : "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/math-intrinsics" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" ,
"integrity" : "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-09 16:25:12 -05:00
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/mdast-util-find-and-replace" : {
"version" : "3.0.2" ,
"resolved" : "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz" ,
"integrity" : "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"escape-string-regexp" : "^5.0.0" ,
"unist-util-is" : "^6.0.0" ,
"unist-util-visit-parents" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-from-markdown" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz" ,
"integrity" : "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"@types/unist" : "^3.0.0" ,
"decode-named-character-reference" : "^1.0.0" ,
"devlop" : "^1.0.0" ,
"mdast-util-to-string" : "^4.0.0" ,
"micromark" : "^4.0.0" ,
"micromark-util-decode-numeric-character-reference" : "^2.0.0" ,
"micromark-util-decode-string" : "^2.0.0" ,
"micromark-util-normalize-identifier" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0" ,
"unist-util-stringify-position" : "^4.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-gfm" : {
"version" : "3.1.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz" ,
"integrity" : "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==" ,
"license" : "MIT" ,
"dependencies" : {
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-gfm-autolink-literal" : "^2.0.0" ,
"mdast-util-gfm-footnote" : "^2.0.0" ,
"mdast-util-gfm-strikethrough" : "^2.0.0" ,
"mdast-util-gfm-table" : "^2.0.0" ,
"mdast-util-gfm-task-list-item" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-gfm-autolink-literal" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz" ,
"integrity" : "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"ccount" : "^2.0.0" ,
"devlop" : "^1.0.0" ,
"mdast-util-find-and-replace" : "^3.0.0" ,
"micromark-util-character" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-gfm-footnote" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz" ,
"integrity" : "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"devlop" : "^1.1.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0" ,
"micromark-util-normalize-identifier" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-gfm-strikethrough" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" ,
"integrity" : "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-gfm-table" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" ,
"integrity" : "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"devlop" : "^1.0.0" ,
"markdown-table" : "^3.0.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-gfm-task-list-item" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" ,
"integrity" : "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"devlop" : "^1.0.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-mdx-expression" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz" ,
"integrity" : "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/estree-jsx" : "^1.0.0" ,
"@types/hast" : "^3.0.0" ,
"@types/mdast" : "^4.0.0" ,
"devlop" : "^1.0.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-mdx-jsx" : {
"version" : "3.2.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz" ,
"integrity" : "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/estree-jsx" : "^1.0.0" ,
"@types/hast" : "^3.0.0" ,
"@types/mdast" : "^4.0.0" ,
"@types/unist" : "^3.0.0" ,
"ccount" : "^2.0.0" ,
"devlop" : "^1.1.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0" ,
"parse-entities" : "^4.0.0" ,
"stringify-entities" : "^4.0.0" ,
"unist-util-stringify-position" : "^4.0.0" ,
"vfile-message" : "^4.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-mdxjs-esm" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" ,
"integrity" : "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/estree-jsx" : "^1.0.0" ,
"@types/hast" : "^3.0.0" ,
"@types/mdast" : "^4.0.0" ,
"devlop" : "^1.0.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"mdast-util-to-markdown" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-phrasing" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" ,
"integrity" : "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"unist-util-is" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-to-hast" : {
"version" : "13.2.1" ,
"resolved" : "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz" ,
"integrity" : "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/hast" : "^3.0.0" ,
"@types/mdast" : "^4.0.0" ,
"@ungap/structured-clone" : "^1.0.0" ,
"devlop" : "^1.0.0" ,
"micromark-util-sanitize-uri" : "^2.0.0" ,
"trim-lines" : "^3.0.0" ,
"unist-util-position" : "^5.0.0" ,
"unist-util-visit" : "^5.0.0" ,
"vfile" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-to-markdown" : {
"version" : "2.1.2" ,
"resolved" : "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz" ,
"integrity" : "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"@types/unist" : "^3.0.0" ,
"longest-streak" : "^3.0.0" ,
"mdast-util-phrasing" : "^4.0.0" ,
"mdast-util-to-string" : "^4.0.0" ,
"micromark-util-classify-character" : "^2.0.0" ,
"micromark-util-decode-string" : "^2.0.0" ,
"unist-util-visit" : "^5.0.0" ,
"zwitch" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/mdast-util-to-string" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" ,
"integrity" : "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/media-typer" : {
"version" : "0.3.0" ,
"resolved" : "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" ,
"integrity" : "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/merge-descriptors" : {
"version" : "1.0.3" ,
"resolved" : "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz" ,
"integrity" : "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" ,
"license" : "MIT" ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/merge2" : {
"version" : "1.4.1" ,
"resolved" : "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" ,
"integrity" : "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/methods" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" ,
"integrity" : "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/micromark" : {
"version" : "4.0.2" ,
"resolved" : "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz" ,
"integrity" : "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"@types/debug" : "^4.0.0" ,
"debug" : "^4.0.0" ,
"decode-named-character-reference" : "^1.0.0" ,
"devlop" : "^1.0.0" ,
"micromark-core-commonmark" : "^2.0.0" ,
"micromark-factory-space" : "^2.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-chunked" : "^2.0.0" ,
"micromark-util-combine-extensions" : "^2.0.0" ,
"micromark-util-decode-numeric-character-reference" : "^2.0.0" ,
"micromark-util-encode" : "^2.0.0" ,
"micromark-util-normalize-identifier" : "^2.0.0" ,
"micromark-util-resolve-all" : "^2.0.0" ,
"micromark-util-sanitize-uri" : "^2.0.0" ,
"micromark-util-subtokenize" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-core-commonmark" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz" ,
"integrity" : "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"decode-named-character-reference" : "^1.0.0" ,
"devlop" : "^1.0.0" ,
"micromark-factory-destination" : "^2.0.0" ,
"micromark-factory-label" : "^2.0.0" ,
"micromark-factory-space" : "^2.0.0" ,
"micromark-factory-title" : "^2.0.0" ,
"micromark-factory-whitespace" : "^2.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-chunked" : "^2.0.0" ,
"micromark-util-classify-character" : "^2.0.0" ,
"micromark-util-html-tag-name" : "^2.0.0" ,
"micromark-util-normalize-identifier" : "^2.0.0" ,
"micromark-util-resolve-all" : "^2.0.0" ,
"micromark-util-subtokenize" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-extension-gfm" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" ,
"integrity" : "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==" ,
"license" : "MIT" ,
"dependencies" : {
"micromark-extension-gfm-autolink-literal" : "^2.0.0" ,
"micromark-extension-gfm-footnote" : "^2.0.0" ,
"micromark-extension-gfm-strikethrough" : "^2.0.0" ,
"micromark-extension-gfm-table" : "^2.0.0" ,
"micromark-extension-gfm-tagfilter" : "^2.0.0" ,
"micromark-extension-gfm-task-list-item" : "^2.0.0" ,
"micromark-util-combine-extensions" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/micromark-extension-gfm-autolink-literal" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz" ,
"integrity" : "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==" ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-character" : "^2.0.0" ,
"micromark-util-sanitize-uri" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/micromark-extension-gfm-footnote" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz" ,
"integrity" : "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==" ,
"license" : "MIT" ,
"dependencies" : {
"devlop" : "^1.0.0" ,
"micromark-core-commonmark" : "^2.0.0" ,
"micromark-factory-space" : "^2.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-normalize-identifier" : "^2.0.0" ,
"micromark-util-sanitize-uri" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/micromark-extension-gfm-strikethrough" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz" ,
"integrity" : "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==" ,
"license" : "MIT" ,
"dependencies" : {
"devlop" : "^1.0.0" ,
"micromark-util-chunked" : "^2.0.0" ,
"micromark-util-classify-character" : "^2.0.0" ,
"micromark-util-resolve-all" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/micromark-extension-gfm-table" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz" ,
"integrity" : "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==" ,
"license" : "MIT" ,
"dependencies" : {
"devlop" : "^1.0.0" ,
"micromark-factory-space" : "^2.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/micromark-extension-gfm-tagfilter" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" ,
"integrity" : "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==" ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-types" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/micromark-extension-gfm-task-list-item" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz" ,
"integrity" : "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==" ,
"license" : "MIT" ,
"dependencies" : {
"devlop" : "^1.0.0" ,
"micromark-factory-space" : "^2.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/micromark-factory-destination" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz" ,
"integrity" : "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-character" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-factory-label" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz" ,
"integrity" : "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"devlop" : "^1.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-factory-space" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz" ,
"integrity" : "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-character" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-factory-title" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz" ,
"integrity" : "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-factory-space" : "^2.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-factory-whitespace" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz" ,
"integrity" : "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-factory-space" : "^2.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-util-character" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz" ,
"integrity" : "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-util-chunked" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz" ,
"integrity" : "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-symbol" : "^2.0.0"
}
} ,
"node_modules/micromark-util-classify-character" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz" ,
"integrity" : "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-character" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-util-combine-extensions" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz" ,
"integrity" : "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-chunked" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
}
} ,
"node_modules/micromark-util-decode-numeric-character-reference" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz" ,
"integrity" : "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"micromark-util-symbol" : "^2.0.0"
}
} ,
"node_modules/micromark-util-decode-string" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz" ,
"integrity" : "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT" ,
"dependencies" : {
"decode-named-character-reference" : "^1.0.0" ,
"micromark-util-character" : "^2.0.0" ,
"micromark-util-decode-numeric-character-reference" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/micromark-util-encode" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz" ,
"integrity" : "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT"
} ,
"node_modules/micromark-util-html-tag-name" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz" ,
"integrity" : "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT"
} ,
"node_modules/micromark-util-normalize-identifier" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz" ,
"integrity" : "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-09 16:25:12 -05:00
"dependencies" : {
"micromark-util-symbol" : "^2.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/micromark-util-resolve-all" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz" ,
"integrity" : "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-09 16:25:12 -05:00
"dependencies" : {
"micromark-util-types" : "^2.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/micromark-util-sanitize-uri" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz" ,
"integrity" : "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-09 16:25:12 -05:00
"dependencies" : {
"micromark-util-character" : "^2.0.0" ,
"micromark-util-encode" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/micromark-util-subtokenize" : {
"version" : "2.1.0" ,
"resolved" : "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz" ,
"integrity" : "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-09 16:25:12 -05:00
"dependencies" : {
"devlop" : "^1.0.0" ,
"micromark-util-chunked" : "^2.0.0" ,
"micromark-util-symbol" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0"
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/micromark-util-symbol" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz" ,
"integrity" : "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT"
} ,
"node_modules/micromark-util-types" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz" ,
"integrity" : "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==" ,
"funding" : [
{
"type" : "GitHub Sponsors" ,
"url" : "https://github.com/sponsors/unifiedjs"
} ,
{
"type" : "OpenCollective" ,
"url" : "https://opencollective.com/unified"
}
] ,
"license" : "MIT"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/micromatch" : {
"version" : "4.0.8" ,
"resolved" : "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz" ,
"integrity" : "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"braces" : "^3.0.3" ,
"picomatch" : "^2.3.1"
} ,
"engines" : {
"node" : ">=8.6"
}
} ,
"node_modules/mime" : {
"version" : "1.6.0" ,
"resolved" : "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" ,
"integrity" : "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"mime" : "cli.js"
} ,
"engines" : {
"node" : ">=4"
}
} ,
"node_modules/mime-db" : {
"version" : "1.52.0" ,
"resolved" : "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" ,
"integrity" : "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/mime-types" : {
"version" : "2.1.35" ,
"resolved" : "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" ,
"integrity" : "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"mime-db" : "1.52.0"
} ,
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/mimic-response" : {
"version" : "3.1.0" ,
"resolved" : "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" ,
"integrity" : "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/minimatch" : {
"version" : "10.2.5" ,
"resolved" : "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz" ,
"integrity" : "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==" ,
"dev" : true ,
"license" : "BlueOak-1.0.0" ,
"dependencies" : {
"brace-expansion" : "^5.0.5"
} ,
"engines" : {
"node" : "18 || 20 || >=22"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/minimist" : {
"version" : "1.2.8" ,
"resolved" : "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" ,
"integrity" : "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/minipass" : {
"version" : "7.1.3" ,
"resolved" : "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz" ,
"integrity" : "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==" ,
"dev" : true ,
"license" : "BlueOak-1.0.0" ,
"engines" : {
"node" : ">=16 || 14 >=14.17"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/mkdirp-classic" : {
"version" : "0.5.3" ,
"resolved" : "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/ms" : {
2026-05-09 13:03:36 -05:00
"version" : "2.1.3" ,
"resolved" : "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" ,
"integrity" : "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/mz" : {
"version" : "2.7.0" ,
"resolved" : "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" ,
"integrity" : "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"any-promise" : "^1.0.0" ,
"object-assign" : "^4.0.1" ,
"thenify-all" : "^1.0.0"
}
} ,
"node_modules/nanoid" : {
"version" : "3.3.12" ,
"resolved" : "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz" ,
"integrity" : "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"nanoid" : "bin/nanoid.cjs"
} ,
"engines" : {
"node" : "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
} ,
"node_modules/napi-build-utils" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/negotiator" : {
"version" : "0.6.3" ,
"resolved" : "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" ,
"integrity" : "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/node-abi" : {
2026-05-09 13:03:36 -05:00
"version" : "3.92.0" ,
"resolved" : "https://registry.npmjs.org/node-abi/-/node-abi-3.92.0.tgz" ,
"integrity" : "sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==" ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"semver" : "^7.3.5"
} ,
"engines" : {
"node" : ">=10"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/node-abi/node_modules/semver" : {
"version" : "7.8.0" ,
"resolved" : "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz" ,
"integrity" : "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==" ,
"license" : "ISC" ,
"bin" : {
"semver" : "bin/semver.js"
} ,
"engines" : {
"node" : ">=10"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/node-cron" : {
2026-05-28 03:59:35 -05:00
"version" : "4.2.1" ,
"resolved" : "https://registry.npmjs.org/node-cron/-/node-cron-4.2.1.tgz" ,
"integrity" : "sha512-lgimEHPE/QDgFlywTd8yTR61ptugX3Qer29efeyWw2rv259HtGBNn1vZVmp8lB9uo9wC0t/AT4iGqXxia+CJFg==" ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.0.0"
}
} ,
"node_modules/node-releases" : {
"version" : "2.0.38" ,
"resolved" : "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz" ,
"integrity" : "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==" ,
2026-05-09 13:03:36 -05:00
"dev" : true ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/nodemailer" : {
2026-05-28 03:59:35 -05:00
"version" : "8.0.9" ,
"resolved" : "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.9.tgz" ,
"integrity" : "sha512-5ofa7BUN8+C+Hckh5V2GjeeOGRQBx0CJQA6KxrvuZfC8iU4/q7sLn8XrtEEhJkjV6HdyIiQs7Bba6bTao8JhkA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT-0" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=6.0.0"
}
} ,
"node_modules/normalize-path" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" ,
"integrity" : "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/object-assign" : {
"version" : "4.1.1" ,
"resolved" : "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" ,
"integrity" : "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/object-hash" : {
2026-05-09 13:03:36 -05:00
"version" : "2.2.0" ,
"resolved" : "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" ,
"integrity" : "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 6"
}
} ,
"node_modules/object-inspect" : {
"version" : "1.13.4" ,
"resolved" : "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz" ,
"integrity" : "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/object-keys" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" ,
"integrity" : "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/object.assign" : {
"version" : "4.1.7" ,
"resolved" : "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz" ,
"integrity" : "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"call-bound" : "^1.0.3" ,
"define-properties" : "^1.2.1" ,
"es-object-atoms" : "^1.0.0" ,
"has-symbols" : "^1.1.0" ,
"object-keys" : "^1.1.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/oidc-token-hash" : {
"version" : "5.2.0" ,
"resolved" : "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.2.0.tgz" ,
"integrity" : "sha512-6gj2m8cJZ+iSW8bm0FXdGF0YhIQbKrfP4yWTNzxc31U6MOjfEmB1rHvlYvxI1B7t7BCi1F2vYTT6YhtQRG4hxw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : "^10.13.0 || >=12.0.0"
}
} ,
"node_modules/on-finished" : {
"version" : "2.4.1" ,
"resolved" : "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" ,
"integrity" : "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"ee-first" : "1.1.1"
} ,
"engines" : {
"node" : ">= 0.8"
}
} ,
"node_modules/once" : {
"version" : "1.4.0" ,
"resolved" : "https://registry.npmjs.org/once/-/once-1.4.0.tgz" ,
"integrity" : "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"wrappy" : "1"
}
} ,
"node_modules/openid-client" : {
"version" : "5.7.1" ,
"resolved" : "https://registry.npmjs.org/openid-client/-/openid-client-5.7.1.tgz" ,
"integrity" : "sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"jose" : "^4.15.9" ,
"lru-cache" : "^6.0.0" ,
"object-hash" : "^2.2.0" ,
"oidc-token-hash" : "^5.0.3"
} ,
"funding" : {
"url" : "https://github.com/sponsors/panva"
}
} ,
"node_modules/openid-client/node_modules/lru-cache" : {
"version" : "6.0.0" ,
"resolved" : "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" ,
"integrity" : "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"yallist" : "^4.0.0"
} ,
"engines" : {
"node" : ">=10"
}
} ,
"node_modules/openid-client/node_modules/yallist" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/own-keys" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz" ,
"integrity" : "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"get-intrinsic" : "^1.2.6" ,
"object-keys" : "^1.1.1" ,
"safe-push-apply" : "^1.0.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/package-json-from-dist" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz" ,
"integrity" : "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" ,
"dev" : true ,
"license" : "BlueOak-1.0.0"
} ,
2026-05-09 16:25:12 -05:00
"node_modules/parse-entities" : {
"version" : "4.0.2" ,
"resolved" : "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz" ,
"integrity" : "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^2.0.0" ,
"character-entities-legacy" : "^3.0.0" ,
"character-reference-invalid" : "^2.0.0" ,
"decode-named-character-reference" : "^1.0.0" ,
"is-alphanumerical" : "^2.0.0" ,
"is-decimal" : "^2.0.0" ,
"is-hexadecimal" : "^2.0.0"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
"node_modules/parse-entities/node_modules/@types/unist" : {
"version" : "2.0.11" ,
"resolved" : "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz" ,
"integrity" : "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" ,
"license" : "MIT"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/parseurl" : {
"version" : "1.3.3" ,
"resolved" : "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" ,
"integrity" : "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/path-key" : {
"version" : "3.1.1" ,
"resolved" : "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" ,
"integrity" : "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/path-parse" : {
"version" : "1.0.7" ,
"resolved" : "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/path-scurry" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz" ,
"integrity" : "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==" ,
"dev" : true ,
"license" : "BlueOak-1.0.0" ,
"dependencies" : {
"lru-cache" : "^11.0.0" ,
"minipass" : "^7.1.2"
} ,
"engines" : {
"node" : "18 || 20 || >=22"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/path-scurry/node_modules/lru-cache" : {
"version" : "11.5.1" ,
"resolved" : "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz" ,
"integrity" : "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==" ,
"dev" : true ,
"license" : "BlueOak-1.0.0" ,
"engines" : {
"node" : "20 || >=22"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/path-to-regexp" : {
"version" : "0.1.13" ,
"resolved" : "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/picocolors" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/picomatch" : {
"version" : "2.3.2" ,
"resolved" : "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz" ,
"integrity" : "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=8.6"
} ,
"funding" : {
"url" : "https://github.com/sponsors/jonschlinkert"
}
} ,
"node_modules/pify" : {
"version" : "2.3.0" ,
"resolved" : "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" ,
"integrity" : "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/pirates" : {
"version" : "4.0.7" ,
"resolved" : "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz" ,
"integrity" : "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/possible-typed-array-names" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz" ,
"integrity" : "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 0.4"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/postcss" : {
2026-05-09 13:03:36 -05:00
"version" : "8.5.14" ,
"resolved" : "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz" ,
"integrity" : "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==" ,
2026-05-03 19:51:57 -05:00
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/postcss/"
} ,
{
"type" : "tidelift" ,
"url" : "https://tidelift.com/funding/github/npm/postcss"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"nanoid" : "^3.3.11" ,
"picocolors" : "^1.1.1" ,
"source-map-js" : "^1.2.1"
} ,
"engines" : {
"node" : "^10 || ^12 || >=14"
}
} ,
"node_modules/postcss-import" : {
"version" : "15.1.0" ,
"resolved" : "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" ,
"integrity" : "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"postcss-value-parser" : "^4.0.0" ,
"read-cache" : "^1.0.0" ,
"resolve" : "^1.1.7"
} ,
"engines" : {
"node" : ">=14.0.0"
} ,
"peerDependencies" : {
"postcss" : "^8.0.0"
}
} ,
"node_modules/postcss-js" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz" ,
"integrity" : "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==" ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/postcss/"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"camelcase-css" : "^2.0.1"
} ,
"engines" : {
"node" : "^12 || ^14 || >= 16"
} ,
"peerDependencies" : {
"postcss" : "^8.4.21"
}
} ,
"node_modules/postcss-load-config" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz" ,
"integrity" : "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==" ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/postcss/"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"lilconfig" : "^3.1.1"
} ,
"engines" : {
"node" : ">= 18"
} ,
"peerDependencies" : {
"jiti" : ">=1.21.0" ,
"postcss" : ">=8.0.9" ,
"tsx" : "^4.8.1" ,
"yaml" : "^2.4.2"
} ,
"peerDependenciesMeta" : {
"jiti" : {
"optional" : true
} ,
"postcss" : {
"optional" : true
} ,
"tsx" : {
"optional" : true
} ,
"yaml" : {
"optional" : true
}
}
} ,
"node_modules/postcss-nested" : {
"version" : "6.2.0" ,
"resolved" : "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz" ,
"integrity" : "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==" ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/postcss/"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"postcss-selector-parser" : "^6.1.1"
} ,
"engines" : {
"node" : ">=12.0"
} ,
"peerDependencies" : {
"postcss" : "^8.2.14"
}
} ,
"node_modules/postcss-selector-parser" : {
"version" : "6.1.2" ,
"resolved" : "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz" ,
"integrity" : "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"cssesc" : "^3.0.0" ,
"util-deprecate" : "^1.0.2"
} ,
"engines" : {
"node" : ">=4"
}
} ,
"node_modules/postcss-value-parser" : {
"version" : "4.2.0" ,
"resolved" : "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/prebuild-install" : {
"version" : "7.1.3" ,
"resolved" : "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz" ,
"integrity" : "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==" ,
"deprecated" : "No longer maintained. Please contact the author of the relevant native addon; alternatives are available." ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"detect-libc" : "^2.0.0" ,
"expand-template" : "^2.0.3" ,
"github-from-package" : "0.0.0" ,
"minimist" : "^1.2.3" ,
"mkdirp-classic" : "^0.5.3" ,
"napi-build-utils" : "^2.0.0" ,
"node-abi" : "^3.3.0" ,
"pump" : "^3.0.0" ,
"rc" : "^1.2.7" ,
"simple-get" : "^4.0.0" ,
"tar-fs" : "^2.0.0" ,
"tunnel-agent" : "^0.6.0"
} ,
"bin" : {
"prebuild-install" : "bin.js"
} ,
"engines" : {
"node" : ">=10"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/pretty-bytes" : {
"version" : "6.1.1" ,
"resolved" : "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz" ,
"integrity" : "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : "^14.13.1 || >=16.0.0"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/property-information" : {
"version" : "7.1.0" ,
"resolved" : "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz" ,
"integrity" : "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/proxy-addr" : {
"version" : "2.0.7" ,
"resolved" : "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" ,
"integrity" : "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"forwarded" : "0.2.0" ,
"ipaddr.js" : "1.9.1"
} ,
"engines" : {
"node" : ">= 0.10"
}
} ,
"node_modules/pump" : {
"version" : "3.0.4" ,
"resolved" : "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz" ,
"integrity" : "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"end-of-stream" : "^1.1.0" ,
"once" : "^1.3.1"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/punycode" : {
"version" : "2.3.1" ,
"resolved" : "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" ,
"integrity" : "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/qs" : {
2026-05-28 03:59:35 -05:00
"version" : "6.15.2" ,
"resolved" : "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz" ,
"integrity" : "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==" ,
2026-05-09 13:03:36 -05:00
"license" : "BSD-3-Clause" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"side-channel" : "^1.1.0"
} ,
"engines" : {
"node" : ">=0.6"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/queue-microtask" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" ,
"integrity" : "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
2026-05-09 13:03:36 -05:00
] ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/range-parser" : {
"version" : "1.2.1" ,
"resolved" : "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" ,
"integrity" : "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/raw-body" : {
"version" : "2.5.3" ,
"resolved" : "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz" ,
"integrity" : "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"bytes" : "~3.1.2" ,
"http-errors" : "~2.0.1" ,
"iconv-lite" : "~0.4.24" ,
"unpipe" : "~1.0.0"
} ,
"engines" : {
"node" : ">= 0.8"
}
} ,
"node_modules/rc" : {
"version" : "1.2.8" ,
"resolved" : "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" ,
"integrity" : "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" ,
2026-05-09 13:03:36 -05:00
"license" : "(BSD-2-Clause OR MIT OR Apache-2.0)" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"deep-extend" : "^0.6.0" ,
"ini" : "~1.3.0" ,
"minimist" : "^1.2.0" ,
"strip-json-comments" : "~2.0.1"
} ,
"bin" : {
"rc" : "cli.js"
}
} ,
"node_modules/react" : {
"version" : "18.3.1" ,
"resolved" : "https://registry.npmjs.org/react/-/react-18.3.1.tgz" ,
"integrity" : "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"loose-envify" : "^1.1.0"
} ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/react-dom" : {
"version" : "18.3.1" ,
"resolved" : "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" ,
"integrity" : "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"loose-envify" : "^1.1.0" ,
"scheduler" : "^0.23.2"
} ,
"peerDependencies" : {
"react" : "^18.3.1"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/react-markdown" : {
"version" : "10.1.0" ,
"resolved" : "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz" ,
"integrity" : "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/hast" : "^3.0.0" ,
"@types/mdast" : "^4.0.0" ,
"devlop" : "^1.0.0" ,
"hast-util-to-jsx-runtime" : "^2.0.0" ,
"html-url-attributes" : "^3.0.0" ,
"mdast-util-to-hast" : "^13.0.0" ,
"remark-parse" : "^11.0.0" ,
"remark-rehype" : "^11.0.0" ,
"unified" : "^11.0.0" ,
"unist-util-visit" : "^5.0.0" ,
"vfile" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
} ,
"peerDependencies" : {
"@types/react" : ">=18" ,
"react" : ">=18"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/react-refresh" : {
"version" : "0.17.0" ,
"resolved" : "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz" ,
"integrity" : "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/react-remove-scroll" : {
"version" : "2.7.2" ,
"resolved" : "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz" ,
"integrity" : "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"react-remove-scroll-bar" : "^2.3.7" ,
"react-style-singleton" : "^2.2.3" ,
"tslib" : "^2.1.0" ,
"use-callback-ref" : "^1.3.3" ,
"use-sidecar" : "^1.1.3"
} ,
"engines" : {
"node" : ">=10"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/react-remove-scroll-bar" : {
"version" : "2.3.8" ,
"resolved" : "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz" ,
"integrity" : "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"react-style-singleton" : "^2.2.2" ,
"tslib" : "^2.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/react-router" : {
"version" : "6.30.3" ,
"resolved" : "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz" ,
"integrity" : "sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@remix-run/router" : "1.23.2"
} ,
"engines" : {
"node" : ">=14.0.0"
} ,
"peerDependencies" : {
"react" : ">=16.8"
}
} ,
"node_modules/react-router-dom" : {
"version" : "6.30.3" ,
"resolved" : "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.3.tgz" ,
"integrity" : "sha512-pxPcv1AczD4vso7G4Z3TKcvlxK7g7TNt3/FNGMhfqyntocvYKj+GCatfigGDjbLozC4baguJ0ReCigoDJXb0ag==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@remix-run/router" : "1.23.2" ,
"react-router" : "6.30.3"
} ,
"engines" : {
"node" : ">=14.0.0"
} ,
"peerDependencies" : {
"react" : ">=16.8" ,
"react-dom" : ">=16.8"
}
} ,
"node_modules/react-style-singleton" : {
"version" : "2.2.3" ,
"resolved" : "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz" ,
"integrity" : "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"get-nonce" : "^1.0.0" ,
"tslib" : "^2.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/read-cache" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" ,
"integrity" : "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"pify" : "^2.3.0"
}
} ,
"node_modules/readable-stream" : {
"version" : "3.6.2" ,
"resolved" : "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" ,
"integrity" : "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"inherits" : "^2.0.3" ,
"string_decoder" : "^1.1.1" ,
"util-deprecate" : "^1.0.1"
} ,
"engines" : {
"node" : ">= 6"
}
} ,
"node_modules/readdirp" : {
"version" : "3.6.0" ,
"resolved" : "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" ,
"integrity" : "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"picomatch" : "^2.2.1"
} ,
"engines" : {
"node" : ">=8.10.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/reflect.getprototypeof" : {
"version" : "1.0.10" ,
"resolved" : "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz" ,
"integrity" : "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"define-properties" : "^1.2.1" ,
"es-abstract" : "^1.23.9" ,
"es-errors" : "^1.3.0" ,
"es-object-atoms" : "^1.0.0" ,
"get-intrinsic" : "^1.2.7" ,
"get-proto" : "^1.0.1" ,
"which-builtin-type" : "^1.2.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/regenerate" : {
"version" : "1.4.2" ,
"resolved" : "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" ,
"integrity" : "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/regenerate-unicode-properties" : {
"version" : "10.2.2" ,
"resolved" : "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz" ,
"integrity" : "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"regenerate" : "^1.4.2"
} ,
"engines" : {
"node" : ">=4"
}
} ,
"node_modules/regexp.prototype.flags" : {
"version" : "1.5.4" ,
"resolved" : "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz" ,
"integrity" : "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"define-properties" : "^1.2.1" ,
"es-errors" : "^1.3.0" ,
"get-proto" : "^1.0.1" ,
"gopd" : "^1.2.0" ,
"set-function-name" : "^2.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/regexpu-core" : {
"version" : "6.4.0" ,
"resolved" : "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz" ,
"integrity" : "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"regenerate" : "^1.4.2" ,
"regenerate-unicode-properties" : "^10.2.2" ,
"regjsgen" : "^0.8.0" ,
"regjsparser" : "^0.13.0" ,
"unicode-match-property-ecmascript" : "^2.0.0" ,
"unicode-match-property-value-ecmascript" : "^2.2.1"
} ,
"engines" : {
"node" : ">=4"
}
} ,
"node_modules/regjsgen" : {
"version" : "0.8.0" ,
"resolved" : "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz" ,
"integrity" : "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/regjsparser" : {
"version" : "0.13.1" ,
"resolved" : "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz" ,
"integrity" : "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==" ,
"dev" : true ,
"license" : "BSD-2-Clause" ,
"dependencies" : {
"jsesc" : "~3.1.0"
} ,
"bin" : {
"regjsparser" : "bin/parser"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/rehype-sanitize" : {
"version" : "6.0.0" ,
"resolved" : "https://registry.npmjs.org/rehype-sanitize/-/rehype-sanitize-6.0.0.tgz" ,
"integrity" : "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/hast" : "^3.0.0" ,
"hast-util-sanitize" : "^5.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/remark-gfm" : {
"version" : "4.0.1" ,
"resolved" : "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz" ,
"integrity" : "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"mdast-util-gfm" : "^3.0.0" ,
"micromark-extension-gfm" : "^3.0.0" ,
"remark-parse" : "^11.0.0" ,
"remark-stringify" : "^11.0.0" ,
"unified" : "^11.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/remark-parse" : {
"version" : "11.0.0" ,
"resolved" : "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" ,
"integrity" : "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"mdast-util-from-markdown" : "^2.0.0" ,
"micromark-util-types" : "^2.0.0" ,
"unified" : "^11.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/remark-rehype" : {
"version" : "11.1.2" ,
"resolved" : "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz" ,
"integrity" : "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/hast" : "^3.0.0" ,
"@types/mdast" : "^4.0.0" ,
"mdast-util-to-hast" : "^13.0.0" ,
"unified" : "^11.0.0" ,
"vfile" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/remark-stringify" : {
"version" : "11.0.0" ,
"resolved" : "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz" ,
"integrity" : "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/mdast" : "^4.0.0" ,
"mdast-util-to-markdown" : "^2.0.0" ,
"unified" : "^11.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/require-directory" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" ,
"integrity" : "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/require-from-string" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" ,
"integrity" : "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/resolve" : {
"version" : "1.22.12" ,
"resolved" : "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz" ,
"integrity" : "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"es-errors" : "^1.3.0" ,
"is-core-module" : "^2.16.1" ,
"path-parse" : "^1.0.7" ,
"supports-preserve-symlinks-flag" : "^1.0.0"
} ,
"bin" : {
"resolve" : "bin/resolve"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/reusify" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz" ,
"integrity" : "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"iojs" : ">=1.0.0" ,
"node" : ">=0.10.0"
}
} ,
"node_modules/rollup" : {
2026-05-09 13:03:36 -05:00
"version" : "4.60.3" ,
"resolved" : "https://registry.npmjs.org/rollup/-/rollup-4.60.3.tgz" ,
"integrity" : "sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==" ,
2026-05-03 19:51:57 -05:00
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@types/estree" : "1.0.8"
} ,
"bin" : {
"rollup" : "dist/bin/rollup"
} ,
"engines" : {
"node" : ">=18.0.0" ,
"npm" : ">=8.0.0"
} ,
"optionalDependencies" : {
2026-05-09 13:03:36 -05:00
"@rollup/rollup-android-arm-eabi" : "4.60.3" ,
"@rollup/rollup-android-arm64" : "4.60.3" ,
"@rollup/rollup-darwin-arm64" : "4.60.3" ,
"@rollup/rollup-darwin-x64" : "4.60.3" ,
"@rollup/rollup-freebsd-arm64" : "4.60.3" ,
"@rollup/rollup-freebsd-x64" : "4.60.3" ,
"@rollup/rollup-linux-arm-gnueabihf" : "4.60.3" ,
"@rollup/rollup-linux-arm-musleabihf" : "4.60.3" ,
"@rollup/rollup-linux-arm64-gnu" : "4.60.3" ,
"@rollup/rollup-linux-arm64-musl" : "4.60.3" ,
"@rollup/rollup-linux-loong64-gnu" : "4.60.3" ,
"@rollup/rollup-linux-loong64-musl" : "4.60.3" ,
"@rollup/rollup-linux-ppc64-gnu" : "4.60.3" ,
"@rollup/rollup-linux-ppc64-musl" : "4.60.3" ,
"@rollup/rollup-linux-riscv64-gnu" : "4.60.3" ,
"@rollup/rollup-linux-riscv64-musl" : "4.60.3" ,
"@rollup/rollup-linux-s390x-gnu" : "4.60.3" ,
"@rollup/rollup-linux-x64-gnu" : "4.60.3" ,
"@rollup/rollup-linux-x64-musl" : "4.60.3" ,
"@rollup/rollup-openbsd-x64" : "4.60.3" ,
"@rollup/rollup-openharmony-arm64" : "4.60.3" ,
"@rollup/rollup-win32-arm64-msvc" : "4.60.3" ,
"@rollup/rollup-win32-ia32-msvc" : "4.60.3" ,
"@rollup/rollup-win32-x64-gnu" : "4.60.3" ,
"@rollup/rollup-win32-x64-msvc" : "4.60.3" ,
2026-05-03 19:51:57 -05:00
"fsevents" : "~2.3.2"
}
} ,
"node_modules/run-parallel" : {
"version" : "1.2.0" ,
"resolved" : "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" ,
"integrity" : "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"queue-microtask" : "^1.2.2"
}
} ,
"node_modules/rxjs" : {
"version" : "7.8.2" ,
"resolved" : "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz" ,
"integrity" : "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"tslib" : "^2.1.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/safe-array-concat" : {
"version" : "1.1.4" ,
"resolved" : "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz" ,
"integrity" : "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.9" ,
"call-bound" : "^1.0.4" ,
"get-intrinsic" : "^1.3.0" ,
"has-symbols" : "^1.1.0" ,
"isarray" : "^2.0.5"
} ,
"engines" : {
"node" : ">=0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/safe-buffer" : {
"version" : "5.2.1" ,
"resolved" : "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" ,
"integrity" : "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
2026-05-09 13:03:36 -05:00
] ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/safe-push-apply" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz" ,
"integrity" : "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"es-errors" : "^1.3.0" ,
"isarray" : "^2.0.5"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/safe-regex-test" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz" ,
"integrity" : "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.2" ,
"es-errors" : "^1.3.0" ,
"is-regex" : "^1.2.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/safer-buffer" : {
"version" : "2.1.2" ,
"resolved" : "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/scheduler" : {
"version" : "0.23.2" ,
"resolved" : "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz" ,
"integrity" : "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"loose-envify" : "^1.1.0"
}
} ,
"node_modules/semver" : {
2026-05-09 13:03:36 -05:00
"version" : "6.3.1" ,
"resolved" : "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" ,
"integrity" : "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" ,
"dev" : true ,
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"semver" : "bin/semver.js"
}
} ,
"node_modules/send" : {
"version" : "0.19.2" ,
"resolved" : "https://registry.npmjs.org/send/-/send-0.19.2.tgz" ,
"integrity" : "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"debug" : "2.6.9" ,
"depd" : "2.0.0" ,
"destroy" : "1.2.0" ,
"encodeurl" : "~2.0.0" ,
"escape-html" : "~1.0.3" ,
"etag" : "~1.8.1" ,
"fresh" : "~0.5.2" ,
"http-errors" : "~2.0.1" ,
"mime" : "1.6.0" ,
"ms" : "2.1.3" ,
"on-finished" : "~2.4.1" ,
"range-parser" : "~1.2.1" ,
"statuses" : "~2.0.2"
} ,
"engines" : {
"node" : ">= 0.8.0"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/send/node_modules/debug" : {
"version" : "2.6.9" ,
"resolved" : "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" ,
"integrity" : "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" ,
"license" : "MIT" ,
"dependencies" : {
"ms" : "2.0.0"
}
} ,
"node_modules/send/node_modules/debug/node_modules/ms" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" ,
"integrity" : "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/serialize-javascript" : {
"version" : "7.0.5" ,
"resolved" : "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.5.tgz" ,
"integrity" : "sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==" ,
"dev" : true ,
"license" : "BSD-3-Clause" ,
"engines" : {
"node" : ">=20.0.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/serve-static" : {
"version" : "1.16.3" ,
"resolved" : "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz" ,
"integrity" : "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"encodeurl" : "~2.0.0" ,
"escape-html" : "~1.0.3" ,
"parseurl" : "~1.3.3" ,
"send" : "~0.19.1"
} ,
"engines" : {
"node" : ">= 0.8.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/set-function-length" : {
"version" : "1.2.2" ,
"resolved" : "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" ,
"integrity" : "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"define-data-property" : "^1.1.4" ,
"es-errors" : "^1.3.0" ,
"function-bind" : "^1.1.2" ,
"get-intrinsic" : "^1.2.4" ,
"gopd" : "^1.0.1" ,
"has-property-descriptors" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/set-function-name" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz" ,
"integrity" : "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"define-data-property" : "^1.1.4" ,
"es-errors" : "^1.3.0" ,
"functions-have-names" : "^1.2.3" ,
"has-property-descriptors" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/set-proto" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz" ,
"integrity" : "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"dunder-proto" : "^1.0.1" ,
"es-errors" : "^1.3.0" ,
"es-object-atoms" : "^1.0.0"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/setprototypeof" : {
"version" : "1.2.0" ,
"resolved" : "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/shebang-command" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" ,
"integrity" : "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"shebang-regex" : "^3.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/shebang-regex" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" ,
"integrity" : "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/shell-quote" : {
"version" : "1.8.3" ,
"resolved" : "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz" ,
"integrity" : "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/side-channel" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz" ,
"integrity" : "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"es-errors" : "^1.3.0" ,
"object-inspect" : "^1.13.3" ,
"side-channel-list" : "^1.0.0" ,
"side-channel-map" : "^1.0.1" ,
"side-channel-weakmap" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/side-channel-list" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz" ,
"integrity" : "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"es-errors" : "^1.3.0" ,
"object-inspect" : "^1.13.4"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/side-channel-map" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz" ,
"integrity" : "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"call-bound" : "^1.0.2" ,
"es-errors" : "^1.3.0" ,
"get-intrinsic" : "^1.2.5" ,
"object-inspect" : "^1.13.3"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/side-channel-weakmap" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz" ,
"integrity" : "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"call-bound" : "^1.0.2" ,
"es-errors" : "^1.3.0" ,
"get-intrinsic" : "^1.2.5" ,
"object-inspect" : "^1.13.3" ,
"side-channel-map" : "^1.0.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/signal-exit" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" ,
"integrity" : "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" ,
"dev" : true ,
"license" : "ISC" ,
"engines" : {
"node" : ">=14"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/simple-concat" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" ,
"integrity" : "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
2026-05-09 13:03:36 -05:00
] ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/simple-get" : {
"version" : "4.0.1" ,
"resolved" : "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" ,
"integrity" : "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/feross"
} ,
{
"type" : "patreon" ,
"url" : "https://www.patreon.com/feross"
} ,
{
"type" : "consulting" ,
"url" : "https://feross.org/support"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"decompress-response" : "^6.0.0" ,
"once" : "^1.3.1" ,
"simple-concat" : "^1.0.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/smob" : {
"version" : "1.6.2" ,
"resolved" : "https://registry.npmjs.org/smob/-/smob-1.6.2.tgz" ,
"integrity" : "sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=20.0.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/sonner" : {
"version" : "1.7.4" ,
"resolved" : "https://registry.npmjs.org/sonner/-/sonner-1.7.4.tgz" ,
"integrity" : "sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"react" : "^18.0.0 || ^19.0.0 || ^19.0.0-rc" ,
"react-dom" : "^18.0.0 || ^19.0.0 || ^19.0.0-rc"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/source-map" : {
"version" : "0.8.0-beta.0" ,
"resolved" : "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" ,
"integrity" : "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" ,
"deprecated" : "The work that was done in this beta branch won't be included in future versions" ,
"dev" : true ,
"license" : "BSD-3-Clause" ,
"dependencies" : {
"whatwg-url" : "^7.0.0"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/source-map-js" : {
"version" : "1.2.1" ,
"resolved" : "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" ,
"integrity" : "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" ,
2026-05-09 13:03:36 -05:00
"license" : "BSD-3-Clause" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/source-map-support" : {
"version" : "0.5.21" ,
"resolved" : "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" ,
"integrity" : "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"buffer-from" : "^1.0.0" ,
"source-map" : "^0.6.0"
}
} ,
"node_modules/source-map-support/node_modules/source-map" : {
"version" : "0.6.1" ,
"resolved" : "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" ,
"integrity" : "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" ,
"dev" : true ,
"license" : "BSD-3-Clause" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/space-separated-tokens" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" ,
"integrity" : "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/ssf" : {
"version" : "0.11.2" ,
"resolved" : "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz" ,
"integrity" : "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"frac" : "~1.1.2"
} ,
"engines" : {
"node" : ">=0.8"
}
} ,
"node_modules/statuses" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz" ,
"integrity" : "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/stop-iteration-iterator" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz" ,
"integrity" : "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"es-errors" : "^1.3.0" ,
"internal-slot" : "^1.1.0"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/string_decoder" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" ,
"integrity" : "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"safe-buffer" : "~5.2.0"
}
} ,
"node_modules/string-width" : {
"version" : "4.2.3" ,
"resolved" : "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" ,
"integrity" : "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"emoji-regex" : "^8.0.0" ,
"is-fullwidth-code-point" : "^3.0.0" ,
"strip-ansi" : "^6.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/string.prototype.matchall" : {
"version" : "4.0.12" ,
"resolved" : "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz" ,
"integrity" : "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"call-bound" : "^1.0.3" ,
"define-properties" : "^1.2.1" ,
"es-abstract" : "^1.23.6" ,
"es-errors" : "^1.3.0" ,
"es-object-atoms" : "^1.0.0" ,
"get-intrinsic" : "^1.2.6" ,
"gopd" : "^1.2.0" ,
"has-symbols" : "^1.1.0" ,
"internal-slot" : "^1.1.0" ,
"regexp.prototype.flags" : "^1.5.3" ,
"set-function-name" : "^2.0.2" ,
"side-channel" : "^1.1.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/string.prototype.trim" : {
"version" : "1.2.10" ,
"resolved" : "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz" ,
"integrity" : "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"call-bound" : "^1.0.2" ,
"define-data-property" : "^1.1.4" ,
"define-properties" : "^1.2.1" ,
"es-abstract" : "^1.23.5" ,
"es-object-atoms" : "^1.0.0" ,
"has-property-descriptors" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/string.prototype.trimend" : {
"version" : "1.0.9" ,
"resolved" : "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz" ,
"integrity" : "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"call-bound" : "^1.0.2" ,
"define-properties" : "^1.2.1" ,
"es-object-atoms" : "^1.0.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/string.prototype.trimstart" : {
"version" : "1.0.8" ,
"resolved" : "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz" ,
"integrity" : "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.7" ,
"define-properties" : "^1.2.1" ,
"es-object-atoms" : "^1.0.0"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/stringify-entities" : {
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" ,
"integrity" : "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==" ,
"license" : "MIT" ,
"dependencies" : {
"character-entities-html4" : "^2.0.0" ,
"character-entities-legacy" : "^3.0.0"
} ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/stringify-object" : {
"version" : "3.3.0" ,
"resolved" : "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" ,
"integrity" : "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==" ,
"dev" : true ,
"license" : "BSD-2-Clause" ,
"dependencies" : {
"get-own-enumerable-property-symbols" : "^3.0.0" ,
"is-obj" : "^1.0.1" ,
"is-regexp" : "^1.0.0"
} ,
"engines" : {
"node" : ">=4"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/strip-ansi" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" ,
"integrity" : "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"ansi-regex" : "^5.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/strip-comments" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" ,
"integrity" : "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=10"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/strip-json-comments" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" ,
"integrity" : "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.10.0"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/style-to-js" : {
"version" : "1.1.21" ,
"resolved" : "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz" ,
"integrity" : "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==" ,
"license" : "MIT" ,
"dependencies" : {
"style-to-object" : "1.0.14"
}
} ,
"node_modules/style-to-object" : {
"version" : "1.0.14" ,
"resolved" : "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz" ,
"integrity" : "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==" ,
"license" : "MIT" ,
"dependencies" : {
"inline-style-parser" : "0.2.7"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/sucrase" : {
"version" : "3.35.1" ,
"resolved" : "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz" ,
"integrity" : "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@jridgewell/gen-mapping" : "^0.3.2" ,
"commander" : "^4.0.0" ,
"lines-and-columns" : "^1.1.6" ,
"mz" : "^2.7.0" ,
"pirates" : "^4.0.1" ,
"tinyglobby" : "^0.2.11" ,
"ts-interface-checker" : "^0.1.9"
} ,
"bin" : {
"sucrase" : "bin/sucrase" ,
"sucrase-node" : "bin/sucrase-node"
} ,
"engines" : {
"node" : ">=16 || 14 >=14.17"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/supports-color" : {
"version" : "8.1.1" ,
"resolved" : "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" ,
"integrity" : "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"has-flag" : "^4.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/chalk/supports-color?sponsor=1"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/supports-preserve-symlinks-flag" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" ,
"integrity" : "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/tailwind-merge" : {
"version" : "2.6.1" ,
"resolved" : "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.1.tgz" ,
"integrity" : "sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/dcastil"
}
} ,
"node_modules/tailwindcss" : {
"version" : "3.4.19" ,
"resolved" : "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz" ,
"integrity" : "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"@alloc/quick-lru" : "^5.2.0" ,
"arg" : "^5.0.2" ,
"chokidar" : "^3.6.0" ,
"didyoumean" : "^1.2.2" ,
"dlv" : "^1.1.3" ,
"fast-glob" : "^3.3.2" ,
"glob-parent" : "^6.0.2" ,
"is-glob" : "^4.0.3" ,
"jiti" : "^1.21.7" ,
"lilconfig" : "^3.1.3" ,
"micromatch" : "^4.0.8" ,
"normalize-path" : "^3.0.0" ,
"object-hash" : "^3.0.0" ,
"picocolors" : "^1.1.1" ,
"postcss" : "^8.4.47" ,
"postcss-import" : "^15.1.0" ,
"postcss-js" : "^4.0.1" ,
"postcss-load-config" : "^4.0.2 || ^5.0 || ^6.0" ,
"postcss-nested" : "^6.2.0" ,
"postcss-selector-parser" : "^6.1.2" ,
"resolve" : "^1.22.8" ,
"sucrase" : "^3.35.0"
} ,
"bin" : {
"tailwind" : "lib/cli.js" ,
"tailwindcss" : "lib/cli.js"
} ,
"engines" : {
"node" : ">=14.0.0"
}
} ,
"node_modules/tailwindcss-animate" : {
"version" : "1.0.7" ,
"resolved" : "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz" ,
"integrity" : "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"peerDependencies" : {
"tailwindcss" : ">=3.0.0 || insiders"
}
} ,
2026-05-09 13:03:36 -05:00
"node_modules/tailwindcss/node_modules/object-hash" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" ,
"integrity" : "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
2026-05-09 13:03:36 -05:00
"node" : ">= 6"
2026-05-03 19:51:57 -05:00
}
} ,
"node_modules/tar-fs" : {
"version" : "2.1.4" ,
"resolved" : "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz" ,
"integrity" : "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"chownr" : "^1.1.1" ,
"mkdirp-classic" : "^0.5.2" ,
"pump" : "^3.0.0" ,
"tar-stream" : "^2.1.4"
}
} ,
"node_modules/tar-stream" : {
"version" : "2.2.0" ,
"resolved" : "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" ,
"integrity" : "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"bl" : "^4.0.3" ,
"end-of-stream" : "^1.4.1" ,
"fs-constants" : "^1.0.0" ,
"inherits" : "^2.0.3" ,
"readable-stream" : "^3.1.1"
} ,
"engines" : {
"node" : ">=6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/temp-dir" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" ,
"integrity" : "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/tempy" : {
"version" : "0.6.0" ,
"resolved" : "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" ,
"integrity" : "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"is-stream" : "^2.0.0" ,
"temp-dir" : "^2.0.0" ,
"type-fest" : "^0.16.0" ,
"unique-string" : "^2.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/terser" : {
"version" : "5.48.0" ,
"resolved" : "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz" ,
"integrity" : "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==" ,
"dev" : true ,
"license" : "BSD-2-Clause" ,
"dependencies" : {
"@jridgewell/source-map" : "^0.3.3" ,
"acorn" : "^8.15.0" ,
"commander" : "^2.20.0" ,
"source-map-support" : "~0.5.20"
} ,
"bin" : {
"terser" : "bin/terser"
} ,
"engines" : {
"node" : ">=10"
}
} ,
"node_modules/terser/node_modules/commander" : {
"version" : "2.20.3" ,
"resolved" : "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" ,
"integrity" : "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" ,
"dev" : true ,
"license" : "MIT"
} ,
2026-05-03 19:51:57 -05:00
"node_modules/thenify" : {
"version" : "3.3.1" ,
"resolved" : "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" ,
"integrity" : "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"any-promise" : "^1.0.0"
}
} ,
"node_modules/thenify-all" : {
"version" : "1.6.0" ,
"resolved" : "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" ,
"integrity" : "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"thenify" : ">= 3.1.0 < 4"
} ,
"engines" : {
"node" : ">=0.8"
}
} ,
"node_modules/tinyglobby" : {
"version" : "0.2.16" ,
"resolved" : "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz" ,
"integrity" : "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"fdir" : "^6.5.0" ,
"picomatch" : "^4.0.4"
} ,
"engines" : {
"node" : ">=12.0.0"
} ,
"funding" : {
"url" : "https://github.com/sponsors/SuperchupuDev"
}
} ,
"node_modules/tinyglobby/node_modules/fdir" : {
"version" : "6.5.0" ,
"resolved" : "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz" ,
"integrity" : "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=12.0.0"
} ,
"peerDependencies" : {
"picomatch" : "^3 || ^4"
} ,
"peerDependenciesMeta" : {
"picomatch" : {
"optional" : true
}
}
} ,
"node_modules/tinyglobby/node_modules/picomatch" : {
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz" ,
"integrity" : "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/sponsors/jonschlinkert"
}
} ,
"node_modules/to-regex-range" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" ,
"integrity" : "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"is-number" : "^7.0.0"
} ,
"engines" : {
"node" : ">=8.0"
}
} ,
"node_modules/toidentifier" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" ,
"integrity" : "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.6"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/tr46" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" ,
"integrity" : "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"punycode" : "^2.1.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/tree-kill" : {
"version" : "1.2.2" ,
"resolved" : "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" ,
"integrity" : "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"bin" : {
"tree-kill" : "cli.js"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/trim-lines" : {
"version" : "3.0.1" ,
"resolved" : "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" ,
"integrity" : "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" ,
"license" : "MIT" ,
"funding" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
"node_modules/trough" : {
"version" : "2.2.0" ,
"resolved" : "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" ,
"integrity" : "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
} ,
"node_modules/ts-interface-checker" : {
"version" : "0.1.13" ,
"resolved" : "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" ,
"integrity" : "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" ,
"license" : "Apache-2.0"
} ,
"node_modules/tslib" : {
"version" : "2.8.1" ,
"resolved" : "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" ,
"integrity" : "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" ,
"license" : "0BSD"
} ,
"node_modules/tunnel-agent" : {
"version" : "0.6.0" ,
"resolved" : "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" ,
"integrity" : "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==" ,
"license" : "Apache-2.0" ,
"dependencies" : {
"safe-buffer" : "^5.0.1"
} ,
"engines" : {
"node" : "*"
}
} ,
"node_modules/type-fest" : {
"version" : "0.16.0" ,
"resolved" : "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" ,
"integrity" : "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" ,
"dev" : true ,
"license" : "(MIT OR CC0-1.0)" ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/type-is" : {
"version" : "1.6.18" ,
"resolved" : "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" ,
"integrity" : "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" ,
"license" : "MIT" ,
"dependencies" : {
"media-typer" : "0.3.0" ,
"mime-types" : "~2.1.24"
} ,
"engines" : {
"node" : ">= 0.6"
}
} ,
"node_modules/typed-array-buffer" : {
"version" : "1.0.3" ,
"resolved" : "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz" ,
"integrity" : "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.3" ,
"es-errors" : "^1.3.0" ,
"is-typed-array" : "^1.1.14"
} ,
"engines" : {
"node" : ">= 0.4"
}
} ,
"node_modules/typed-array-byte-length" : {
"version" : "1.0.3" ,
"resolved" : "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz" ,
"integrity" : "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.8" ,
"for-each" : "^0.3.3" ,
"gopd" : "^1.2.0" ,
"has-proto" : "^1.2.0" ,
"is-typed-array" : "^1.1.14"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/typed-array-byte-offset" : {
"version" : "1.0.4" ,
"resolved" : "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz" ,
"integrity" : "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"available-typed-arrays" : "^1.0.7" ,
"call-bind" : "^1.0.8" ,
"for-each" : "^0.3.3" ,
"gopd" : "^1.2.0" ,
"has-proto" : "^1.2.0" ,
"is-typed-array" : "^1.1.15" ,
"reflect.getprototypeof" : "^1.0.9"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/typed-array-length" : {
"version" : "1.0.8" ,
"resolved" : "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz" ,
"integrity" : "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bind" : "^1.0.9" ,
"for-each" : "^0.3.5" ,
"gopd" : "^1.2.0" ,
"is-typed-array" : "^1.1.15" ,
"possible-typed-array-names" : "^1.1.0" ,
"reflect.getprototypeof" : "^1.0.10"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
2026-05-09 16:25:12 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/unbox-primitive" : {
"version" : "1.1.0" ,
"resolved" : "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz" ,
"integrity" : "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==" ,
"dev" : true ,
2026-05-09 16:25:12 -05:00
"license" : "MIT" ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"dependencies" : {
"call-bound" : "^1.0.3" ,
"has-bigints" : "^1.0.2" ,
"has-symbols" : "^1.1.0" ,
"which-boxed-primitive" : "^1.1.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
2026-05-09 16:25:12 -05:00
"funding" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"url" : "https://github.com/sponsors/ljharb"
2026-05-09 16:25:12 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/unicode-canonical-property-names-ecmascript" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz" ,
"integrity" : "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=4"
}
2026-05-03 19:51:57 -05:00
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/unicode-match-property-ecmascript" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" ,
"integrity" : "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" ,
"dev" : true ,
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"unicode-canonical-property-names-ecmascript" : "^2.0.0" ,
"unicode-property-aliases-ecmascript" : "^2.0.0"
2026-05-03 19:51:57 -05:00
} ,
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=4"
2026-05-03 19:51:57 -05:00
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/unicode-match-property-value-ecmascript" : {
"version" : "2.2.1" ,
"resolved" : "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz" ,
"integrity" : "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node" : ">=4"
}
} ,
"node_modules/unicode-property-aliases-ecmascript" : {
"version" : "2.2.0" ,
"resolved" : "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz" ,
"integrity" : "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=4"
2026-05-03 19:51:57 -05:00
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/unified" : {
"version" : "11.0.5" ,
"resolved" : "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz" ,
"integrity" : "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0" ,
"bail" : "^2.0.0" ,
"devlop" : "^1.0.0" ,
"extend" : "^3.0.0" ,
"is-plain-obj" : "^4.0.0" ,
"trough" : "^2.0.0" ,
"vfile" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/unique-string" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" ,
"integrity" : "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"crypto-random-string" : "^2.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/unist-util-is" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz" ,
"integrity" : "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/unist-util-position" : {
"version" : "5.0.0" ,
"resolved" : "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" ,
"integrity" : "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/unist-util-stringify-position" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" ,
"integrity" : "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/unist-util-visit" : {
"version" : "5.1.0" ,
"resolved" : "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz" ,
"integrity" : "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0" ,
"unist-util-is" : "^6.0.0" ,
"unist-util-visit-parents" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/unist-util-visit-parents" : {
"version" : "6.0.2" ,
"resolved" : "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz" ,
"integrity" : "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0" ,
"unist-util-is" : "^6.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/universalify" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" ,
"integrity" : "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">= 10.0.0"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/unpipe" : {
"version" : "1.0.0" ,
"resolved" : "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" ,
"integrity" : "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/upath" : {
"version" : "1.2.0" ,
"resolved" : "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" ,
"integrity" : "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=4" ,
"yarn" : "*"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/update-browserslist-db" : {
"version" : "1.2.3" ,
"resolved" : "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz" ,
"integrity" : "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==" ,
"dev" : true ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/browserslist"
} ,
{
"type" : "tidelift" ,
"url" : "https://tidelift.com/funding/github/npm/browserslist"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"escalade" : "^3.2.0" ,
"picocolors" : "^1.1.1"
} ,
"bin" : {
"update-browserslist-db" : "cli.js"
} ,
"peerDependencies" : {
"browserslist" : ">= 4.21.0"
}
} ,
"node_modules/use-callback-ref" : {
"version" : "1.3.3" ,
"resolved" : "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz" ,
"integrity" : "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"tslib" : "^2.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/use-sidecar" : {
"version" : "1.1.3" ,
"resolved" : "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz" ,
"integrity" : "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"detect-node-es" : "^1.1.0" ,
"tslib" : "^2.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"peerDependencies" : {
"@types/react" : "*" ,
"react" : "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
} ,
"peerDependenciesMeta" : {
"@types/react" : {
"optional" : true
}
}
} ,
"node_modules/util-deprecate" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" ,
"license" : "MIT"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/utils-merge" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" ,
"integrity" : "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.4.0"
}
} ,
"node_modules/vary" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" ,
"integrity" : "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">= 0.8"
}
} ,
2026-05-09 16:25:12 -05:00
"node_modules/vfile" : {
"version" : "6.0.3" ,
"resolved" : "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz" ,
"integrity" : "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0" ,
"vfile-message" : "^4.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
"node_modules/vfile-message" : {
"version" : "4.0.3" ,
"resolved" : "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz" ,
"integrity" : "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==" ,
"license" : "MIT" ,
"dependencies" : {
"@types/unist" : "^3.0.0" ,
"unist-util-stringify-position" : "^4.0.0"
} ,
"funding" : {
"type" : "opencollective" ,
"url" : "https://opencollective.com/unified"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/vite" : {
"version" : "5.4.21" ,
"resolved" : "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz" ,
"integrity" : "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"esbuild" : "^0.21.3" ,
"postcss" : "^8.4.43" ,
"rollup" : "^4.20.0"
} ,
"bin" : {
"vite" : "bin/vite.js"
} ,
"engines" : {
"node" : "^18.0.0 || >=20.0.0"
} ,
"funding" : {
"url" : "https://github.com/vitejs/vite?sponsor=1"
} ,
"optionalDependencies" : {
"fsevents" : "~2.3.3"
} ,
"peerDependencies" : {
"@types/node" : "^18.0.0 || >=20.0.0" ,
"less" : "*" ,
"lightningcss" : "^1.21.0" ,
"sass" : "*" ,
"sass-embedded" : "*" ,
"stylus" : "*" ,
"sugarss" : "*" ,
"terser" : "^5.4.0"
} ,
"peerDependenciesMeta" : {
"@types/node" : {
"optional" : true
} ,
"less" : {
"optional" : true
} ,
"lightningcss" : {
"optional" : true
} ,
"sass" : {
"optional" : true
} ,
"sass-embedded" : {
"optional" : true
} ,
"stylus" : {
"optional" : true
} ,
"sugarss" : {
"optional" : true
} ,
"terser" : {
"optional" : true
}
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/vite-plugin-pwa" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-1.3.0.tgz" ,
"integrity" : "sha512-c5kMgN+ITrOtHXp8PAtk2uOIEea6XjP/unCGxOWWBzQ6qa65qj/awHg0wf+QF9E/2u9vh86LqxPwzEPNbM2r5A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"debug" : "^4.3.6" ,
"pretty-bytes" : "^6.1.1" ,
"tinyglobby" : "^0.2.10" ,
"workbox-build" : "^7.4.1" ,
"workbox-window" : "^7.4.1"
} ,
"engines" : {
"node" : ">=16.0.0"
} ,
"funding" : {
"url" : "https://github.com/sponsors/antfu"
} ,
"peerDependencies" : {
"@vite-pwa/assets-generator" : "^1.0.0" ,
"vite" : "^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" ,
"workbox-build" : "^7.4.1" ,
"workbox-window" : "^7.4.1"
} ,
"peerDependenciesMeta" : {
"@vite-pwa/assets-generator" : {
"optional" : true
}
}
} ,
"node_modules/webidl-conversions" : {
"version" : "4.0.2" ,
"resolved" : "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" ,
"integrity" : "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" ,
"dev" : true ,
"license" : "BSD-2-Clause"
} ,
"node_modules/whatwg-url" : {
"version" : "7.1.0" ,
"resolved" : "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" ,
"integrity" : "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"lodash.sortby" : "^4.7.0" ,
"tr46" : "^1.0.1" ,
"webidl-conversions" : "^4.0.2"
}
} ,
"node_modules/which" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/which/-/which-2.0.2.tgz" ,
"integrity" : "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" ,
"dev" : true ,
"license" : "ISC" ,
"dependencies" : {
"isexe" : "^2.0.0"
} ,
"bin" : {
"node-which" : "bin/node-which"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/which-boxed-primitive" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz" ,
"integrity" : "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"is-bigint" : "^1.1.0" ,
"is-boolean-object" : "^1.2.1" ,
"is-number-object" : "^1.1.1" ,
"is-string" : "^1.1.1" ,
"is-symbol" : "^1.1.1"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/which-builtin-type" : {
"version" : "1.2.1" ,
"resolved" : "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz" ,
"integrity" : "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"call-bound" : "^1.0.2" ,
"function.prototype.name" : "^1.1.6" ,
"has-tostringtag" : "^1.0.2" ,
"is-async-function" : "^2.0.0" ,
"is-date-object" : "^1.1.0" ,
"is-finalizationregistry" : "^1.1.0" ,
"is-generator-function" : "^1.0.10" ,
"is-regex" : "^1.2.1" ,
"is-weakref" : "^1.0.2" ,
"isarray" : "^2.0.5" ,
"which-boxed-primitive" : "^1.1.0" ,
"which-collection" : "^1.0.2" ,
"which-typed-array" : "^1.1.16"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/which-collection" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz" ,
"integrity" : "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"is-map" : "^2.0.3" ,
"is-set" : "^2.0.3" ,
"is-weakmap" : "^2.0.2" ,
"is-weakset" : "^2.0.3"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
"node_modules/which-typed-array" : {
"version" : "1.1.21" ,
"resolved" : "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.21.tgz" ,
"integrity" : "sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"available-typed-arrays" : "^1.0.7" ,
"call-bind" : "^1.0.9" ,
"call-bound" : "^1.0.4" ,
"for-each" : "^0.3.5" ,
"get-proto" : "^1.0.1" ,
"gopd" : "^1.2.0" ,
"has-tostringtag" : "^1.0.2"
} ,
"engines" : {
"node" : ">= 0.4"
} ,
"funding" : {
"url" : "https://github.com/sponsors/ljharb"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/wmf" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz" ,
"integrity" : "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.8"
}
} ,
"node_modules/word" : {
"version" : "0.3.0" ,
"resolved" : "https://registry.npmjs.org/word/-/word-0.3.0.tgz" ,
"integrity" : "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=0.8"
}
} ,
refactor: component splits, PWA support, CommandPalette
Component Splits:
- AdminPage.jsx: 1,906 -> 82 lines (logic moved to client/components/admin/ — 9 files)
- DataPage.jsx: 3,132 -> 60 lines (logic moved to client/components/data/ — 8 files)
- TrackerPage.jsx: 2,566 -> 2,132 lines (MonthlyStateDialog, StartingAmountsEditDialog, PaymentModal)
PWA:
- vite-plugin-pwa installed with NetworkFirst caching for API routes
- Square PWA icons (192x192, 512x512, apple-touch-icon)
- theme-color, apple meta tags, touch icon in index.html
- Build generates dist/sw.js + Workbox runtime
CommandPalette:
- Navigation commands, Add bill action, month jumps
- Grouped results with empty/filtered states
2026-05-28 20:53:22 -05:00
"node_modules/workbox-background-sync" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.4.1.tgz" ,
"integrity" : "sha512-HhT7KE8tOWDm02wRNshXUnUPofMlhenF2DBdUnDPOubhizzPeItkYTmAB6td1Z2cjYPa98vzEiPLEuzn5hN66g==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"idb" : "^7.0.1" ,
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-broadcast-update" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.4.1.tgz" ,
"integrity" : "sha512-uAlgslKLvbQY+suirIdnBCSYrcgBhjp81Nj4l1lj/Jmj0MJO2CJERnCJjT0GFVwmReV0N+zs78K6gqd5gr9/+A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-build" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-build/-/workbox-build-7.4.1.tgz" ,
"integrity" : "sha512-SDhxIvEAde9Gy/5w4Yo1Jh/M49Z0qE3q0oteyE8zGq0DScxFqVBcCtIXFuLtmtxRQZCMbf0prco4VyEu3KBQuw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@apideck/better-ajv-errors" : "^0.3.1" ,
"@babel/core" : "^7.24.4" ,
"@babel/preset-env" : "^7.11.0" ,
"@babel/runtime" : "^7.11.2" ,
"@rollup/plugin-babel" : "^6.1.0" ,
"@rollup/plugin-node-resolve" : "^16.0.3" ,
"@rollup/plugin-replace" : "^6.0.3" ,
"@rollup/plugin-terser" : "^1.0.0" ,
"@trickfilm400/rollup-plugin-off-main-thread" : "^3.0.0-pre1" ,
"ajv" : "^8.6.0" ,
"common-tags" : "^1.8.0" ,
"eta" : "^4.5.1" ,
"fast-json-stable-stringify" : "^2.1.0" ,
"fs-extra" : "^9.0.1" ,
"glob" : "^11.0.1" ,
"pretty-bytes" : "^5.3.0" ,
"rollup" : "^4.53.3" ,
"source-map" : "^0.8.0-beta.0" ,
"stringify-object" : "^3.3.0" ,
"strip-comments" : "^2.0.1" ,
"tempy" : "^0.6.0" ,
"upath" : "^1.2.0" ,
"workbox-background-sync" : "7.4.1" ,
"workbox-broadcast-update" : "7.4.1" ,
"workbox-cacheable-response" : "7.4.1" ,
"workbox-core" : "7.4.1" ,
"workbox-expiration" : "7.4.1" ,
"workbox-google-analytics" : "7.4.1" ,
"workbox-navigation-preload" : "7.4.1" ,
"workbox-precaching" : "7.4.1" ,
"workbox-range-requests" : "7.4.1" ,
"workbox-recipes" : "7.4.1" ,
"workbox-routing" : "7.4.1" ,
"workbox-strategies" : "7.4.1" ,
"workbox-streams" : "7.4.1" ,
"workbox-sw" : "7.4.1" ,
"workbox-window" : "7.4.1"
} ,
"engines" : {
"node" : ">=20.0.0"
}
} ,
"node_modules/workbox-build/node_modules/pretty-bytes" : {
"version" : "5.6.0" ,
"resolved" : "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" ,
"integrity" : "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" ,
"dev" : true ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/workbox-cacheable-response" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.4.1.tgz" ,
"integrity" : "sha512-8xaFoJdDc2OjrlbbL3gEeBO1WKcMwRqwLRupgqahYXu75yXajPLuwrbXMrIGZuWYXrQwk0xDjOxZ/ujCy/oJYw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-core" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-core/-/workbox-core-7.4.1.tgz" ,
"integrity" : "sha512-DT+vu46eh/2vRsSHTY4Xmc32Z1rr9PRlQUXr1Dx30ZuXRWwOsvZgGgcwxcasubQLQmbTNYZjv44LkBAQ4tT5tQ==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/workbox-expiration" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.4.1.tgz" ,
"integrity" : "sha512-lRKUF7b+OGbeXkQk1s6MHXOa3d7Xxf7Of31W6c6hCfipfIyrtdWZ89stq21AHZMaoG7VNFoHply4Ox+rU31TWg==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"idb" : "^7.0.1" ,
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-google-analytics" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.4.1.tgz" ,
"integrity" : "sha512-Mks1JwLEt++ZAkF6sS1OpSh9RtAMIsiDgRpK+codiHGIPXeaUOgi4cPc3GFadUl8V5QPeypEk8Oxgl3HlwVzHw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-background-sync" : "7.4.1" ,
"workbox-core" : "7.4.1" ,
"workbox-routing" : "7.4.1" ,
"workbox-strategies" : "7.4.1"
}
} ,
"node_modules/workbox-navigation-preload" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.4.1.tgz" ,
"integrity" : "sha512-C4KVsjPcYKJOhr631AxR9XoG2rLF3QiTk5aMv36MXOjtWvm8axwNFAtKUPGsWUwLXXAMgYM1En7fsvndaXeXRQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-precaching" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.4.1.tgz" ,
"integrity" : "sha512-cdr/9qByww7yzEp7zg/qI4ukUrrNjQLgN+ONQRpjy/VqGQXwkgHwr00KksGJK8v0VifwDXBb8a4cWNZH71jn3Q==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1" ,
"workbox-routing" : "7.4.1" ,
"workbox-strategies" : "7.4.1"
}
} ,
"node_modules/workbox-range-requests" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.4.1.tgz" ,
"integrity" : "sha512-7i2oxAUE82gHdAJBCAQ04JzNOdRPqzuOzGfoUyJpFSmeqBNYGPrAH8GPoPjUQTfp+NycwrD2H68VtuF8qxv0vQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-recipes" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.4.1.tgz" ,
"integrity" : "sha512-gnbVfmV4/TtmQaM4x9AtuXhcdstJsep3XMVeztOrQVPT+R6+6DeBjGTCQ7fFCXm+4GEHUA5VEBTyi5+4gWGeog==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-cacheable-response" : "7.4.1" ,
"workbox-core" : "7.4.1" ,
"workbox-expiration" : "7.4.1" ,
"workbox-precaching" : "7.4.1" ,
"workbox-routing" : "7.4.1" ,
"workbox-strategies" : "7.4.1"
}
} ,
"node_modules/workbox-routing" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.4.1.tgz" ,
"integrity" : "sha512-yubJGErZOusuidAenaL5ypfhQOa7urxP/f8E0ws7FPb4039RiWXUWBAyUkmUoOL/BcQGen3h0J8872d51IYxtA==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-strategies" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.4.1.tgz" ,
"integrity" : "sha512-GZxpaw9NbmOelj7667uZ2kpk5BFpOGbO4X0qjwh5ls8XQ8C+Lha5LQchTiUzsTFSS+NlUpftYAyOVXvQUrcqOQ==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1"
}
} ,
"node_modules/workbox-streams" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.4.1.tgz" ,
"integrity" : "sha512-HWWtraKUbJknd9kgqGcpQ3G114HOPYvqs8HaJMDs2ebLNAimDkVDaWfAXE6Ybl+m8U6KsCE6pWyLYuigWmnAXw==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"workbox-core" : "7.4.1" ,
"workbox-routing" : "7.4.1"
}
} ,
"node_modules/workbox-sw" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.4.1.tgz" ,
"integrity" : "sha512-fez5f2DUlDJWTFYkCWQpY10N8gtztd849NswCbVFk0QlcSM4HT5A8x4g4ii650yem4I8tHY0R7JZahwp3ltIPw==" ,
"dev" : true ,
"license" : "MIT"
} ,
"node_modules/workbox-window" : {
"version" : "7.4.1" ,
"resolved" : "https://registry.npmjs.org/workbox-window/-/workbox-window-7.4.1.tgz" ,
"integrity" : "sha512-notZDH2u8VXaqyuD7xaqIfEFi6SRM4SUSd7ewe9PDsVqADuepxX2ZMY3uvuZGxzY5ZOsGC/vD3A/3smFtJt4/A==" ,
"dev" : true ,
"license" : "MIT" ,
"dependencies" : {
"@types/trusted-types" : "^2.0.2" ,
"workbox-core" : "7.4.1"
}
} ,
2026-05-03 19:51:57 -05:00
"node_modules/wrap-ansi" : {
"version" : "7.0.0" ,
"resolved" : "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" ,
"integrity" : "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"ansi-styles" : "^4.0.0" ,
"string-width" : "^4.1.0" ,
"strip-ansi" : "^6.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/chalk/wrap-ansi?sponsor=1"
}
} ,
"node_modules/wrappy" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" ,
2026-05-09 13:03:36 -05:00
"integrity" : "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/xlsx" : {
"version" : "0.18.5" ,
"resolved" : "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz" ,
"integrity" : "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==" ,
2026-05-09 13:03:36 -05:00
"license" : "Apache-2.0" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"adler-32" : "~1.3.0" ,
"cfb" : "~1.2.1" ,
"codepage" : "~1.15.0" ,
"crc-32" : "~1.2.1" ,
"ssf" : "~0.11.2" ,
"wmf" : "~1.0.1" ,
"word" : "~0.3.0"
} ,
"bin" : {
"xlsx" : "bin/xlsx.njs"
} ,
"engines" : {
"node" : ">=0.8"
}
} ,
"node_modules/y18n" : {
"version" : "5.0.8" ,
"resolved" : "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" ,
"integrity" : "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=10"
}
} ,
"node_modules/yallist" : {
"version" : "3.1.1" ,
"resolved" : "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" ,
"integrity" : "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" ,
2026-05-09 13:03:36 -05:00
"dev" : true ,
"license" : "ISC"
2026-05-03 19:51:57 -05:00
} ,
"node_modules/yargs" : {
"version" : "17.7.2" ,
"resolved" : "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" ,
"integrity" : "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "MIT" ,
2026-05-03 19:51:57 -05:00
"dependencies" : {
"cliui" : "^8.0.1" ,
"escalade" : "^3.1.1" ,
"get-caller-file" : "^2.0.5" ,
"require-directory" : "^2.1.1" ,
"string-width" : "^4.2.3" ,
"y18n" : "^5.0.5" ,
"yargs-parser" : "^21.1.1"
} ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/yargs-parser" : {
"version" : "21.1.1" ,
"resolved" : "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" ,
"integrity" : "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" ,
"dev" : true ,
2026-05-09 13:03:36 -05:00
"license" : "ISC" ,
2026-05-03 19:51:57 -05:00
"engines" : {
"node" : ">=12"
}
2026-05-09 16:25:12 -05:00
} ,
"node_modules/zwitch" : {
"version" : "2.0.4" ,
"resolved" : "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" ,
"integrity" : "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" ,
"license" : "MIT" ,
"funding" : {
"type" : "github" ,
"url" : "https://github.com/sponsors/wooorm"
}
2026-05-03 19:51:57 -05:00
}
}
}