-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathtsconfig.json
More file actions
53 lines (53 loc) · 2.69 KB
/
Copy pathtsconfig.json
File metadata and controls
53 lines (53 loc) · 2.69 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
44
45
46
47
48
49
50
51
52
53
{
"extends": "../../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
// [#14762] Widened from `./src` as a CONSEQUENCE of the `paths` rule below,
// the same consequence `packages/plugins/plugin-security/tsconfig.json`
// (#11184) and `packages/rest/tsconfig.json` (#9960) each record:
// redirecting a workspace specifier to its source puts that package's
// `src/**` into this program, and `rootDir` is enforced over every program
// file even under `--noEmit`. `../..` (= `packages/`) is the directory that
// contains every file in the program. Emit is unaffected: this package
// builds with tsup, and `typecheck` passes `--noEmit`.
"rootDir": "../..",
"types": [
"node"
],
// [#14762] `@objectstack/service-messaging` is imported as a VALUE by
// `src/auth-manager.ts` (`normalizeRecipientLocale`, the platform's one
// reader of a `sys_user.locale` at rest — reused rather than copied).
// Without this rule tsc resolves the specifier through the dependency's
// `exports` map — `dist/index.d.ts`, a BUILD ARTIFACT — so this package's
// typecheck would render a verdict about the last `pnpm build` rather than
// about the producer's source in the checkout, which
// `check:type-source-resolution` refuses (its header states why the
// dangerous case is a typecheck that PASSES). ONE rule for the bare name
// only: this package imports no `@objectstack/service-messaging/*` subpath
// — that package declares none — and a `paths` target matching nothing on
// disk would silently fall back to node resolution.
"paths": {
// [#15136] `@objectstack/formula` is imported as a VALUE by
// `src/session-positions-security-axis.test.ts` (`celEngine`, the real CEL
// engine the server evaluates formulas and RLS with — the pins drive it
// rather than a fixture because the defect lived in the seam). Same
// mechanism as the entry below and the same ONE-rule shape: the test layer
// reaches this specifier through `tsconfig.test.json`, which inherits this
// map rather than declaring its own, and `@objectstack/formula` publishes
// no subpath in its `exports`, so a subpath rule would match nothing on
// disk and fall back to node resolution. Without it tsc resolves the
// specifier to `dist/index.d.ts` — a BUILD ARTIFACT — which
// `check:type-source-resolution` refuses.
"@objectstack/formula": ["../../formula/src/index.ts"],
"@objectstack/service-messaging": ["../../services/service-messaging/src/index.ts"]
}
},
"include": [
"src/**/*"
],
"exclude": [
"dist",
"node_modules",
"**/*.test.ts"
]
}