Войти с помощью github
Форум /

При запуске тестов для модулей, использующих 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 такую кувалду предлагать не рискую; оставляю здесь как временное решение для тех, кто столкнётся с таким же багом и для привлечения внимания к существующей проблеме.