Files
zernie__vigiles/report/package.json
Claude 878111f794 refactor(report): extract shared @vigiles/report-view via npm workspaces
Stage 1 of the hosted-demo work: the audit report view must be a genuinely
shared package so report/, site/, and the future in-browser demo all render the
SAME AuditReport JSON through the SAME components — never a screenshot, never a
duplicated/relative-cross-imported component (the landing-site skill's shared-UI
invariant, and the prerequisite Fable's demo brief names).

- New packages/report-view (@vigiles/report-view, source-only/private): the
  presentational components, the AuditReport schema (mirrors src/audit-report.ts,
  pinned by src/audit-report.test.ts), band tokens, and theme.css. report/src/*
  moved here (git renames); internal @/ imports rewritten relative.
- report/ consumes it; report/src is just the app shell (main.tsx + index.css,
  which @sources the package + @imports its theme — Tailwind v4 ignores node_modules).

Wired as npm WORKSPACES (root workspaces:[packages/*,report,site]) so deps hoist
to root and resolve with zero config (no preserveSymlinks). Four aligned changes
kept the published vigiles package's CI green: root lockfile regen, pages.yml
builds site via the workspace (cd site && npm ci would fail with no per-package
lock), build-report.mjs checks root node_modules for its install-guard, and the
per-package lockfiles are removed. Verified with a clean-room
rm -rf node_modules && npm ci && npm run build (+ tsc, fmt, site build, report
renders styled). Design + Stage-2 demo brief in
research/report-view-and-hosted-demo.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 03:49:54 +00:00

31 lines
1013 B
JSON

{
"name": "@vigiles/report",
"private": true,
"version": "0.0.0",
"type": "module",
"description": "The vigiles audit report UI — Vite + React + shadcn, built to a single self-contained HTML file the CLI fills with an AuditReport. Kept a separate package so its frontend toolchain never enters the published CLI's runtime deps; the only shipped artifact is the built template (dist/audit-report.template.html).",
"scripts": {
"build": "vite build",
"dev": "vite"
},
"dependencies": {
"@vigiles/report-view": "*",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.469.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"tailwind-merge": "^2.6.0"
},
"devDependencies": {
"@tailwindcss/vite": "^4.0.0",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@vitejs/plugin-react": "^4.3.4",
"tailwindcss": "^4.0.0",
"typescript": "^5.7.0",
"vite": "^6.0.0",
"vite-plugin-singlefile": "^2.1.0"
}
}