32 lines
1.3 KiB
JSON
32 lines
1.3 KiB
JSON
{
|
|
"$schema": "https://json.schemastore.org/tsconfig",
|
|
"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 directly run TypeScript code, no transpilation needed.
|
|
"noEmit": true,
|
|
// Report an error when importing a file using a casing different from the casing on disk.
|
|
"forceConsistentCasingInFileNames": true,
|
|
// Properly support importing CJS modules in ESM
|
|
"esModuleInterop": true,
|
|
// Skip typechecking libraries and .d.ts files
|
|
"skipLibCheck": true,
|
|
// Add alias for assets folder for easy reference to assets
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"~/assets/*": ["src/assets/*"]
|
|
},
|
|
// TypeScript 5.0 changed how `isolatedModules` and `importsNotUsedAsValues` works, deprecating the later
|
|
// Until the majority of users are on TypeScript 5.0, we'll have to supress those deprecation errors
|
|
"ignoreDeprecations": "5.0",
|
|
// Allow JavaScript files to be imported
|
|
"allowJs": true
|
|
}
|
|
}
|