refactor(client): name the compile face in every client test filename

A test file under packages/client now says which face it covers:
`*.client.spec.{ts,tsx}` and its `*.client.{ts,tsx}` helpers belong to the
Client aggregate, `*.host.spec.ts` to the host aggregate. The carrier's four
node-half specs take the Host suffix.

The two suffixes are mutually exclusive, so each aggregate excludes the
other's and both keep one broad test glob: `exclude` wins over `include`, and
`packages/client/**` no longer has to be excluded wholesale from the host
program with per-file `files` entries carved back out of it. A Host-face spec
that reaches only Host source therefore needs no cross-face project
reference, which the split-project rule rejects.

vitest still discovers every file through `**/*.spec.{ts,tsx}`.
This commit is contained in:
imccyu
2026-08-12 01:41:40 +08:00
parent 7c3bd75bcc
commit 7ad54e7791
246 changed files with 47 additions and 35 deletions
+10 -1
View File
@@ -87,8 +87,17 @@
"website/**/*.ts",
"website/.vitepress/**/*.ts"
],
// Under packages/client a test file names the face it covers: `*.client.*`
// belongs to the Client aggregate, `*.host.spec.ts` to this one. The two
// suffixes are mutually exclusive, so each aggregate excludes the other's
// and the package test glob above needs no per-file entry.
"exclude": [
"packages/client/**",
"packages/client/*/src/**",
"packages/client/*/tests/**/*.client.ts",
"packages/client/*/tests/**/*.client.tsx",
"packages/client/*/tests/**/*.client.spec.ts",
"packages/client/*/tests/**/*.client.spec.tsx",
"packages/client/tsdown.client.ts",
"packages/api/gateway/tests/client.spec.ts",
"scripts/client-bundle-css.spec.ts",
"packages/typert/generator/tests/fixtures/**",