magic run docs при первом запуске ругается на блоки, у которых у примеров есть кастомные уровни, что таргетовый симлинк уже существует:
Error: EEXIST, symlink '/Users/tadatuta/Sites/bem-lib-builder/tmp/data/bem-components/touch-pad.examples/modal/10-modal/blocks', а при повторном собирается.
function symlink(source, targetPath) {
require('mkdirp').sync(path.dirname(targetPath));
if (require('fs').existsSync(targetPath)) return;
var relativeSourcePath = path.relative(path.dirname(targetPath), source.sourcePath);
fs.symlinkSync(relativeSourcePath, targetPath, source.isDirectory ? 'dir' : 'file');
return true;
}
то падать перестает.
Возможно это как-то связано с тем, что в enb-magic-factory в magic-helper зовется makePlatform.init(), который повторно дергает .enb/make.js и в результате заново пушатся все configure() для docs и examples.
magic run docs
при первом запуске ругается на блоки, у которых у примеров есть кастомные уровни, что таргетовый симлинк уже существует:Error: EEXIST, symlink '/Users/tadatuta/Sites/bem-lib-builder/tmp/data/bem-components/touch-pad.examples/modal/10-modal/blocks'
, а при повторном собирается.Вот здесь https://github.com/enb-bem/enb-bem-pseudo-levels/blob/master/lib/pseudo-level-builder.js#L79 вызовы
symlink()
произойдут параллельно, а не последовательно и, соответственно, проверка на существование для нескольких одинаковых симлинок случится примерно в один момент, вернет false и попробует создать новую.Если переписать https://github.com/enb-bem/enb-bem-pseudo-levels/blob/master/lib/pseudo-level-builder.js#L7-L23 на синхронный вариант типа
то падать перестает.
Возможно это как-то связано с тем, что в
enb-magic-factory
вmagic-helper
зоветсяmakePlatform.init()
, который повторно дергает.enb/make.js
и в результате заново пушатся всеconfigure()
дляdocs
иexamples
.