-
Notifications
You must be signed in to change notification settings - Fork 2
/
ts.config.json
68 lines (60 loc) · 2.37 KB
/
ts.config.json
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
64
65
66
67
68
{
"compilerOptions": {
"allowJs": true,
"checkJs": false,
// The allowSyntheticDefaultImports option needs to be set to true for
// TypeScript code to be compatible with Node.js ES Modules, which
// expect ES Modules to `import` the `module.exports` of a CommonJS
// module as the `default` import. F.e. This means CommonJS modules must
// be imported as `import foo from 'commonjs-module'` instead of `import
// * as foo from 'commonjs-module'`.
"allowSyntheticDefaultImports": true,
"esModuleInterop": false,
// This is often a source of problems. Assume that if a project built
// fine, then its declaration output is fine and we don't need to type
// check it. Sometimes declaration output causes type errors, which is a
// major pain.
"skipLibCheck": true,
"lib": ["esnext", "dom"],
"target": "es2022",
"module": "esnext",
"moduleResolution": "node",
// Prevent possible issues in Windows (https://github.com/prettier/prettier/issues/7825#issuecomment-602171740)
// It may seem counterintuitive that we don't set CRLF. That's because
// all tools we use, even in Windows, work with LF (VS Code, Prettier,
// etc), so this keeps things consistent.
"newLine": "lf",
// Code strictness
"strict": true,
"verbatimModuleSyntax": true,
"isolatedModules": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"forceConsistentCasingInFileNames": true,
"noImplicitOverride": true,
"noUncheckedIndexedAccess": true,
// Language feature options
"useDefineForClassFields": true,
"preserveConstEnums": true,
// JSX is preserved so that we can handle JSX with babel-preset-solid
// (for use with @lume/element).
"jsx": "preserve",
// Default to supporting Solid JSX by default. This is the default the Lume project uses right now.
"jsxImportSource": "solid-js",
"pretty": true,
"declaration": true,
"declarationMap": true,
"noEmitOnError": false,
"sourceMap": true,
"removeComments": false, // If true, then useful documentation will not appear in end-user IDEs.
"paths": {"*": ["*"]},
"rootDir": "../../../../src",
"baseUrl": "../../../../",
"outDir": "../../../../dist",
"typeRoots": ["../../../../node_modules/@types", "../../../../node_modules/@lume/cli/node_modules/@types"]
},
"compileOnSave": false,
"include": ["../../../../src/**/*"]
}