What is @tsconfig/svelte?
@tsconfig/svelte is a TypeScript configuration preset specifically tailored for Svelte projects. It provides a set of TypeScript compiler options optimized for Svelte development, ensuring compatibility and smooth integration between TypeScript and Svelte.
What are @tsconfig/svelte's main functionalities?
TypeScript Configuration for Svelte
This configuration ensures that TypeScript works seamlessly with Svelte by setting appropriate compiler options. It includes settings for module resolution, target version, strict type-checking, and compatibility with Svelte files.
{"compilerOptions":{"module":"ESNext","target":"ESNext","strict":true,"esModuleInterop":true,"skipLibCheck":true,"forceConsistentCasingInFileNames":true,"isolatedModules":true,"resolveJsonModule":true,"types":["svelte"]},"include":["src/**/*.ts","src/**/*.svelte"],"exclude":["node_modules"]}
Other packages similar to @tsconfig/svelte
@tsconfig/node12
@tsconfig/node12 provides a TypeScript configuration preset optimized for Node.js version 12. It includes settings tailored for server-side development with Node.js, ensuring compatibility and performance.
@tsconfig/next
@tsconfig/next provides a TypeScript configuration preset optimized for Next.js projects. It includes settings that ensure compatibility with Next.js features like server-side rendering and static site generation.
A base TSConfig for working with Svelte.
Add the package to your "devDependencies"
:
npm install --save-dev @tsconfig/svelte
yarn add --dev @tsconfig/svelte
Add to your tsconfig.json
:
"extends": "@tsconfig/svelte/tsconfig.json"
NOTE: After @tsconfig/svelte@2.0.0
, you should add /// <reference types="svelte" />
to a d.ts
or a index.ts
(entry) file to prevent typescript error.
The tsconfig.json
:
{
"$schema": "https://json.schemastore.org/tsconfig",
"_version": "5.0.0",
"compilerOptions": {
"module": "esnext",
"moduleResolution": "bundler",
"target": "es2017",
/**
Svelte Preprocess cannot figure out whether you have a value or a type, so tell TypeScript
to enforce using `import type` instead of `import` for Types.
*/
"verbatimModuleSyntax": true,
/**
To have warnings/errors of the Svelte compiler at the correct position,
enable source maps by default.
*/
"sourceMap": true,
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true
}
}
You can find the code here.