У меня есть monorepo, и я пытаюсь использовать jest для запуска тестов.Это то, что у меня есть
/
packages/
package1/
jest.config.js
jest.config.base.js
jest.config.js
, любые мои файлы конфигурации
// jest.config.base.js
module.exports = {
collectCoverage: true,
setupFiles: ['<rootDir>/jest.setup.js'],
preset: 'ts-jest',
testEnvironment: 'jsdom',
collectCoverageFrom: [
'<rootDir>/packages/**/*.ts'
],
testMatch: [
'<rootDir>/packages/**/__tests__/**/*.test.ts'
],
transform: {
'^.+\\.js?$': '<rootDir>/node_modules/babel-jest'
},
testPathIgnorePatterns: [
'/node_modules/',
],
coveragePathIgnorePatterns: [
'/node_modules/',
]
};
// jest.config.js (root dir)
const base = require('./jest.config.base');
module.exports = {
...base,
projects: [
'<rootDir>/packages/*/jest.config.js'
]
};
// jest.config.js (of a package)
const base = require('./../../jest.config.base');
module.exports = {
...base,
rootDir: '../..',
};
Запуск npm run test
из корневого каталога работает, но если я запускаю npm run test
из одного из пакетов,Я получаю
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import '@babel/polyfill';
^^^^^^^^^^^^^^^^^
SyntaxError: Unexpected string
at ScriptTransformer._transformAndBuildScript (packages/package1/node_modules/@jest/transform/build/ScriptTransformer.js:471:17)
at ScriptTransformer.transform (packages/package1/node_modules/@jest/transform/build/ScriptTransformer.js:513:25)