1{
2 "$schema": "https://json.schemastore.org/tsconfig",
3 "extends": "./tsconfig.base.json",
4 "references": [{ "path": "tsconfig.packages.json" }],
5 "include": [
6 "**/vitest.*.ts", // All vitest config files across all packages
7 "./bundle/**/*.ts", // Bundle size test files
8 "./packages/*/test/**/*.ts",
9 "./packages/*/test/**/*.json",
10 "./packages/*/typetest/**/*.ts",
11 "./packages/*/benchmark/**/*.ts",
12 "./packages/**/test/**/*.ts",
13 "./packages/**/test/**/*.json",
14 "./packages/**/typetest/**/*.ts",
15 "./packages/**/benchmark/**/*.ts"
16 ],
17 "exclude": ["**/node_modules/**", "**/dist/**", "./packages/platform/deno/**"],
18 "compilerOptions": {
19 "rootDir": ".",
20 "noEmit": true,
21 "erasableSyntaxOnly": false,
22 "resolveJsonModule": true,
23 "types": ["node"],
24 "paths": {
25 // These path aliases allow us to load internal modules in tests and to use other workspace packages in tests
26 // that would otherwise be considered cyclic dependencies (e.g. loading `@effect/sql-sqlite-node` in the test
27 // suite of `@effect/platform-node` which itself depends on `@effect/platform-node`).
28 "effect": ["./packages/effect/src/index.ts"],
29 "effect/schema": ["./packages/effect/src/schema/index.ts"],
30 "effect/*": ["./packages/effect/src/*.ts"],
31 "@effect/ai-anthropic": ["./packages/ai/anthropic/src/index.ts"],
32 "@effect/ai-anthropic/*": ["./packages/ai/anthropic/src/*.ts"],
33 "@effect/ai-cloudflare": ["./packages/ai/cloudflare/src/index.ts"],
34 "@effect/ai-cloudflare/*": ["./packages/ai/cloudflare/src/*.ts"],
35 "@effect/ai-openai-compat": ["./packages/ai/openai-compat/src/index.ts"],
36 "@effect/ai-openai-compat/*": ["./packages/ai/openai-compat/src/*.ts"],
37 "@effect/ai-openai": ["./packages/ai/openai/src/index.ts"],
38 "@effect/ai-openai/*": ["./packages/ai/openai/src/*.ts"],
39 "@effect/ai-typesafe": ["./packages/ai/typesafe/src/index.ts"],
40 "@effect/ai-typesafe/*": ["./packages/ai/typesafe/src/*.ts"],
41 "@effect/ai-openrouter": ["./packages/ai/openrouter/src/index.ts"],
42 "@effect/ai-openrouter/*": ["./packages/ai/openrouter/src/*.ts"],
43 "@effect/atom-react": ["./packages/atom/react/src/index.ts"],
44 "@effect/atom-react/*": ["./packages/atom/react/src/*.ts"],
45 "@effect/atom-vue": ["./packages/atom/vue/src/index.ts"],
46 "@effect/atom-vue/*": ["./packages/atom/vue/src/*.ts"],
47 "@effect/atom-solid": ["./packages/atom/solid/src/index.ts"],
48 "@effect/atom-solid/*": ["./packages/atom/solid/src/*.ts"],
49 "@effect/opentelemetry": ["./packages/opentelemetry/src/index.ts"],
50 "@effect/opentelemetry/*": ["./packages/opentelemetry/src/*.ts"],
51 "@effect/platform-browser": ["./packages/platform/browser/src/index.ts"],
52 "@effect/platform-browser/*": ["./packages/platform/browser/src/*.ts"],
53 "@effect/platform-bun": ["./packages/platform/bun/src/index.ts"],
54 "@effect/platform-bun/*": ["./packages/platform/bun/src/*.ts"],
55 "@effect/platform-node": ["./packages/platform/node/src/index.ts"],
56 "@effect/platform-node/*": ["./packages/platform/node/src/*.ts"],
57 "@effect/platform-node-shared": ["./packages/platform/node-shared/src/index.ts"],
58 "@effect/platform-node-shared/*": ["./packages/platform/node-shared/src/*.ts"],
59 "@effect/sql-clickhouse": ["./packages/sql/clickhouse/src/index.ts"],
60 "@effect/sql-clickhouse/*": ["./packages/sql/clickhouse/src/*.ts"],
61 "@effect/sql-d1": ["./packages/sql/d1/src/index.ts"],
62 "@effect/sql-d1/*": ["./packages/sql/d1/src/*.ts"],
63 "@effect/sql-libsql": ["./packages/sql/libsql/src/index.ts"],
64 "@effect/sql-libsql/*": ["./packages/sql/libsql/src/*.ts"],
65 "@effect/sql-mssql": ["./packages/sql/mssql/src/index.ts"],
66 "@effect/sql-mssql/*": ["./packages/sql/mssql/src/*.ts"],
67 "@effect/sql-mysql2": ["./packages/sql/mysql2/src/index.ts"],
68 "@effect/sql-mysql2/*": ["./packages/sql/mysql2/src/*.ts"],
69 "@effect/sql-pg": ["./packages/sql/pg/src/index.ts"],
70 "@effect/sql-pg/*": ["./packages/sql/pg/src/*.ts"],
71 "@effect/sql-pglite": ["./packages/sql/pglite/src/index.ts"],
72 "@effect/sql-pglite/*": ["./packages/sql/pglite/src/*.ts"],
73 "@effect/sql-sqlite-bun": ["./packages/sql/sqlite-bun/src/index.ts"],
74 "@effect/sql-sqlite-bun/*": ["./packages/sql/sqlite-bun/src/*.ts"],
75 "@effect/sql-sqlite-do": ["./packages/sql/sqlite-do/src/index.ts"],
76 "@effect/sql-sqlite-do/*": ["./packages/sql/sqlite-do/src/*.ts"],
77 "@effect/sql-sqlite-node": ["./packages/sql/sqlite-node/src/index.ts"],
78 "@effect/sql-sqlite-node/*": ["./packages/sql/sqlite-node/src/*.ts"],
79 "@effect/sql-sqlite-react-native": ["./packages/sql/sqlite-react-native/src/index.ts"],
80 "@effect/sql-sqlite-react-native/*": ["./packages/sql/sqlite-react-native/src/*.ts"],
81 "@effect/sql-sqlite-wasm": ["./packages/sql/sqlite-wasm/src/index.ts"],
82 "@effect/sql-sqlite-wasm/*": ["./packages/sql/sqlite-wasm/src/*.ts"],
83 "@effect/ai-codegen": ["./packages/tools/ai-codegen/src/index.ts"],
84 "@effect/ai-codegen/*": ["./packages/tools/ai-codegen/src/*.ts"],
85 "@effect/api-diff": ["./packages/tools/api-diff/src/Cli.ts"],
86 "@effect/api-diff/*": ["./packages/tools/api-diff/src/*.ts"],
87 "@effect/ai-docgen": ["./packages/tools/ai-docgen/src/index.ts"],
88 "@effect/ai-docgen/*": ["./packages/tools/ai-docgen/src/*.ts"],
89 "@effect/bundle/*": ["./packages/tools/bundle/src/*.ts"],
90 "@effect/docgen": ["./packages/tools/docgen/src/index.ts"],
91 "@effect/docgen/*": ["./packages/tools/docgen/src/*.ts"],
92 "@effect/openapi-generator": ["./packages/tools/openapi-generator/src/index.ts"],
93 "@effect/openapi-generator/*": ["./packages/tools/openapi-generator/src/*.ts"],
94 "@effect/oxc": ["./packages/tools/oxc/src/index.ts"],
95 "@effect/oxc/*": ["./packages/tools/oxc/src/*.ts"],
96 "@effect/tools-utils": ["./packages/tools/utils/src/index.ts"],
97 "@effect/tools-utils/*": ["./packages/tools/utils/src/*.ts"],
98 "@effect/vitest": ["./packages/vitest/src/index.ts"],
99 "@effect/vitest/*": ["./packages/vitest/src/*.ts"],
100 // TODO: This is a special alias used by some tests. We should try to get rid of it.
101 "effect-test/*": ["./packages/effect/test/*.ts"]
102 },
103 "plugins": [{
104 "name": "@effect/language-service",
105 "namespaceImportPackages": [],
106 "includeSuggestionsInTsc": false,
107 "ignoreEffectWarningsInTscExitCode": true,
108 "ignoreEffectErrorsInTscExitCode": true,
109 "overrides": [
110 {
111 "include": ["**/typetest/**/*.ts"],
112 "options": {
113 "diagnosticSeverity": {
114 "floatingEffect": "off"
115 }
116 }
117 }
118 ],
119 "diagnosticSeverity": {
120 "unknownInEffectCatch": "off",
121 "multipleEffectProvide": "off"
122 }
123 }]
124 }
125}