Путь компиляции Babel с подстановочными знаками, но сохранить структуру папок - PullRequest
0 голосов
/ 16 января 2019

Привет, я тестирую, как можно указать путь с подстановочными знаками для babel и вывести ту же структуру.

|src
|---A
|-----src
|-----------a.js
|---B
|-----src
|-----------b.js

Если я запускаю babel root/**/src -d lib/**/lib, он выдаст

|lib
|---**
|-----lib
|-----------a.js
|-----------b.js

Однако я хочу,

|lib
|---A
|-----lib
|-----------a.js
|---B
|-----lib
|-----------b.js

Как я могу это сделать?

1 Ответ

0 голосов
/ 17 января 2019

Бабел кли не может этого сделать. Это может быть близко с опцией --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.

...