Skip to content

[Docs Review] Chapter 15 Assets/Vite — Technical Accuracy Issues #162

@lcharette

Description

@lcharette

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions