tsconfig.json 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. {
  2. "compilerOptions": {
  3. "module": "ESNext",
  4. "moduleResolution": "Node",
  5. "resolveJsonModule": true,
  6. "useDefineForClassFields": true,
  7. // Required in Vue projects
  8. "jsx": "preserve",
  9. // `"noImplicitThis": true` is part of `strict`
  10. // Added again here in case some users decide to disable `strict`.
  11. // This enables stricter inference for data properties on `this`.
  12. "noImplicitThis": true,
  13. "strict": true,
  14. // Required in Vite
  15. "isolatedModules": true,
  16. // For `<script setup>`
  17. // See <https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/#preserve-value-imports>
  18. "preserveValueImports": true,
  19. // Enforce using `import type` instead of `import` for types
  20. "importsNotUsedAsValues": "error",
  21. // A few notes:
  22. // - Vue 3 supports ES2016+
  23. // - For Vite, the actual compilation target is determined by the
  24. // `build.target` option in the Vite config.
  25. // So don't change the `target` field here. It has to be
  26. // at least `ES2020` for dynamic `import()`s and `import.meta` to work correctly.
  27. // - If you are not using Vite, feel free to override the `target` field.
  28. "target": "ESNext",
  29. // Recommended
  30. "esModuleInterop": true,
  31. "forceConsistentCasingInFileNames": true,
  32. // See <https://github.com/vuejs/vue-cli/pull/5688>
  33. "skipLibCheck": true,
  34. }
  35. }