есть ли способ использовать файл модуля ecmascript в качестве основного файла записи для cli, экспортируемого с использованием записи bin в package.json?
я думаю, мне нужно каким-то образом предоставить --experimental-modulesфлаг, но я не могу придумать способ сделать это, не оборачивая файл mjs в файл js, а затем вызывая файл mjs через
#!/usr/bin/env node
// pseudocode
child_process.spawn(
'node',
['--experimental-modules', 'bin.mjs'],
{ stdio: 'inherit' }
)
, учитывая накладные расходы при вызове child_process.spawn, мне бы очень хотелосьчтобы иметь возможность заменить эти оболочки в моих библиотеках.
edit: пожалуйста, не нужно, чтобы мой cli был установлен как исполняемый файл с использованием npm i -g, что, afaik, делает невозможным передачу любых флагов командной строкик процессу узла (см. ответ , который я не смогу использовать)
edit2: решил, что и здесь я должен оставить ссылку на соответствующую библиотеку @ magic / cli , это мой текущий подход (я включаю файл bin.js, который child_process.spawns в файл mjs)