Я пытаюсь реорганизовать проект Typescript в монорепозиторий с несколькими пакетами (с рабочими областями пряжи). В одном из пакетов (packages/compiler
) у меня установлена шутка и есть несколько тестов. Раньше они работали, но после рефакторинга я получаю следующее сообщение об ошибке:
Не могу найти имя "это". Вам нужно установить определения типов для
тестовый бегун? Попробуйте
npm i @types/jest
илиnpm i @types/mocha
Кажется, я не могу понять, как заставить шутку работать.
У меня jest установлен локально в пакете со всеми тестами. Но если я проверю node_modules/
после yarn install
, я смогу увидеть только каталог .bin
в packages/compiler/node_modules
, а также (ts-) jest, установленный в корне node_modules
. Я думаю, мне нужно убедиться, что jest установлен в node_modules моих пакетов (packages/compiler/node_modules
), а не в корне. Но я не могу понять, как это сделать (опция nohoist
в корневом package.json не работает).
Итак, мой вопрос: как заставить шутку работать в моем подпакете?
Корень package.json
:
{
"name": "pannenkoekjs",
"private": true,
"workspaces": [
"packages/*"
],
"devDependencies": {
"lerna": "^3.18.4"
}
}
package.json
в packages/compiler
:
{
"name": "@pannenkoekjs/compiler",
"dependencies": {
"typescript": "^3.6.2"
},
"devDependencies": {
"@types/jest": "^24.0.23",
"jest": "^24.9.0",
"ts-jest": "^24.1.0",
}
}
И jest.config.js
в packages/compiler
:
module.exports = {
preset: "ts-jest",
testEnvironment: "node",
};