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

Create additional packages/workspaces within the monorepo #7122

Open
4 of 13 tasks
benelan opened this issue Jun 3, 2023 · 8 comments
Open
4 of 13 tasks

Create additional packages/workspaces within the monorepo #7122

benelan opened this issue Jun 3, 2023 · 8 comments
Assignees
Labels
1 - assigned Issues that are assigned to a sprint and a team member. epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. estimate - 34 Issue should be converted into an epic. Requires all hands on deck. p - medium Issue is non core or affecting less that 60% of people using the library tooling Issues relating to build system fixes or improvements.

Comments

@benelan
Copy link
Member

benelan commented Jun 3, 2023

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:

Desired Outcome

Adding more Calcite packages to the repo and splitting existing functionality into encapsulated workspaces will improve maintainability and discoverability.

Resources

No response

@benelan benelan added tooling Issues relating to build system fixes or improvements. 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Jun 3, 2023
@driskull
Copy link
Member

driskull commented Jun 6, 2023

@esri/calcite-ui-icons (potentially)

Seems like this would be good to be in the monorepo right? Anything calcite should be in this repo ideally.

@benelan
Copy link
Member Author

benelan commented Jun 9, 2023

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.

@SkyeSeitz
Copy link

Thanks, @benelan. Can you remind me of the impact so so I can confirm with the Graphic Illustration team on any updates to their workflow - if any? A url change? Any impacts on maintaining this site?

@benelan
Copy link
Member Author

benelan commented Jun 9, 2023

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

@alisonailea
Copy link
Contributor

alisonailea commented Jun 26, 2023

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

@driskull
Copy link
Member

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?

@benelan
Copy link
Member Author

benelan commented Jun 28, 2023

It would just be the shared configs for the design system. Here is an example of a shared eslint config from turbo:
https://github.com/vercel/turbo/tree/main/examples/design-system/packages/eslint-config-acme

which can be installed and extended in other packages within the monorepo:
https://github.com/vercel/turbo/blob/main/examples/design-system/packages/acme-core/package.json#L23
https://github.com/vercel/turbo/blob/main/examples/design-system/packages/acme-core/.eslintrc.js#L3

@benelan
Copy link
Member Author

benelan commented Jul 7, 2023

I'd like to propose we create a /configs folder at root for all shared configs (typescript, jest, eslint, etc.)

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:

@geospatialem geospatialem added epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. p - medium Issue is non core or affecting less that 60% of people using the library estimate - 34 Issue should be converted into an epic. Requires all hands on deck. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed needs triage Planning workflow - pending design/dev review. labels Apr 30, 2024
@geospatialem geospatialem self-assigned this May 3, 2024
@geospatialem geospatialem added 1 - assigned Issues that are assigned to a sprint and a team member. and removed 0 - new New issues that need assignment. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. labels May 3, 2024
@geospatialem geospatialem added this to the 2024-12-17 - Dec Release milestone May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 - assigned Issues that are assigned to a sprint and a team member. epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. estimate - 34 Issue should be converted into an epic. Requires all hands on deck. p - medium Issue is non core or affecting less that 60% of people using the library tooling Issues relating to build system fixes or improvements.
Projects
None yet
Development

No branches or pull requests

5 participants