chore(tooling): port upstream infra/tooling audit fixes

Ports the kept-file portions of the upstream infra audit-fix subset onto
the clean-slate template branch (auth-only shape; workspaces feature never
existed here, so its package.json edit is skipped):

- resolve the root playwright config in pnpm test:visual (S8)
- prune dead VERCEL_ENV from turbo.json globalEnv (S9)
- drop the duplicate chromium install in the storybook CI job (S10)
- wire scripts/**/*.test.mjs under a dedicated vitest runner
  (vitest.scripts.config.mjs + pnpm test:scripts + CI validate step);
  convert node:test imports to vitest keeping node:assert
- ignore *.tsbuildinfo repo-wide and untrack the committed build state
- align every @trpc/* range on ^11.18.0 so the workspace resolves to a
  single version (peer-warning-free install)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
This commit is contained in:
2026-07-13 06:04:36 +02:00
parent dda9af93ad
commit 4e4cd5fa7c
32 changed files with 304 additions and 114 deletions

24
vitest.scripts.config.mjs Normal file
View File

@@ -0,0 +1,24 @@
import { defineConfig } from "vitest/config";
/**
* Runner for the root scripts/ test suite (pnpm test:scripts).
*
* scripts/ is not a workspace package, so `turbo run test` never reaches
* these files — this dedicated config wires them to a runner. The suite
* runs in CI's validate job alongside the other root-level gates.
*
* Named vitest.scripts.config.mjs (not vitest.config.*) on purpose so a
* bare `vitest` invocation at the repo root does not auto-discover it.
*/
export default defineConfig({
test: {
environment: "node",
include: ["scripts/**/*.test.mjs"],
clearMocks: true,
restoreMocks: true,
// Several suites exec child node processes (work CLI, conformance
// fixtures) — keep a generous per-test ceiling.
testTimeout: 60_000,
hookTimeout: 60_000,
},
});