Repository navigation
Expand file tree
/
Copy pathtsconfig.json
More file actions
63 lines (59 loc) · 2.88 KB
/
Copy pathtsconfig.json
File metadata and controls
63 lines (59 loc) · 2.88 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
54
55
56
57
58
59
60
61
62
63
{
// Type-checks everything under src/, tests included. The published build uses
// tsconfig.build.json, which narrows this to the runtime sources.
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
// ESNext.Disposable types Symbol.asyncDispose for the tests of `await using`; no shipped
// declaration names it (src/safe/log.ts, AsyncDisposableLog), so consumers need no such lib.
"lib": ["ES2022", "DOM", "DOM.Iterable", "ESNext.Disposable"],
"types": [],
// Relative imports carry an explicit ".ts" extension so the sources run as-is
// under Node's type stripping, Deno and Bun; tsc rewrites them to ".js" on emit.
"allowImportingTsExtensions": true,
"rewriteRelativeImportExtensions": true,
"verbatimModuleSyntax": true,
"erasableSyntaxOnly": true,
"isolatedModules": true,
"resolveJsonModule": true,
"strict": true,
"exactOptionalPropertyTypes": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true,
"noEmit": true,
// Lets tests import the package by its published name, resolved to src/. It mirrors
// package.json "exports" (dist/X.js -> src/X.ts), as vitest.config.ts does at runtime.
"paths": {
"webtessera": ["./src/index.ts"],
"webtessera/api": ["./src/api/state.ts"],
"webtessera/api/layout": ["./src/api/layout/index.ts"],
"webtessera/client": ["./src/client/index.ts"],
"webtessera/fsck": ["./src/fsck/index.ts"],
"webtessera/ctonly": ["./src/ctonly/ct.ts"],
"webtessera/merkle/rfc6962": ["./src/vendor/merkle/rfc6962/rfc6962.ts"],
"webtessera/merkle/compact": ["./src/vendor/merkle/compact/index.ts"],
"webtessera/merkle/proof": ["./src/vendor/merkle/proof/index.ts"],
"webtessera/note": ["./src/vendor/note/note.ts"],
"webtessera/formats/log": ["./src/vendor/formats/log/index.ts"],
"webtessera/formats/proof": ["./src/vendor/formats/proof/index.ts"],
"webtessera/storage/objectstore": ["./src/storage/objectstore/index.ts"],
"webtessera/storage/memory": ["./src/storage/memory/index.ts"],
"webtessera/storage/indexeddb": ["./src/storage/indexeddb/index.ts"],
"webtessera/storage/sqlite": ["./src/storage/sqlite/index.ts"],
"webtessera/http": ["./src/http/index.ts"],
"webtessera/witness": ["./src/witness/index.ts"],
"webtessera/mirror": ["./src/mirror/index.ts"],
"webtessera/server": ["./src/server/index.ts"],
"webtessera/browser": ["./src/browser/index.ts"],
"webtessera/testonly": ["./src/testonly/index.ts"]
}
},
"include": ["src"],
// workerd-only code is checked by tsconfig.workers.json instead.
"exclude": ["src/**/*_workers_test.ts", "src/storage/sqlite/testing/workers/**"]
}