@aprx/tsconfig 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -0
- package/base.md +54 -0
- package/package.json +31 -0
- package/src/app.json +37 -0
- package/src/base.json +37 -0
- package/src/lib.json +39 -0
- package/src/monorepo-lib.json +43 -0
- package/src/nextjs.json +56 -0
- package/src/tsc/app.json +38 -0
- package/src/tsc/base.json +38 -0
- package/src/tsc/lib.json +40 -0
- package/src/tsc/monorepo-lib.json +44 -0
package/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# @aprx/tsconfig
|
|
2
|
+
|
|
3
|
+
## Setup
|
|
4
|
+
|
|
5
|
+
- Install the package
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -D @aprx/tsconfig typescript
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
- Choose which `tsconfig.json` you need from the [list](#list-of-tsconfigs) below and add it to your project
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"extends": "@aprx/tsconfig"
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## List of TSConfigs
|
|
20
|
+
|
|
21
|
+
There are two categories of configurations: those using `tsc` and those using any other bundler.
|
|
22
|
+
|
|
23
|
+
| Using `tsc` | Includes DOM | Use case |
|
|
24
|
+
|------------------------------------------------|:------------------:|-------------------------------------------------------------------- |
|
|
25
|
+
| `"extends": "@aprx/tsconfig/tsc"` | :x: | Basic configuration, customize it as you wish. |
|
|
26
|
+
| `"extends": "@aprx/tsconfig/tsc/app"` | :white_check_mark: | Preset for building an **application**. Includes `DOM` and `JSX`. |
|
|
27
|
+
| `"extends": "@aprx/tsconfig/tsc/lib"` | :x: | Preset for building a **library**. |
|
|
28
|
+
| `"extends": "@aprx/tsconfig/tsc/monorepo-lib"` | :x: | Preset for building a **library in a monorepo**. |
|
|
29
|
+
|
|
30
|
+
| Using another bundler | Includes DOM | Use case |
|
|
31
|
+
|------------------------------------------------|:------------------:|-------------------------------------------------------------------- |
|
|
32
|
+
| `"extends": "@aprx/tsconfig"` | :x: | Basic configuration, customize it as you wish. |
|
|
33
|
+
| `"extends": "@aprx/tsconfig/app"` | :white_check_mark: | Preset for building an **application**. Includes `DOM` and `JSX`. |
|
|
34
|
+
| `"extends": "@aprx/tsconfig/lib"` | :x: | Preset for building a **library**. |
|
|
35
|
+
| `"extends": "@aprx/tsconfig/monorepo-lib"` | :x: | Preset for building a **library in a monorepo**. |
|
|
36
|
+
| `"extends": "@aprx/tsconfig/nextjs"` | :white_check_mark: | Preset for building a Next.js application. Includes [recommended properties][nextjs-config]. |
|
|
37
|
+
|
|
38
|
+
## Resources
|
|
39
|
+
|
|
40
|
+
- <https://github.com/total-typescript/tsconfig>
|
|
41
|
+
- <https://github.com/tsconfig/bases>
|
|
42
|
+
|
|
43
|
+
## Credits
|
|
44
|
+
|
|
45
|
+
Special thanks to **Matt Pocock** for [the inspiration](https://www.totaltypescript.com/tsconfig-cheat-sheet)
|
|
46
|
+
|
|
47
|
+
## License
|
|
48
|
+
|
|
49
|
+
MIT
|
|
50
|
+
|
|
51
|
+
[nextjs-config]: https://github.com/vercel/next.js/blob/canary/examples/blog-starter/tsconfig.json
|
package/base.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Base
|
|
2
|
+
|
|
3
|
+
```json
|
|
4
|
+
{
|
|
5
|
+
/* Opinionated Options */
|
|
6
|
+
"forceConsistentCasingInFileNames": true,
|
|
7
|
+
"moduleResolution": "bundler",
|
|
8
|
+
"noFallthroughCasesInSwitch": true,
|
|
9
|
+
"noUnusedLocals": true,
|
|
10
|
+
"exactOptionalPropertyTypes": true,
|
|
11
|
+
"noImplicitAny": true,
|
|
12
|
+
"erasableSyntaxOnly": true,
|
|
13
|
+
"noUncheckedSideEffectImports": true,
|
|
14
|
+
|
|
15
|
+
/* Base Options: */
|
|
16
|
+
"esModuleInterop": true,
|
|
17
|
+
"skipLibCheck": true,
|
|
18
|
+
"target": "es2022",
|
|
19
|
+
"allowJs": true,
|
|
20
|
+
"resolveJsonModule": true,
|
|
21
|
+
"moduleDetection": "force",
|
|
22
|
+
"isolatedModules": true,
|
|
23
|
+
"verbatimModuleSyntax": true,
|
|
24
|
+
|
|
25
|
+
/* Strictness */
|
|
26
|
+
"strict": true,
|
|
27
|
+
"noUncheckedIndexedAccess": true,
|
|
28
|
+
"noImplicitOverride": true,
|
|
29
|
+
|
|
30
|
+
/* If transpiling with TypeScript: */
|
|
31
|
+
"module": "NodeNext",
|
|
32
|
+
"outDir": "dist",
|
|
33
|
+
"sourceMap": true,
|
|
34
|
+
|
|
35
|
+
/* AND if you're building for a library: */
|
|
36
|
+
"declaration": true,
|
|
37
|
+
|
|
38
|
+
/* AND if you're building for a library in a monorepo: */
|
|
39
|
+
"composite": true,
|
|
40
|
+
"declarationMap": true,
|
|
41
|
+
|
|
42
|
+
/* If NOT transpiling with TypeScript: */
|
|
43
|
+
"module": "preserve",
|
|
44
|
+
"outDir": "dist",
|
|
45
|
+
"noEmit": true,
|
|
46
|
+
|
|
47
|
+
/* If interact with the DOM: */
|
|
48
|
+
"jsx": "preserve",
|
|
49
|
+
"lib": ["es2022", "dom", "dom.iterable"],
|
|
50
|
+
|
|
51
|
+
/* If DOESN'T interact with the DOM: */
|
|
52
|
+
"lib": ["es2022"]
|
|
53
|
+
}
|
|
54
|
+
```
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aprx/tsconfig",
|
|
3
|
+
"description": "A collection of Typescript configurations",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Aperrix",
|
|
7
|
+
"homepage": "https://github.com/aperrix/code-quality-tools/packages/tsconfig#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/aperrix/code-quality-tools.git",
|
|
11
|
+
"directory": "packages/tsconfig"
|
|
12
|
+
},
|
|
13
|
+
"exports": {
|
|
14
|
+
".": "./src/base.json",
|
|
15
|
+
"./app": "./src/app.json",
|
|
16
|
+
"./lib": "./src/lib.json",
|
|
17
|
+
"./monorepo-lib": "./src/monorepo-lib.json",
|
|
18
|
+
"./nextjs": "./src/nextjs.json",
|
|
19
|
+
|
|
20
|
+
"./tsc": "./src/tsc/base.json",
|
|
21
|
+
"./tsc/app": "./src/tsc/app.json",
|
|
22
|
+
"./tsc/lib": "./src/tsc/lib.json",
|
|
23
|
+
"./tsc/monorepo-lib": "./src/tsc/monorepo-lib.json"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"typescript": "^5.6.0"
|
|
30
|
+
}
|
|
31
|
+
}
|
package/src/app.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* If NOT transpiling with TypeScript: */
|
|
30
|
+
"module": "preserve",
|
|
31
|
+
"noEmit": true,
|
|
32
|
+
|
|
33
|
+
/* If interact with the DOM: */
|
|
34
|
+
"jsx": "preserve",
|
|
35
|
+
"lib": ["es2022", "dom", "dom.iterable"]
|
|
36
|
+
}
|
|
37
|
+
}
|
package/src/base.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* If NOT transpiling with TypeScript: */
|
|
30
|
+
"module": "preserve",
|
|
31
|
+
"noEmit": true,
|
|
32
|
+
|
|
33
|
+
/* If interact with the DOM: */
|
|
34
|
+
"jsx": "preserve",
|
|
35
|
+
"lib": ["es2022"]
|
|
36
|
+
}
|
|
37
|
+
}
|
package/src/lib.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* AND if you're building for a library: */
|
|
30
|
+
"declaration": true,
|
|
31
|
+
|
|
32
|
+
/* If NOT transpiling with TypeScript: */
|
|
33
|
+
"module": "preserve",
|
|
34
|
+
"noEmit": true,
|
|
35
|
+
|
|
36
|
+
/* If DOESN'T interact with the DOM: */
|
|
37
|
+
"lib": ["es2022"]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* AND if you're building for a library: */
|
|
30
|
+
"declaration": true,
|
|
31
|
+
|
|
32
|
+
/* AND if you're building for a library in a monorepo: */
|
|
33
|
+
"composite": true,
|
|
34
|
+
"declarationMap": true,
|
|
35
|
+
|
|
36
|
+
/* If NOT transpiling with TypeScript: */
|
|
37
|
+
"module": "preserve",
|
|
38
|
+
"noEmit": true,
|
|
39
|
+
|
|
40
|
+
/* If DOESN'T interact with the DOM: */
|
|
41
|
+
"lib": ["es2022"]
|
|
42
|
+
}
|
|
43
|
+
}
|
package/src/nextjs.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Next.js Options */
|
|
5
|
+
"jsx": "preserve",
|
|
6
|
+
"incremental": true,
|
|
7
|
+
"plugins": [
|
|
8
|
+
{
|
|
9
|
+
"name": "next"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"paths": {
|
|
13
|
+
"@/*": ["./src/*"]
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
/* Opinionated Options */
|
|
17
|
+
"forceConsistentCasingInFileNames": true,
|
|
18
|
+
"moduleResolution": "bundler",
|
|
19
|
+
"noFallthroughCasesInSwitch": true,
|
|
20
|
+
"noUnusedLocals": true,
|
|
21
|
+
"exactOptionalPropertyTypes": true,
|
|
22
|
+
"noImplicitAny": true,
|
|
23
|
+
"erasableSyntaxOnly": true,
|
|
24
|
+
"noUncheckedSideEffectImports": true,
|
|
25
|
+
|
|
26
|
+
/* Base Options: */
|
|
27
|
+
"esModuleInterop": true,
|
|
28
|
+
"skipLibCheck": true,
|
|
29
|
+
"target": "es2022",
|
|
30
|
+
"allowJs": true,
|
|
31
|
+
"resolveJsonModule": true,
|
|
32
|
+
"moduleDetection": "force",
|
|
33
|
+
"isolatedModules": true,
|
|
34
|
+
"verbatimModuleSyntax": true,
|
|
35
|
+
|
|
36
|
+
/* Strictness */
|
|
37
|
+
"strict": true,
|
|
38
|
+
"noUncheckedIndexedAccess": true,
|
|
39
|
+
"noImplicitOverride": true,
|
|
40
|
+
|
|
41
|
+
/* If NOT transpiling with TypeScript: */
|
|
42
|
+
"module": "preserve",
|
|
43
|
+
"noEmit": true,
|
|
44
|
+
|
|
45
|
+
/* If interact with the DOM: */
|
|
46
|
+
"lib": ["es2022", "dom", "dom.iterable"]
|
|
47
|
+
},
|
|
48
|
+
"include": [
|
|
49
|
+
"next-env.d.ts",
|
|
50
|
+
"**/*.ts",
|
|
51
|
+
"**/*.tsx",
|
|
52
|
+
".next/types/**/*.ts",
|
|
53
|
+
".next/dev/types/**/*.ts"
|
|
54
|
+
],
|
|
55
|
+
"exclude": ["node_modules"]
|
|
56
|
+
}
|
package/src/tsc/app.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* If transpiling with TypeScript: */
|
|
30
|
+
"module": "NodeNext",
|
|
31
|
+
"outDir": "dist",
|
|
32
|
+
"sourceMap": true,
|
|
33
|
+
|
|
34
|
+
/* If interact with the DOM: */
|
|
35
|
+
"jsx": "preserve",
|
|
36
|
+
"lib": ["es2022", "dom", "dom.iterable"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* If transpiling with TypeScript: */
|
|
30
|
+
"module": "NodeNext",
|
|
31
|
+
"outDir": "dist",
|
|
32
|
+
"sourceMap": true,
|
|
33
|
+
|
|
34
|
+
/* If interact with the DOM: */
|
|
35
|
+
"jsx": "preserve",
|
|
36
|
+
"lib": ["es2022"]
|
|
37
|
+
}
|
|
38
|
+
}
|
package/src/tsc/lib.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* If transpiling with TypeScript: */
|
|
30
|
+
"module": "NodeNext",
|
|
31
|
+
"outDir": "dist",
|
|
32
|
+
"sourceMap": true,
|
|
33
|
+
|
|
34
|
+
/* AND if you're building for a library: */
|
|
35
|
+
"declaration": true,
|
|
36
|
+
|
|
37
|
+
/* If DOESN'T interact with the DOM: */
|
|
38
|
+
"lib": ["es2022"]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://www.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
/* Opinionated Options */
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"noFallthroughCasesInSwitch": true,
|
|
8
|
+
"noUnusedLocals": true,
|
|
9
|
+
"exactOptionalPropertyTypes": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"erasableSyntaxOnly": true,
|
|
12
|
+
"noUncheckedSideEffectImports": true,
|
|
13
|
+
|
|
14
|
+
/* Base Options: */
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"target": "es2022",
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"moduleDetection": "force",
|
|
21
|
+
"isolatedModules": true,
|
|
22
|
+
"verbatimModuleSyntax": true,
|
|
23
|
+
|
|
24
|
+
/* Strictness */
|
|
25
|
+
"strict": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noImplicitOverride": true,
|
|
28
|
+
|
|
29
|
+
/* If transpiling with TypeScript: */
|
|
30
|
+
"module": "NodeNext",
|
|
31
|
+
"outDir": "dist",
|
|
32
|
+
"sourceMap": true,
|
|
33
|
+
|
|
34
|
+
/* AND if you're building for a library: */
|
|
35
|
+
"declaration": true,
|
|
36
|
+
|
|
37
|
+
/* AND if you're building for a library in a monorepo: */
|
|
38
|
+
"composite": true,
|
|
39
|
+
"declarationMap": true,
|
|
40
|
+
|
|
41
|
+
/* If DOESN'T interact with the DOM: */
|
|
42
|
+
"lib": ["es2022"]
|
|
43
|
+
}
|
|
44
|
+
}
|