-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtsconfig.bench.json
More file actions
43 lines (42 loc) · 1.99 KB
/
Copy pathtsconfig.bench.json
File metadata and controls
43 lines (42 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
// Benchmarks-only typecheck — the smoke-level gate that `bun run
// typecheck` cannot provide, because the build tsconfig deliberately
// EXCLUDES `benchmarks/` (they are never shipped). Without this,
// nothing in CI notices when a `src/` API change orphans a benchmark:
// the whole suite sat broken on a removed `ask` export (#506) because
// a missing barrel export is a compile error nobody compiled for.
//
// Deliberately narrower than `tsconfig.dev.json` (which also pulls in
// `tests/` + `examples/`): a tight `src` + `benchmarks` scope is fast,
// and it is the one the `benchmarks` workflow runs next to
// `bench:smoke`. The dev config is green and gated too since #540, so
// this is no longer the only one that can gate — the two overlap on
// `benchmarks/` and that is fine: this one fails in seconds, in the
// workflow that also runs the suite.
"extends": "./tsconfig.json",
"compilerOptions": {
// Type-only run — nothing here is ever emitted.
"noEmit": true,
// Benchmarks are Bun scripts: they use `Bun.sleep`, `process`, and
// `node:*` imports, none of which the build config's empty `types`
// makes visible.
"types": ["bun", "node"],
"rootDir": "."
},
"include": ["src/**/*.ts", "benchmarks/**/*.ts"],
"exclude": [
"node_modules",
"dist",
// The framework-comparison tree carries its own `package.json` and its
// own lockfile (#27): its arms import the frameworks they measure
// against, and those resolve against
// `benchmarks/comparison/node_modules`, never the root install. Same
// rule `tsconfig.dev.json` applies to the example frontends and the
// broker runners — a file whose imports another manifest owns cannot
// compile here however much of it is fixed. The config that DOES own
// it is `benchmarks/comparison/tsconfig.json`, run as
// `bun run typecheck:compare` by the `comparison` job in
// `.github/workflows/benchmarks.yml`.
"benchmarks/comparison"
]
}