mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
109 lines
2.9 KiB
JSON
109 lines
2.9 KiB
JSON
{
|
|
"compilerOptions": {
|
|
// Target modern browsers for better performance
|
|
"target": "ES2022",
|
|
"useDefineForClassFields": true,
|
|
|
|
// Optimized library selection
|
|
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
"types": ["node", "vite/client"],
|
|
|
|
// JavaScript handling
|
|
"allowJs": false,
|
|
"checkJs": false,
|
|
|
|
// Module system optimized for Vite
|
|
"module": "ESNext",
|
|
"moduleResolution": "bundler",
|
|
"allowSyntheticDefaultImports": true,
|
|
"esModuleInterop": true,
|
|
"resolveJsonModule": true,
|
|
"isolatedModules": true,
|
|
|
|
// Emit configuration
|
|
"noEmit": true,
|
|
"declaration": false,
|
|
"declarationMap": false,
|
|
"sourceMap": false,
|
|
|
|
// React/JSX configuration
|
|
"jsx": "react-jsx",
|
|
"jsxImportSource": "react",
|
|
|
|
// Strict type checking for better code quality
|
|
"strict": true,
|
|
"noImplicitAny": true,
|
|
"strictNullChecks": true,
|
|
"strictFunctionTypes": true,
|
|
"strictBindCallApply": true,
|
|
"strictPropertyInitialization": true,
|
|
"noImplicitReturns": true,
|
|
"noImplicitThis": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"exactOptionalPropertyTypes": true,
|
|
|
|
// Additional checks
|
|
"forceConsistentCasingInFileNames": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"noUncheckedIndexedAccess": true,
|
|
"useUnknownInCatchVariables": true,
|
|
|
|
// Performance optimizations
|
|
"skipLibCheck": true,
|
|
"skipDefaultLibCheck": true,
|
|
"incremental": true,
|
|
"tsBuildInfoFile": ".tsbuildinfo",
|
|
|
|
// Path mapping for cleaner imports
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"@/*": ["src/*"],
|
|
"@/components/*": ["src/components/*"],
|
|
"@/utils/*": ["src/utils/*"],
|
|
"@/types/*": ["src/types/*"],
|
|
"@/hooks/*": ["src/hooks/*"],
|
|
"@/services/*": ["src/services/*"],
|
|
"@/assets/*": ["src/assets/*"],
|
|
// Support for bare imports from src directory
|
|
"App": ["src/App"],
|
|
"AppRouting": ["src/AppRouting"],
|
|
"CustomTheme": ["src/CustomTheme"],
|
|
"SignIn": ["src/SignIn"],
|
|
"AuthenticatedRouting": ["src/AuthenticatedRouting"],
|
|
"env": ["src/env"],
|
|
"components": ["src/components"],
|
|
"contexts": ["src/contexts"],
|
|
"i18n": ["src/i18n"],
|
|
"utils": ["src/utils"],
|
|
"validators": ["src/validators"],
|
|
"types": ["src/types"],
|
|
"api": ["src/api"],
|
|
"app": ["src/app"],
|
|
// Wildcard patterns for subdirectories
|
|
"components/*": ["src/components/*"],
|
|
"contexts/*": ["src/contexts/*"],
|
|
"i18n/*": ["src/i18n/*"],
|
|
"utils/*": ["src/utils/*"],
|
|
"validators/*": ["src/validators/*"],
|
|
"types/*": ["src/types/*"],
|
|
"api/*": ["src/api/*"],
|
|
"app/*": ["src/app/*"]
|
|
}
|
|
},
|
|
"include": ["src/**/*", "vite.config.ts", "progmem-generator.js"],
|
|
"exclude": [
|
|
"node_modules",
|
|
"dist",
|
|
"build",
|
|
".tsbuildinfo",
|
|
"**/*.test.ts",
|
|
"**/*.test.tsx",
|
|
"**/*.spec.ts",
|
|
"**/*.spec.tsx"
|
|
],
|
|
"ts-node": {
|
|
"esm": true
|
|
}
|
|
}
|