-
Notifications
You must be signed in to change notification settings - Fork 77
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
Create additional packages/workspaces within the monorepo #7122
Comments
Seems like this would be good to be in the monorepo right? Anything calcite should be in this repo ideally. |
Yeah I think Franco put the "potentially" there before he talked with @SkyeSeitz and the other maintainers. I just copied it from his list in the issue I linked. But last I heard we are on track to move the icons to the monorepo. |
Yeah the code would be moved to this repo so they would need to get set up here with permissions etc. The github pages site would need to be moved as well Edit: On the plus side it would mean they don't have to deal with the deployment side of things anymore |
I'd like to propose we create a /configs folder at root for all shared configs (typescript, jest, eslint, etc.) and a /tools folder for shared tooling (tokens-transformer) these would need to be added as additional turbo workspaces to be usable by /packages |
I like this idea but I'm not sure these kind of configurations fall into the design system. do they? |
It would just be the shared configs for the design system. Here is an example of a shared eslint config from turbo: which can be installed and extended in other packages within the monorepo: |
I started on this but ran into issues with the typescript parser. Here are some resources for when @alisonailea or I pick it back up:
|
Summary
The initial monorepo PR is installed! Once we ensure everything is running smoothly, we can start splitting out some of the code in
packages/calcite-components
into separate workspaces. Turbo has an example project where they have separate workspaces for eslint, tsconfig, and storybook. We could potentially split the demo pages into its own workspace as well.In addition to creating workspaces from existing code in the monorepo, we can start moving in packages from other repos. Here is a list copied from #6532:
@esri/calcite-components-react
@esri/eslint-plugin-calcite-components
@esri/calcite-design-tokens
@esri/calcite-components-angular
@esri/calcite-ui-icons
[Tooling] Add@esri/calcite-ui-icons
to the monorepo packages #9255Desired Outcome
Adding more Calcite packages to the repo and splitting existing functionality into encapsulated workspaces will improve maintainability and discoverability.
Resources
No response
The text was updated successfully, but these errors were encountered: