AFFiNE/tsconfig.json
2023-08-10 15:56:16 -04:00

191 lines
4.6 KiB
JSON

{
"compilerOptions": {
"verbatimModuleSyntax": true,
// Classification follows https://www.typescriptlang.org/tsconfig
// Type Checking
"strict": true,
// exactOptionalPropertyTypes: false,
"noFallthroughCasesInSwitch": true,
"noImplicitAny": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
// noPropertyAccessFromIndexSignature: false,
// noUncheckedIndexedAccess: false,
"useUnknownInCatchVariables": true,
// Modules
"module": "ESNext",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"types": ["affine__env"],
// Emit
"declaration": true,
"declarationMap": true,
"sourceMap": true,
// skip type emit for @internal types
// "stripInternal": true,
// JavaScript Support
"allowJs": false,
"checkJs": false,
// Interop Constraints
"forceConsistentCasingInFileNames": true,
"allowSyntheticDefaultImports": true,
"isolatedModules": true,
// Language and Environment
"jsx": "preserve",
"jsxImportSource": "@emotion/react",
"lib": ["ESNext", "DOM"],
"target": "ES2022",
"useDefineForClassFields": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
// Projects
"composite": true,
"incremental": true,
// Completeness
"skipLibCheck": true, // skip all type checks for .d.ts files
"paths": {
"@affine/cli/*": ["./packages/cli/src/*"],
"@affine/component": ["./packages/component/src/index"],
"@affine/component/*": [
"./packages/component/src/components/*/index",
"./packages/component/src/components/*"
],
"@affine/i18n": ["./packages/i18n/src"],
"@affine/i18n/hooks": ["./packages/i18n/src/i18n-generated"],
"@affine/debug": ["./packages/debug"],
"@affine/jotai": ["./packages/jotai"],
"@affine/env": ["./packages/env/src"],
"@affine/env/*": ["./packages/env/src/*"],
"@affine/utils": ["./packages/utils"],
"@affine/workspace/*": ["./packages/workspace/src/*"],
"@affine/graphql": ["./packages/graphql/src"],
"@affine/copilot": ["./plugins/copilot/src"],
"@affine/copilot/*": ["./plugins/copilot/src/*"],
"@affine/electron/scripts/*": ["./apps/electron/scripts/*"],
"@affine-test/kit/*": ["./tests/kit/*"],
"@affine-test/fixtures/*": ["./tests/fixtures/*"],
"@toeverything/y-indexeddb": ["./packages/y-indexeddb/src"],
"@toeverything/hooks/*": ["./packages/hooks/src/*"],
"@toeverything/infra/*": ["./packages/infra/src/*"],
"@affine/sdk/*": ["./packages/sdk/src/*"],
"@affine/native": ["./packages/native/index.d.ts"],
"@affine/native/*": ["./packages/native/*"],
"@affine/storage": ["./packages/storage/index.d.ts"],
// Development only
"@affine/electron/*": ["./apps/electron/src/*"]
}
},
"include": [],
"references": [
// Apps
{
"path": "./apps/electron"
},
{
"path": "./apps/server"
},
{
"path": "./apps/storybook"
},
{
"path": "./apps/core"
},
// Top level packages
{
"path": "./packages/infra"
},
{
"path": "./packages/graphql"
},
{
"path": "./packages/debug"
},
// Plugins
{
"path": "./packages/sdk"
},
{
"path": "./plugins/bookmark"
},
{
"path": "./plugins/copilot"
},
{
"path": "./plugins/hello-world"
},
{
"path": "./plugins/image-preview"
},
{
"path": "./plugins/vue-hello-world"
},
// Packages
{
"path": "./packages/cli"
},
{
"path": "./packages/plugin-cli"
},
{
"path": "./packages/component"
},
{
"path": "./packages/hooks"
},
{
"path": "./packages/i18n"
},
{
"path": "./packages/env"
},
{
"path": "./packages/workspace"
},
{
"path": "./packages/y-indexeddb"
},
// Tests
{
"path": "./tests/kit"
},
{
"path": "./tsconfig.node.json"
},
{
"path": "./tests/affine-local"
},
{
"path": "./tests/affine-plugin"
},
{
"path": "./tests/affine-prototype"
},
{
"path": "./tests/affine-legacy/0.7.0-canary.18"
},
{
"path": "./tests/affine-legacy/0.8.0-canary.7"
}
],
"files": [],
"exclude": ["node_modules", "target", "lib", "test-results"],
"ts-node": {
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "Node"
}
}
}