2026-05-03 19:51:57 -05:00
|
|
|
{
|
|
|
|
|
"name": "bill-tracker",
|
2026-05-29 18:34:50 -05:00
|
|
|
"version": "0.33.8.1",
|
2026-05-03 19:51:57 -05:00
|
|
|
"description": "Monthly bill tracking system",
|
|
|
|
|
"main": "server.js",
|
|
|
|
|
"scripts": {
|
|
|
|
|
"dev:api": "node --watch server.js",
|
|
|
|
|
"dev:ui": "vite",
|
|
|
|
|
"dev": "concurrently \"npm run dev:api\" \"npm run dev:ui\"",
|
|
|
|
|
"build": "vite build",
|
2026-05-15 22:45:38 -05:00
|
|
|
"check:server": "find server.js db middleware routes services utils -name '*.js' -print0 | xargs -0 -n1 node --check",
|
|
|
|
|
"check": "npm run check:server && npm run build",
|
2026-05-16 20:26:09 -05:00
|
|
|
"test": "node --test tests/*.test.js",
|
2026-05-03 19:51:57 -05:00
|
|
|
"start": "node server.js"
|
|
|
|
|
},
|
|
|
|
|
"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-09 13:03:36 -05:00
|
|
|
},
|
|
|
|
|
"directories": {
|
|
|
|
|
"doc": "docs"
|
|
|
|
|
},
|
|
|
|
|
"repository": {
|
|
|
|
|
"type": "git",
|
|
|
|
|
"url": "ssh://forgejo/null/BillTracker.git"
|
|
|
|
|
},
|
|
|
|
|
"keywords": [],
|
|
|
|
|
"author": "",
|
|
|
|
|
"license": "ISC",
|
|
|
|
|
"type": "commonjs"
|
2026-05-03 19:51:57 -05:00
|
|
|
}
|