shower / cli

Command line interface for Shower
Other
35 stars 6 forks source link

Option not to install CLI locally — use globally installed #42

Open mrdimidium opened 5 years ago

mrdimidium commented 5 years ago

The main volume is @shower/cli. We can add the ability to use globally installed @shower/cli from the presentation, and locally put only theme/core and the like.

Originally posted by @nikolay-govorov in https://github.com/shower/shower/issues/349#issuecomment-488782966

mrdimidium commented 5 years ago

Propose a such API: add in the command create the item «Install the CLI locally?». If we find globally installed CLI suggest false by default otherwise suggest true.

@pepelsbey, what are you think?

pepelsbey commented 5 years ago

Sounds… complicated. Maybe we shouldn’t have bundled CLI into Shower in the first place?

We can make it global only again and suggest installing CLI instead of providing npm scripts.

mrdimidium commented 5 years ago

That's possible. On the other hand, what if you still want to use the local version? How to be if the global version is not installed (for example, when the repository was tilted by another person, or to a new one)? There may also be problems with different versions of the CLI and library. For example, after changing the shower-ribbon and @shower/ribbon, a new CLI can not get the old presentation.

The locally installed CLI works perfectly simply and reliably.

mrdimidium commented 5 years ago

Fundamentally with the advent of CLI nothing has changed - before the project was gulpfile and its dependencies, and now the CLI and its dependencies.

In fact, and now you can manually remove it from package.json write about @shower/cli, and use globally installed. This will work.

mrdimidium commented 5 years ago

@pepelsbey, what are you think?

pepelsbey commented 5 years ago

I think that the whole Chromium (Puppeteer) for every Shower presentation is way too much. 84.5 Mb to download and 199 Mb on disk just to print your presentation to PDF (which you may never use) is clearly not the best thing to have.

I’m talking about defaults here, not the option to remove something later, which no one would ever use. No, seriously: let’s make Shower as light as possible and suggest installing CLI tool globally for everyone who would like to use prepare, archive, print, etc.

andriyor commented 4 years ago

I think that the best solution for reducing disk space usage would be using puppeteer-core with chrome-launcher. And if the user provides PUPPETEER_EXECUTABLE_PATH use that path, otherwise use path that provide chrome-launcher. If you agree with that, I can make PR

pepelsbey commented 4 years ago

@nikolay-govorov what do you think?

mrdimidium commented 4 years ago

I apologize for the long answer. Sounds great, let's do it!!