microsoft / BotFramework-WebChat

A highly-customizable web-based client for Azure Bot Services.
https://www.botframework.com/
MIT License
1.59k stars 1.54k forks source link

Discussion: Move Web Chat (and all of Bot Framework!) to scoped packaging #2076

Open corinagum opened 5 years ago

corinagum commented 5 years ago

Feature Request

Related to #2025

Is your feature request related to a problem? Please describe. Right now, Web Chat is not part of scoped packaging on npm, meaning that if a user wants to change to the myget registry, they must change the entire registry in order to do so.

Scoped packaging, (for an arbitrary example: @botframework/webchat), would provide the following benefits:

Describe the suggestion or request in detail

To quote my original ask on #2025,

I want to confirm with the team whether or not we want to make Web Chat a scoped package. Doing this would allow our users to point to myget for the Web Chat project without having to change the entire project registry to myget. (For example, without scoped packages, changing the registry means that react-scripts, a non-dependency of Web Chat, would also be pointing to myget).

Taking a look at the other BotBuilder projects, it looks like they are not using scope, meaning that we would be the frontier runners in trying this out.

npm scope documentation

Describe alternatives you have considered We could keep our projects as-is. However, keeping our projects non-scoped would mean a higher learning curve for users when trying to use our private registries.

Additional context

If two packages are part of the same scope, it would still be possible [to] specify different registries on a case-by-case basis:

  • We can change the registry for a specific scope; a scope can only have ONE active registry
  • If we want to install a scoped package from a different registry, we have to use npm i (package) --registry (registryURL)
mdrichardson commented 5 years ago

Not that I have much say in this, but +1 from me for doing this. I believe this issue was put in our repos because of the botbuilder-storage module, which is not ours.

cwhitten commented 5 years ago

botframework-cli beat us to it! the convention has been established: https://www.npmjs.com/package/@microsoft/botframework-cli/v/4.5.0