|
1 | 1 | { |
2 | 2 | "compilerOptions": { |
3 | | - "target": "ES2022", |
4 | | - "module": "ES2022", |
| 3 | + "target": "ES2021", |
| 4 | + "module": "ES2020", |
5 | 5 | "moduleResolution": "node", |
6 | 6 |
|
7 | 7 | // Trying to check Ember apps and addons with `allowJs: true` is a recipe |
|
20 | 20 |
|
21 | 21 | // Interop: these are viral and will require anyone downstream of your |
22 | 22 | // package to *also* set them to true. If you *must* enable them to consume |
23 | | - // an upstream package, you should |
| 23 | + // an upstream package, you should document that for downstream consumers to |
| 24 | + // be aware of. |
| 25 | + // |
| 26 | + // These *are* safe for apps to enable, since they do not *have* downstream |
| 27 | + // consumers; but leaving them off is still preferred when possible, since |
| 28 | + // it makes it easier to switch between apps and addons and have the same |
| 29 | + // rules for what can be imported and how. |
24 | 30 | "allowSyntheticDefaultImports": false, |
25 | 31 | "esModuleInterop": false, |
26 | 32 |
|
27 | 33 | // --- Lint-style rules |
28 | 34 |
|
29 | | - // You should feel free to change these, especially if you are already |
30 | | - // covering them via linting (e.g. with @typescript-eslint). |
31 | | - "noFallthroughCasesInSwitch": true, |
32 | | - "noUnusedLocals": true, |
33 | | - "noUnusedParameters": true, |
34 | | - "noImplicitReturns": true, |
| 35 | + // TypeScript also supplies some lint-style checks; nearly all of them are |
| 36 | + // better handled by ESLint with the `@typescript-eslint`. This one is more |
| 37 | + // like a safety check, though, so we leave it on. |
35 | 38 | "noPropertyAccessFromIndexSignature": true, |
36 | 39 |
|
37 | 40 | // --- Compilation/integration settings |
|
0 commit comments