vadimdemedes / ronin

Toolkit for killer CLI applications
http://vdemedes.github.io/ronin
MIT License
299 stars 15 forks source link

Remove yeoman peer dependencies for framework part #15

Closed robhrt7 closed 8 years ago

robhrt7 commented 9 years ago

Ronin framework part (on which other ppl build their CLI) should not have Yeoman dependencies. Yeoman is heavy, it's another spare dependency, and it may cause conflicts with some of the plugins or older yeoman versions. Distributing my CLI, I don't want users to install Yeoman and have problems with it, especially if it is not used.

After slight investigation I see that Ronin uses Yeoman only for scaffolding that comes from generator-ronin and is packed to main ronin for ronin new command. Which means that for running an other CLI based on Ronin, we don't need Yeoman dependency at all.

I suggest separating ronin-generator and ronin core, so our CLI's will be dependant only on light core, without spare features.

For now, I will use my fork with removed peerdependencies.

robhrt7 commented 9 years ago

Please keep in mind that npm 3 will not auto-install peer dependencies either

npm WARN peerDependencies The peer dependency yo@>=1.0.0 included from ronin will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm WARN peerDependencies The peer dependency generator-ronin@^0.1.2 included from ronin will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
vadimdemedes commented 9 years ago

Thanks for suggestion, will fix.

robhrt7 commented 8 years ago

NPM 3 is already in pre-release state.

vadimdemedes commented 8 years ago

Feel free to submit a PR.