При запуске тестов для модулей, использующих bem-import
в окружении Windows возникают ошибки типа:
> node node_modules/jest/bin/jest.js
FAIL src/blocks/App/App.test.js
● Test suite failed to run
Cannot find module './HeaderApp-Header.js' from 'App.js'
(Вроде бы что-то похожее было и при попытке подключения bem-react-components
.)
Приличного способа решения не нашёл (возможно, помогло бы использование path.posix
; мне не удалось). Для меня пока работает вот такой патч (для babel-plugin-bem-import@1.4.2
):
--- node_modules/babel-plugin-bem-import/dist/index.js.ORIG Sat Mar 10 05:43:45 2018
+++ node_modules/babel-plugin-bem-import/dist/index.js Sat Mar 10 19:23:55 2018
@@ -63,13 +63,13 @@
.map(function (bemCell) {
var localNamingOpts = levelsMap[bemCell.layer].naming || namingOptions;
var fsScheme = levelsMap[bemCell.layer].scheme || 'nested';
- var entityPath = path.resolve(bemFs(fsScheme).path(bemCell, localNamingOpts));
+ var entityPath = path.resolve(bemFs(fsScheme).path(bemCell, localNamingOpts)).replace(/\\/g,'/');
// BemFile
return {
cell: bemCell,
exist: fs.existsSync(entityPath),
// prepare path for require cause relative returns us string that we couldn't require
- path: requiredPath(path.relative(path.dirname(filename), entityPath))
+ path: requiredPath(path.relative(path.dirname(filename), entityPath)).replace(/\\/g,'/')
};
});
В качестве PR такую кувалду предлагать не рискую; оставляю здесь как временное решение для тех, кто столкнётся с таким же багом и для привлечения внимания к существующей проблеме.
Вообще очень странно мы уже решали такую проблему: https://github.com/bem/babel-plugin-bem-import/pull/32/files
А похоже версию не выпустили
@lilliputten я выпустил патч:
+ babel-plugin-bem-import@1.5.2
Попробуй переставитьnode_modules
должно полечится@Yeti-or У меня вместе с boilerplate втащился именно
@1.4.2
почему-то. Попробую попозже, отпишусь.С
@1.5.2
всё нормально работает без лазанья внутрь. Ура!