fix(install): remove silent || true from postinstall + narrow filter

The root postinstall was `node scripts/generate-env.mjs || true &&
pnpm run build:packages || true`. Two failures were being swallowed:

1. shared-auth's build has been broken for a while. shared-types
   re-exports its submodules with explicit `.ts` extensions
   (`export * from './theme.ts'`), which only works for downstream
   consumers that set `allowImportingTsExtensions: true`. shared-auth
   didn't — tsc emitted TS5097 on every re-export, the build failed,
   `|| true` hid it, every `pnpm install` appeared clean.

2. The filter `@mana/*` matches everything in the workspace, including
   `@mana/web` — the full 27-module SvelteKit build. On postinstall
   this kicked off vite, which OOM-aborted during SW generation.
   That's the original reason `|| true` was added, judging by shape.

Fixes:
- Dropped the `.ts` suffix from shared-types/src/index.ts re-exports.
  shared-types is consumed in bundler-mode tsconfigs everywhere, so no
  extension is the portable form. shared-types' own `tsc --noEmit`
  still passes.
- Narrowed the filter from `@mana/*` (name-glob, matches apps) to
  `./packages/*` (path-glob, only workspace packages). Scope drops
  from 133 → 39 projects; build:packages now runs cleanly in ~15s.
- Removed both `|| true` guards. A broken postinstall now fails
  loudly instead of producing a half-built state nobody notices.

Verified: `pnpm install` completes exit 0 in 13s; all 39 packages
build green.

Closes audit item #37 (postinstall swallows errors).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-20 14:58:59 +02:00
parent 5ec1dfc747
commit d1d37749f7
2 changed files with 13 additions and 9 deletions

View file

@ -36,8 +36,8 @@
"setup:db:chat": "./scripts/setup-databases.sh chat",
"setup:db:auth": "./scripts/setup-databases.sh auth",
"setup:dev-user": "./scripts/dev/setup-dev-user.sh",
"build:packages": "pnpm --filter '@mana/*' build",
"postinstall": "node scripts/generate-env.mjs || true && pnpm run build:packages || true",
"build:packages": "pnpm --filter './packages/*' build",
"postinstall": "node scripts/generate-env.mjs && pnpm run build:packages",
"mana:dev": "turbo run dev --filter=mana...",
"cards:dev": "turbo run dev --filter=cards...",
"picture:dev": "turbo run dev --filter=picture...",