
Description
What problem does this feature solve?
In our industry, it is common for enterprise companies to use private repositories and registries that are segmented from the public. Software that is able to be used by these companies may go through a white-listing process before being moved into the company's private repositories/registries to be used by internal developers.
This means, in order for companies such as these to reap the full benefits of great open source tooling like vue-cli, it's functionality needs to be able to execute without making calls over the network to a default public repository like github.
If a user could configure the tool to use a different remote repository system / registry (much like how npm allows you to change your registry from a public one to a private one), then vue-cli could be pointed to a company's internal repo, where the network calls that are made can talk to repos that have been whitelisted and approved for use.
This would provide the following benefits to the Vue community:
- Increase adoption of vue-cli tooling by making it more flexible (e.g. enabling configuration setting that aligns with many company's whitelisting and governance processes)
- Increase mass adoption of Vue framework by increasing adoption of vue-cli tooling
I saw an issue a bit ago that discussed addressing this by entering a flag and a clone url during a command that you are trying to run, but I'm not sure how much trouble developers will run into when trying to repeat commands they find online. If we could set this with a config setting, we could help them not have to think about where their tooling is communicating while developing within their company's network.
I'm not quite sure if https://github.com/nuxt/create-nuxt-app would run into a separate problem with remote network requests, or if this will potentially solve any remote requests made by that tooling.
Note: I do not represent the views of any company nor any lawyer.
What does the proposed API look like?
My proposal would be to make this a config change as easy as the way that npm handles it:
vue-cli config set repository <my private repo system URL>