Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition to a monorepo #6532

Closed
jcfranco opened this issue Feb 27, 2023 · 5 comments
Closed

Transition to a monorepo #6532

jcfranco opened this issue Feb 27, 2023 · 5 comments
Assignees
Labels
4 - verified Issues that have been released and confirmed resolved. epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. research Issues that require additional research in order to resolve or make decision.

Comments

@jcfranco
Copy link
Member

jcfranco commented Feb 27, 2023

Background

Several initiatives would benefit from being a monorepo and would also allow the component environment to be updated much more easily than if dependent packages were kept separately.

Related issues

Desired Outcome

To convert this repo into a monorepo and host the following packages (subject to change):

  • React wrappers
  • Framework examples
  • Custom ESLint plugin
  • Design tokens
  • Icons (potentially)
  • Component utils (future)
  • Test utils (future)
  • Demos (future)
@jcfranco jcfranco added research Issues that require additional research in order to resolve or make decision. 0 - new New issues that need assignment. epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. needs triage Planning workflow - pending design/dev review. labels Feb 27, 2023
@jcfranco jcfranco added 2 - in development Issues that are actively being worked on. and removed 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Mar 6, 2023
@benelan
Copy link
Member

benelan commented Apr 4, 2023

Status update

Next steps

My tasks

  • Make sure CCR releases with the bumped CC version even if there are no changes to the CCR code.
    • The node-worskpace plugin is setup and should be doing this, but it uses lerna so it may not understand how turbo does things.
    • The linked-versions plugin may be a potential backup option, although I'm not sure if it works on local packages.
  • Bump the CDN version in the CC readme using the generic updater.
  • Test and internally document the workflow for updating changelog entries post-merge.
  • Modify our existing next release CI to also release CCR
  • Split out storybook into a separate package
  • Split out the demos into a separate package

@alisonailea's tasks (let me know if I missed anything)


Next steps follow up

As I expected, the node-workspace plugin isn't working, probably because we are using turbo instead of lerna. Here is the node-workspace plugin code - if turbo provides a module to graph the packages like lerna does, we may be able to modify the plugin.

The linked-versions plugin will ensure the CCR and CC versions always stay the same by picking the highest version between the two (example PR). Keeping the versions the same may be okay for the component packages since CCR is just a wrapper. But keeping all the versions the same would make it harder for users to know when to update once we add design-tokens and any other packages.

Potential options

@geospatialem
Copy link
Member

Reallocating to the upcoming May release.

@geospatialem
Copy link
Member

Once the May release is stabilized, the monorepo transition work will be installed.

benelan added a commit that referenced this issue Jun 3, 2023
**Related Issue:** #6532

## Summary

Transitions to a monorepo using Turbo Repo. The existing files are moved
to `packages/calcite-components` and `calcite-components-react` is added
to the repo. For more information see:
https://github.com/Esri/calcite-components/wiki/Monorepo
@benelan benelan added 3 - installed Issues that have been merged to master branch and are ready for final confirmation. and removed 2 - in development Issues that are actively being worked on. labels Jun 3, 2023
@github-actions github-actions bot assigned geospatialem and unassigned alisonailea and benelan Jun 3, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jun 3, 2023

Installed and assigned for verification.

@geospatialem geospatialem added 4 - verified Issues that have been released and confirmed resolved. and removed 3 - installed Issues that have been merged to master branch and are ready for final confirmation. labels Jun 26, 2023
@geospatialem
Copy link
Member

Verified in master. 🙌🏻 🏆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4 - verified Issues that have been released and confirmed resolved. epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. research Issues that require additional research in order to resolve or make decision.
Projects
None yet
Development

No branches or pull requests

4 participants