paulirish/speedline

Consider separating CLI.

Closed this issue · 6 comments

It'd significantly reduce dependencies for packages that do not use it (i.e. lighthouse). Since babar, load-rejection, and meow are CLI-specific, speedline would go from 47 total dependencies to 2.

Yeah. This would be quite straightforward to do, as well.
I suppose the only question is... do we want to retain git history for cli.js?

utix commented

Hi, old task. I have started to split console client and the lib. You can mark this issue "in progress"

Job is here

I have done the job to keep the history in the speedline-cli repository.
I haven't remove the cli.js history from the speedline repo, it can be done if you want.
I have bumped version to 2.0.0 due to the major impact.

I am not sure what to do with yarn.lock 😬

Remarks are welcome to finish this split and push the big reduction of modules needed!

Nice work @utix thanks!

I have an alternative proposal to consider that would avoid a major breaking change and keep the code together. We could keep speedline the same, and just add a script that publishes the same code without the bin entry and dependencies in package.json as speedline-core.

utix commented

I can create a directory with a specific package.json to publish speedline-core using standard tools. This will avoid a script.

utix commented

@patrickhulce I have submitted the PR to deal with a core module directly from the same repository using a specific directory with a dedicated package.json