{ "compilerOptions": { "allowJs": false, "declaration": true, "incremental": true, "module": "commonjs", "moduleResolution": "node", "outDir": "./lib", "resolveJsonModule": true, "skipLibCheck": true, "sourceMap": true, // Bumping the minimum required Node version? You must bump: // 1. package.json -> engines.node // 2. package.json -> devDependencies.@types/node // 3. tsconfig.json -> {target, lib} // 4. .github/workflows/ci.yml -> node-version // // Here in tsconfig.json, we want to set the `target` and `lib` keys // to the "best" values for the minimum/required version of node. // TS doesn't offer any easy "preset" for this, so the best we have is to // believe people who know which {syntax, library} parts of current EcmaScript // are supported for our version of Node, and use what they recommend. // For the current Node version, I followed // https://stackoverflow.com/questions/59787574/typescript-tsconfig-settings-for-node-js-12 "target": "es2019", // In `lib` we add `dom`, to tell tsc it's okay to use the URL object (which is in Node >= 7) "lib": ["es2020", "dom"] }, "include": [ "./src/**/*" ] }