Files
effect/tsconfig.tests.json
T
2026-11-10 22:37:34 +00:00

148 lines
8.0 KiB
JSON

{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "./tsconfig.base.json",
"references": [{ "path": "tsconfig.packages.json" }],
"include": [
"**/vitest.*.ts", // All vitest config files across all packages
"./bundle/**/*.ts", // Bundle size test files
"./packages/*/test/**/*.ts",
"./packages/*/test/**/*.json",
"./packages/*/typetest/**/*.ts",
"./packages/*/benchmark/**/*.ts",
"./packages/**/test/**/*.ts",
"./packages/**/test/**/*.json",
"./packages/**/typetest/**/*.ts",
"./packages/**/benchmark/**/*.ts"
],
"exclude": [
"**/node_modules/**",
"**/dist/**",
"./packages/platform/deno/**",
// Declares `Reactivity.Keys`, which would make reactivity keys strict for every test in this program.
// TSTyche still checks it in its own program.
"./packages/effect/typetest/reactivity/ReactivityKeys.tst.ts",
// Compiled by the package's own tsconfig.alchemy.json: the alchemy type
// graph loads bun globals that clash with this project's node globals.
"./packages/platform/cloudflare/typetest/AlchemyCloudflareCluster.tst.ts"
],
"compilerOptions": {
"rootDir": ".",
"noEmit": true,
"erasableSyntaxOnly": false,
"resolveJsonModule": true,
"types": ["node"],
"paths": {
// These path aliases allow us to load internal modules in tests and to use other workspace packages in tests
// that would otherwise be considered cyclic dependencies (e.g. loading `@effect/sql-sqlite-node` in the test
// suite of `@effect/platform-node` which itself depends on `@effect/platform-node`).
"effect": ["./packages/effect/src/index.ts"],
"effect/graphql": ["./packages/effect/src/graphql/index.ts"],
"effect/jose": ["./packages/effect/src/jose/index.ts"],
"effect/schema": ["./packages/effect/src/schema/index.ts"],
"effect/*": ["./packages/effect/src/*.ts"],
"@effect/ai-amazon-bedrock": ["./packages/ai/amazon-bedrock/src/index.ts"],
"@effect/ai-amazon-bedrock/*": ["./packages/ai/amazon-bedrock/src/*.ts"],
"@effect/ai-anthropic": ["./packages/ai/anthropic/src/index.ts"],
"@effect/ai-anthropic/*": ["./packages/ai/anthropic/src/*.ts"],
"@effect/ai-cloudflare": ["./packages/ai/cloudflare/src/index.ts"],
"@effect/ai-cloudflare/*": ["./packages/ai/cloudflare/src/*.ts"],
"@effect/ai-openai-compat": ["./packages/ai/openai-compat/src/index.ts"],
"@effect/ai-openai-compat/*": ["./packages/ai/openai-compat/src/*.ts"],
"@effect/ai-openai": ["./packages/ai/openai/src/index.ts"],
"@effect/ai-openai/*": ["./packages/ai/openai/src/*.ts"],
"@effect/ai-typesafe": ["./packages/ai/typesafe/src/index.ts"],
"@effect/ai-typesafe/*": ["./packages/ai/typesafe/src/*.ts"],
"@effect/ai-openrouter": ["./packages/ai/openrouter/src/index.ts"],
"@effect/ai-openrouter/*": ["./packages/ai/openrouter/src/*.ts"],
"@effect/atom-react": ["./packages/atom/react/src/index.ts"],
"@effect/atom-react/*": ["./packages/atom/react/src/*.ts"],
"@effect/atom-vue": ["./packages/atom/vue/src/index.ts"],
"@effect/atom-vue/*": ["./packages/atom/vue/src/*.ts"],
"@effect/atom-solid": ["./packages/atom/solid/src/index.ts"],
"@effect/atom-solid/*": ["./packages/atom/solid/src/*.ts"],
"@effect/opentelemetry": ["./packages/opentelemetry/src/index.ts"],
"@effect/opentelemetry/*": ["./packages/opentelemetry/src/*.ts"],
"@effect/platform-browser": ["./packages/platform/browser/src/index.ts"],
"@effect/platform-browser/*": ["./packages/platform/browser/src/*.ts"],
"@effect/platform-bun": ["./packages/platform/bun/src/index.ts"],
"@effect/platform-bun/*": ["./packages/platform/bun/src/*.ts"],
"@effect/platform-cloudflare": ["./packages/platform/cloudflare/src/index.ts"],
"@effect/platform-cloudflare/*": ["./packages/platform/cloudflare/src/*.ts"],
"@effect/platform-node": ["./packages/platform/node/src/index.ts"],
"@effect/platform-node/*": ["./packages/platform/node/src/*.ts"],
"@effect/platform-node-shared": ["./packages/platform/node-shared/src/index.ts"],
"@effect/platform-node-shared/*": ["./packages/platform/node-shared/src/*.ts"],
"@effect/sql-clickhouse": ["./packages/sql/clickhouse/src/index.ts"],
"@effect/sql-clickhouse/*": ["./packages/sql/clickhouse/src/*.ts"],
"@effect/sql-d1": ["./packages/sql/d1/src/index.ts"],
"@effect/sql-d1/*": ["./packages/sql/d1/src/*.ts"],
"@effect/sql-libsql": ["./packages/sql/libsql/src/index.ts"],
"@effect/sql-libsql/*": ["./packages/sql/libsql/src/*.ts"],
"@effect/sql-mssql": ["./packages/sql/mssql/src/index.ts"],
"@effect/sql-mssql/*": ["./packages/sql/mssql/src/*.ts"],
"@effect/sql-mysql2": ["./packages/sql/mysql2/src/index.ts"],
"@effect/sql-mysql2/*": ["./packages/sql/mysql2/src/*.ts"],
"@effect/sql-pg": ["./packages/sql/pg/src/index.ts"],
"@effect/sql-pg/*": ["./packages/sql/pg/src/*.ts"],
"@effect/sql-pglite": ["./packages/sql/pglite/src/index.ts"],
"@effect/sql-pglite/*": ["./packages/sql/pglite/src/*.ts"],
"@effect/sql-sqlite-bun": ["./packages/sql/sqlite-bun/src/index.ts"],
"@effect/sql-sqlite-bun/*": ["./packages/sql/sqlite-bun/src/*.ts"],
"@effect/sql-sqlite-do": ["./packages/sql/sqlite-do/src/index.ts"],
"@effect/sql-sqlite-do/*": ["./packages/sql/sqlite-do/src/*.ts"],
"@effect/sql-sqlite-node": ["./packages/sql/sqlite-node/src/index.ts"],
"@effect/sql-sqlite-node/*": ["./packages/sql/sqlite-node/src/*.ts"],
"@effect/sql-sqlite-react-native": ["./packages/sql/sqlite-react-native/src/index.ts"],
"@effect/sql-sqlite-react-native/*": ["./packages/sql/sqlite-react-native/src/*.ts"],
"@effect/sql-sqlite-wasm": ["./packages/sql/sqlite-wasm/src/index.ts"],
"@effect/sql-sqlite-wasm/*": ["./packages/sql/sqlite-wasm/src/*.ts"],
"@effect/ai-codegen": ["./packages/tools/ai-codegen/src/index.ts"],
"@effect/ai-codegen/*": ["./packages/tools/ai-codegen/src/*.ts"],
"@effect/api-diff": ["./packages/tools/api-diff/src/Cli.ts"],
"@effect/api-diff/*": ["./packages/tools/api-diff/src/*.ts"],
"@effect/ai-docgen": ["./packages/tools/ai-docgen/src/index.ts"],
"@effect/ai-docgen/*": ["./packages/tools/ai-docgen/src/*.ts"],
"@effect/bundle/*": ["./packages/tools/bundle/src/*.ts"],
"@effect/docgen": ["./packages/tools/docgen/src/index.ts"],
"@effect/docgen/*": ["./packages/tools/docgen/src/*.ts"],
"@effect/npm-promote": ["./packages/tools/npm-promote/src/NpmPromote.ts"],
"@effect/npm-promote/*": ["./packages/tools/npm-promote/src/*.ts"],
"@effect/openapi-generator": ["./packages/tools/openapi-generator/src/index.ts"],
"@effect/openapi-generator/*": ["./packages/tools/openapi-generator/src/*.ts"],
"@effect/graphql-generator/*": ["./packages/tools/graphql-generator/src/*.ts"],
"@effect/oxc": ["./packages/tools/oxc/src/index.ts"],
"@effect/oxc/*": ["./packages/tools/oxc/src/*.ts"],
"@effect/tools-utils": ["./packages/tools/utils/src/index.ts"],
"@effect/tools-utils/*": ["./packages/tools/utils/src/*.ts"],
"@effect/vitest": ["./packages/vitest/src/index.ts"],
"@effect/vitest/*": ["./packages/vitest/src/*.ts"],
// TODO: This is a special alias used by some tests. We should try to get rid of it.
"effect-test/*": ["./packages/effect/test/*.ts"]
},
"plugins": [{
"name": "@effect/language-service",
"effectFn": ["untraced"],
"namespaceImportPackages": [],
"includeSuggestionsInTsc": false,
"ignoreEffectWarningsInTscExitCode": true,
"ignoreEffectErrorsInTscExitCode": false,
"overrides": [
{
"include": ["**/typetest/**/*.ts"],
"options": {
"diagnosticSeverity": {
"floatingEffect": "off"
}
}
}
],
"diagnosticSeverity": {
"unknownInEffectCatch": "off",
"multipleEffectProvide": "off",
"unstableApiUsage": "off",
"effectFnOpportunity": "error"
}
}]
}
}