TypeScript importiert ES-Bibliotheken transitiv
Ich möchte sicherstellen, dass mein Code keine neueren Bibliotheksfunktionen als ES6 verwendet. Folglich sieht meine tsconfig.json so aus:
{
"compilerOptions": {
"lib": [
"es6"
],
"target": "es6",
"outDir": "./dist",
"rootDir": "./src",
"module": "commonjs",
"declaration": true,
"strict": true,
"moduleResolution": "node",
"esModuleInterop": true
}
}
Dies funktioniert wie erwartet, und Aufrufe wie Object.fromEntries werden als Fehler markiert.
Leider erkennt TypeScript sofort nach der Installation einer Dev-Abhängigkeit, die von @types/node abhängt, z. B. einem Rollup-Plugin, die folgende Deklaration in node_modules/@types/node:
/// <reference lib="es2018" />
(Datei node_modules/@types/node/ts3.7/base.d.ts).
Plötzlich wird Object.fromEntries nicht mehr markiert, weil - trotz meiner Konfiguration in tsconfig.json - TypeScript jetzt die ES2018-Bibliothek lädt.
Gibt es eine Möglichkeit, das zu vermeiden?