45 lines
1.9 KiB
JSON
45 lines
1.9 KiB
JSON
{
|
|
"compilerOptions": {
|
|
// Enable top-level await, and other modern ESM features.
|
|
"target": "ESNext",
|
|
"module": "ESNext",
|
|
// Enable node-style module resolution, for things like npm package imports.
|
|
"moduleResolution": "node",
|
|
// Enable JSON imports.
|
|
"resolveJsonModule": true,
|
|
// Enable stricter transpilation for better output.
|
|
"isolatedModules": true,
|
|
// Astro will directly run your TypeScript code, no transpilation needed.
|
|
"noEmit": true,
|
|
// Enable strict type checking.
|
|
"strict": true,
|
|
// Error when a value import is only used as a type.
|
|
"importsNotUsedAsValues": "error",
|
|
// 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 possibe 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,
|
|
// Force import casing to match file name casing on the disk.
|
|
"forceConsistentCasingInFileNames": true,
|
|
// Add aliases for common paths.
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"@/atoms/*": ["src/components/atoms/*"],
|
|
"@/organisms/*": ["src/components/organisms/*"],
|
|
"@/sections/*": ["src/components/sections/*"],
|
|
"@/assets/*": ["src/assets/*"],
|
|
"@/types/*": ["src/types/*"],
|
|
"@/constants/*": ["src/constants/*"],
|
|
"@/utils/*": ["src/utils/*"]
|
|
}
|
|
},
|
|
"include": ["**/*.ts", "**/*.tsx", "**/*.cjs", "**/*.astro"]
|
|
}
|