Sprinkled a little tsconfig.json from astro. Probably needs to be updated. I don't think we're using TSX, for instance.
This commit is contained in:
parent
f7d1a0327e
commit
bbf478f799
32
tsconfig.base.json
Normal file
32
tsconfig.base.json
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ // Copied from https://github.com/withastro/astro/blob/main/packages/astro/tsconfigs/base.json
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"compilerOptions": {
|
||||
// Enable top-level await, and other modern ESM features.
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
// Enable module resolution without file extensions on relative paths, for things like npm package imports.
|
||||
"moduleResolution": "Bundler",
|
||||
// Allow importing TypeScript files using their native extension (.ts(x)).
|
||||
"allowImportingTsExtensions": true,
|
||||
// Enable JSON imports.
|
||||
"resolveJsonModule": true,
|
||||
// Enforce the usage of type-only imports when needed, which helps avoiding bundling issues.
|
||||
"verbatimModuleSyntax": true,
|
||||
// Ensure that each file can be transpiled without relying on other imports.
|
||||
// This is redundant with the previous option, however it ensures that it's on even if someone disable `verbatimModuleSyntax`
|
||||
"isolatedModules": true,
|
||||
// Astro directly run TypeScript code, no transpilation needed.
|
||||
"noEmit": true,
|
||||
// Report an error when importing a file using a casing different from another import of the same file.
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
// Properly support importing CJS modules in ESM
|
||||
"esModuleInterop": true,
|
||||
// Skip typechecking libraries and .d.ts files
|
||||
"skipLibCheck": true,
|
||||
// Allow JavaScript files to be imported
|
||||
"allowJs": true,
|
||||
// Allow JSX files (or files that are internally considered JSX, like Astro files) to be imported inside `.js` and `.ts` files.
|
||||
"jsx": "preserve"
|
||||
}
|
||||
}
|
||||
|
7
tsconfig.json
Normal file
7
tsconfig.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"extends": "astro/tsconfigs/strict",
|
||||
"compilerOptions": {
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "react"
|
||||
}
|
||||
}
|
8
tsconfig.strict.json
Normal file
8
tsconfig.strict.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ // Copied from https://github.com/withastro/astro/blob/main/packages/astro/tsconfigs/strict.json
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"extends": "./base.json",
|
||||
"compilerOptions": {
|
||||
// Enable strict mode. This enables a few options at a time, see https://www.typescriptlang.org/tsconfig#strict for a list.
|
||||
"strict": true
|
||||
}
|
||||
}
|
24
tsconfig.strictest.json
Normal file
24
tsconfig.strictest.json
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ // Copied from https://github.com/withastro/astro/blob/main/packages/astro/tsconfigs/strictest.json
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"extends": "./strict.json",
|
||||
"compilerOptions": {
|
||||
// Report errors for fallthrough cases in switch statements
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
// Force functions designed to override their parent class to be specified as `override`.
|
||||
"noImplicitOverride": true,
|
||||
// Force functions to specify that they can return `undefined` if a possible code path does not return a value.
|
||||
"noImplicitReturns": true,
|
||||
// Report an error when a variable is declared but never used.
|
||||
"noUnusedLocals": true,
|
||||
// Report an error when a parameter is declared but never used.
|
||||
"noUnusedParameters": true,
|
||||
// Force the usage of the indexed syntax to access fields declared using an index signature.
|
||||
"noUncheckedIndexedAccess": true,
|
||||
// Report an error when the value `undefined` is given to an optional property that doesn't specify `undefined` as a valid value.
|
||||
"exactOptionalPropertyTypes": true,
|
||||
// Report an error for unreachable code instead of just a warning.
|
||||
"allowUnreachableCode": false,
|
||||
// Report an error for unused labels instead of just a warning.
|
||||
"allowUnusedLabels": false
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user