{ "include": ["src/globals.d.ts", "./src/**/*.ts", "tsup.config.ts", "./test/**/*.ts"], "compilerOptions": { /* LANGUAGE COMPILATION OPTIONS */ "target": "ES2020", "lib": ["DOM", "DOM.Iterable", "ES2020"], "module": "ESNext", "moduleResolution": "node", "resolveJsonModule": true, "allowJs": true, "checkJs": true, /* EMIT RULES */ "outDir": "./dist", "noEmit": true, // TSUP takes care of emitting js for us, in a MUCH faster way "declaration": true, "declarationMap": true, "sourceMap": true, "removeComments": true, /* TYPE CHECKING RULES */ "strict": true, // "noImplicitAny": true, // Included in "Strict" // "noImplicitThis": true, // Included in "Strict" // "strictBindCallApply": true, // Included in "Strict" // "strictFunctionTypes": true, // Included in "Strict" // "strictNullChecks": true, // Included in "Strict" // "strictPropertyInitialization": true, // Included in "Strict" "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, "noImplicitReturns": true, "noUnusedLocals": false, "noUnusedParameters": false, "useUnknownInCatchVariables": true, "noUncheckedIndexedAccess": true, // TLDR - Checking an indexed value (array[0]) now forces type as there is no confirmation that index exists // THE BELOW ARE EXTRA STRICT OPTIONS THAT SHOULD ONLY BY CONSIDERED IN VERY SAFE PROJECTS // "exactOptionalPropertyTypes": true, // TLDR - Setting to undefined is not the same as a property not being defined at all // "noPropertyAccessFromIndexSignature": true, // TLDR - Use dot notation for objects if youre sure it exists, use ['index'] notaion if unsure /* OTHER OPTIONS */ "allowSyntheticDefaultImports": true, "esModuleInterop": true, // "emitDecoratorMetadata": true, // "experimentalDecorators": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, "useDefineForClassFields": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, "types": ["vitest/globals"], "paths": { "@trigger.dev/yalt": ["../yalt/src/index"] } }, "exclude": ["node_modules"] }