You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2021/02/09 08:32:33 UTC

[GitHub] [superset] ktmud commented on issue #13013: [SIP-58] Proposal to move superset-ui to this repo

ktmud commented on issue #13013:
URL: https://github.com/apache/superset/issues/13013#issuecomment-775763693


   Adding some historical context to make sure we made a conscious decision after considering all pros and cons:
   
   1. The initial discussion on moving packages out of the main repo: https://github.com/apache/superset/issues/5667#issuecomment-415511861
   2. My question about the developer experience on working across multiple repos: https://github.com/apache/superset/pull/8638#issuecomment-587734238
   3. A couple of historical PRs to address the pain raised from `npm link` and diverging build scripts, etc: #8638 #9326
   4. When we merge `superset-ui-plugins` to `superset-ui`: https://github.com/apache-superset/superset-ui/pull/333
   5. When we merge all core superset-ui packages: https://github.com/apache-superset/superset-ui/pull/768
   
   Note in the original proposal to move superset-ui to npm packages, we did consider keeping packages under one monorepo, but [the decision at the time](https://github.com/apache/superset/issues/5667#issuecomment-423614852) was that pros outweighs cons for separate repos.
   
   A question to be answered in this SIP: **What has changed?** The biggest arguments I can see are that after migrating to separate repos, and starting to use TypeScript, we realized:
   
   1. Maintaining diverging build configs between repos is not easy.
   2. `npm link` is often problematic, especially with TypeScript.
   3. The two PRs + waiting for npm release workflow severely hinders developer velocity and it turned out to be larger problem than we thought it to be as number of Superset contributors grow.
   4. There may be other solutions to the cons or the cons were not that important than we original thought.
   
   Ultimately, moving to either direction (monorepo vs separate rpos) is a big tradeoff. By moving to monorepo, we will immediately lose these current benefits (unless more work is spent on making sure relevant tools are properly configured ):
   
   1. PR preview Storybook via Zeit and Chromatic UI (it's more difficult to request new Github Apps under the `apache` org, which hosts all other Apache projects, than in `apache-superset`, which most Superset PMC members have direct admin access).
   2. Reduced build time from smaller codebase and not having to share the GitHub Action runner pool with other Apache projects (Can be mitigated by conditionally triggered workflows)
   3. Automatic NPM release (need to configure NPM_SECRET and the required Workflow)
   4. 100% test coverage guarantee for core packages (need to update codecov config)
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org