shashkovdanil / clean-publish

Removing configuration files and fields in package.json before publishing to npm
https://www.npmjs.com/package/clean-publish
MIT License
311 stars 18 forks source link

Separate CLI API of the JS API #153

Open isuvorov opened 11 months ago

isuvorov commented 11 months ago

Hello everyone, thank you for such a useful package!

Have you thought about separating the CLI API (handleOptions) of the JS API (run function content)? And makes package.json exports.

I'll explain the motivation: Right now, I'm using clean-publish in my CLI tools with a call to process.spawn and passing a bunch of arguments, and in monorepos with 50+ packages, such spawn becomes a liitle stuck.

I posted a draft of my thoughts here: https://github.com/isuvorov/clean-publish/commit/16477fc951c1234d9aa1f23339c6539b22e7e68b

I've solved my task, but maybe this will also be useful for you. I can do this more neatly, write typings, add usage examples in the doc and makes PR. The only question is, do you need such functionality in principle?


Всем привет, спасибо за такой полезный пакет!

А вы не думали над тем, чтобы отделить CLI API (handleOptions) от самой реализации JS API cleanPublish (в функциии run)? И раздать его в package.json exports;

Поясню мотивацию: Сейчас я использую clean-publish в своих CLI инструментах вызова process.spawn и передаю туда с кучей аргументов, и в монорепах с 50+ пакетами такой вызов становится ощутимый.

Драфт моих мыслей выложил тут: https://github.com/isuvorov/clean-publish/commit/16477fc951c1234d9aa1f23339c6539b22e7e68b

Свою задачу я решил, но может вам тоже будет это полезно. Я могу сделать это более аккуратно, прописать тайпинги, добавить примеры использования в доку и сделать PR. Вопрос только, нужен ли вам впринципи такой функционал?

ai commented 11 months ago

Sure! Create PR.