Template smoke test

Pack published packages, generate a project from this git checkout, and prove it installs, builds, type-checks, tests, and lints.

Script: .github/scripts/template-smoke.mjs. CI job name: Generate and verify a template project.

What it does

  1. pnpm pack every non-private workspace package into a temp packs/ dir (each package's prepack builds it).
  2. Runs create-taman against this checkout (--from), so unpublished source changes are included.
  3. Rewrites the generated project's catalog to the packed tarballs.
  4. pnpm install, then build / typecheck / test / lint.

That is the guarantee create-taman@<version> is supposed to match: the snapshot at that tag plus the packages published with it.

Known skips

The script lists KNOWN_TYPE_ERRORS and LINT_SKIP for in-progress layout/tabbar work:

packages/shell/layouts/src/core/tabbar/layout-core-tabbar.vue
  error TS2339: Property 'styleType' does not exist on type 'TabbarPreferences'.

If those strings stop appearing, the script fails — remove the entry when the bug is gone so the list cannot go stale.

Local run

From the Taman repo root (slow: packs + generate + full verify):

node .github/scripts/template-smoke.mjs

Requires git, pnpm, tar, and enough disk in $TMPDIR.