chore: initial Vector 2.0 monorepo
CI / Lint · Typecheck · Test · Build (push) Failing after 5m41s
CI / Playwright (smoke) (push) Has been skipped

Ground-up TypeScript rewrite of the Vector hardware parts inventory
system. Ships the full roadmap (Phases 0-8) in one initial commit:

- pnpm + Turbo monorepo: apps/{api,web,e2e}, packages/{db,shared,ui,config}
- Express 5 + Prisma 5 + zod validation + JWT w/ refresh-token rotation
- React 19 + Vite + shadcn/ui + TanStack Query/Table + nuqs URL state
- Repair/RMA, tags, bulk ops, saved views, CSV audit export
- Analytics dashboard on Recharts + EOL tracking
- Signed webhook subscriptions (HMAC-SHA256) with in-process emitter
- Vitest unit tests (shared schemas, api services/helpers) + Playwright skeleton
- Gitea Actions CI (lint, typecheck, test+coverage, build) + Renovate

Deferred follow-ups: Postgres cutover (data-migration script ready),
BullMQ worker for webhook delivery, @react-pdf PDF export, CSV import wizard.
This commit is contained in:
2026-04-16 20:52:32 -04:00
commit 7c0d422228
216 changed files with 19393 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
":semanticCommits",
":prHourlyLimit2",
":prConcurrentLimit10",
":rebaseStalePrs"
],
"platform": "gitea",
"timezone": "America/Los_Angeles",
"schedule": ["before 6am on monday"],
"labels": ["dependencies"],
"rangeStrategy": "bump",
"packageRules": [
{
"description": "Group minor + patch updates into a single weekly PR",
"matchUpdateTypes": ["minor", "patch"],
"groupName": "all non-major dependencies",
"groupSlug": "all-minor-patch"
},
{
"description": "Hold shadcn/Radix to manual bumps — UI regressions are common",
"matchPackagePatterns": ["^@radix-ui/", "class-variance-authority", "tailwind-merge"],
"enabled": false
},
{
"description": "Auto-merge dev-dep patches",
"matchDepTypes": ["devDependencies"],
"matchUpdateTypes": ["patch"],
"automerge": true,
"automergeType": "pr",
"platformAutomerge": true
},
{
"description": "Prisma client + CLI must move together",
"matchPackageNames": ["prisma", "@prisma/client"],
"groupName": "prisma"
}
],
"vulnerabilityAlerts": {
"labels": ["security"],
"enabled": true
},
"lockFileMaintenance": {
"enabled": true,
"schedule": ["before 6am on the first day of the month"]
}
}