Учитывая, что у меня есть следующие три файла:
index. js
// @ts-check
const NODE_MAJOR_VERSION = process.versions.node.split('.')[0];
const dependency = NODE_MAJOR_VERSION < 12
? require('./legacy.js')
: require('./current.js');
dependency("hello world");
legacy. js
// @ts-check
module.exports = () => { /* some code for old node versions only */ }
current. js
// @ts-check
module.exports = () => { /* some code for newer node versions only */ }
Я хотел бы проверить свой код для обоих случаев (node < 12
и node >= 12
).
Моя идея состояла в том, чтобы иметь два файла tsconfig.json
и запустить тип проверка дважды с различными установленными версиями @types/node
. Например:
npm install `@types/node@12.0.0`
tsc -p tsconfig.old.json
npm install `@types/node@latest`
tsc -p tsconfig.json
К сожалению, я не нашел способа исключить current.js
из проверки типа, как этого требует index.js
.
Пока я пытался:
tsconfig. json
exclude: [ "current.js" ]
Тем не менее, я по-прежнему говорю, что current.js
включает ошибки типа после запуска tsc
.