Chapter 15: Assets/Vite — Technical Accuracy Review
Cross-referenced against packages/skeleton/package.json and packages/skeleton/vite.config.ts.
🔴 CRITICAL — vite:build npm script is incomplete
File: app/pages/6.0/15.assets-vite/04.build-workflow/docs.md, lines ~57–59
The docs show:
"vite:build": "vite build"
Actual (packages/skeleton/package.json):
"vite:build": "vue-tsc && vite build"
The vue-tsc && prefix runs TypeScript type-checking before the Vite build. Without this, developers won't know that type errors will fail CI even if the Vite build itself succeeds. This is a significant omission for any TypeScript/Vue 3 project.
Fix: Update the script snippet to "vue-tsc && vite build" and add a sentence explaining that the TypeScript type-check runs before the actual build.
🔴 CRITICAL — coverage npm script is missing the run subcommand
File: app/pages/6.0/15.assets-vite/04.build-workflow/docs.md, lines ~97–99
The docs show:
"coverage": "vitest --coverage"
Actual (packages/skeleton/package.json):
"coverage": "vitest run --coverage"
Without run, Vitest starts in interactive watch mode instead of running once and exiting. This breaks CI pipelines and leaves a developer's terminal hanging.
Fix: Update to "vitest run --coverage".
✅ No issues — vite.config.ts documented accurately
The vite.config.ts snippet shown in 03.vite-configuration/docs.md matches the actual skeleton file exactly. No changes needed.
Overall Assessment: Chapter 15
Score: 2 critical, 0 minor. Both critical issues are in the npm scripts documentation and are exact copy-paste hazards: developers who run vitest --coverage in CI will get a hanging process, and those who copy the vite:build script lose TypeScript type safety on builds. The vite.config.ts section is accurate. The chapter overall is well-written and the Vite integration explanation is solid.
Cross-Chapter Summary
| # |
Chapter |
Severity |
Issue |
| DB-1 |
11 Database |
🔴 CRITICAL |
Migration namespace V400 should be v400 (lowercase) |
| DB-2 |
11 Database |
🔴 CRITICAL |
users.id type shown as string, actual is autoincrement int |
| DB-3 |
11 Database |
🟡 MINOR |
System tables path uses UF4/UF5 notation (app/system/…) |
| DB-4 |
11 Database |
🟡 MINOR |
->like() / ->orLike() are UF-specific methods, not standard Eloquent |
| CLI-1 |
14 CLI |
🔴 CRITICAL |
assets:build aliases webpack/build-assets don't exist in UF6 |
| CLI-2 |
14 CLI |
🔴 CRITICAL |
assets:build described as Webpack-only; default bundler is Vite |
| CLI-3 |
14 CLI |
🔴 CRITICAL |
assets:webpack npm script names missing webpack: prefix |
| CLI-4 |
14 CLI |
🟡 MINOR |
bake lists create:admin-user as built-in (it's from Account sprinkle) |
| CLI-5 |
14 CLI |
🟡 MINOR |
assets:install references packages.lock, should be package-lock.json |
| AV-1 |
15 Vite |
🔴 CRITICAL |
vite:build script missing vue-tsc && (type-check step) |
| AV-2 |
15 Vite |
🔴 CRITICAL |
coverage script missing run (would hang in watch mode) |
Total: 7 critical, 4 minor across 3 chapters.
Chapter 15: Assets/Vite — Technical Accuracy Review
Cross-referenced against
packages/skeleton/package.jsonandpackages/skeleton/vite.config.ts.🔴 CRITICAL —
vite:buildnpm script is incompleteFile:
app/pages/6.0/15.assets-vite/04.build-workflow/docs.md, lines ~57–59The docs show:
Actual (
packages/skeleton/package.json):The
vue-tsc &&prefix runs TypeScript type-checking before the Vite build. Without this, developers won't know that type errors will fail CI even if the Vite build itself succeeds. This is a significant omission for any TypeScript/Vue 3 project.Fix: Update the script snippet to
"vue-tsc && vite build"and add a sentence explaining that the TypeScript type-check runs before the actual build.🔴 CRITICAL —
coveragenpm script is missing therunsubcommandFile:
app/pages/6.0/15.assets-vite/04.build-workflow/docs.md, lines ~97–99The docs show:
Actual (
packages/skeleton/package.json):Without
run, Vitest starts in interactive watch mode instead of running once and exiting. This breaks CI pipelines and leaves a developer's terminal hanging.Fix: Update to
"vitest run --coverage".✅ No issues —
vite.config.tsdocumented accuratelyThe
vite.config.tssnippet shown in03.vite-configuration/docs.mdmatches the actual skeleton file exactly. No changes needed.Overall Assessment: Chapter 15
Score: 2 critical, 0 minor. Both critical issues are in the npm scripts documentation and are exact copy-paste hazards: developers who run
vitest --coveragein CI will get a hanging process, and those who copy thevite:buildscript lose TypeScript type safety on builds. Thevite.config.tssection is accurate. The chapter overall is well-written and the Vite integration explanation is solid.Cross-Chapter Summary
V400should bev400(lowercase)users.idtype shown asstring, actual is autoincrement intapp/system/…)->like()/->orLike()are UF-specific methods, not standard Eloquentassets:buildaliaseswebpack/build-assetsdon't exist in UF6assets:builddescribed as Webpack-only; default bundler is Viteassets:webpacknpm script names missingwebpack:prefixbakelistscreate:admin-useras built-in (it's from Account sprinkle)assets:installreferencespackages.lock, should bepackage-lock.jsonvite:buildscript missingvue-tsc &&(type-check step)coveragescript missingrun(would hang in watch mode)Total: 7 critical, 4 minor across 3 chapters.