Бабел кли не может этого сделать. Это может быть близко с опцией --relative
:
babel src/*/src --out-dir ../lib --relative
Однако это не переименовывает верхний каталог; в результате вы получите структуру, подобную приведенной ниже, в исходном корневом каталоге:
|src
|---A
|-----lib
|-----------a.js
|-----src
|-----------a.js
|---B
|-----lib
|-----------b.js
|-----src
|-----------b.js
Если вам действительно нужна окончательная структура, вы можете выполнить это с помощью bash cp -R src lib; rm -rf lib/*/src
. Или с помощью rsync rsync -r --exclude='src/*/src' src lib
. Или вместо использования --relative
выше, скомпилируйте каждый пакет отдельно с помощью ls src | xargs -I{} babel src/{}/src -d lib/{}/lib
Если вы действительно хотите сделать это за один шаг, вам, вероятно, придется использовать такой инструмент, как Gulp, или напрямую написать скрипт с API babel.