-
Notifications
You must be signed in to change notification settings - Fork 12
feat: start monorepo structure with veda-ui package #1898
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
base: main
Are you sure you want to change the base?
Conversation
- Move graphics to packages/veda-ui/graphics - Update parcel config to extend from root - Update gulpfile to use new source paths but keep lib output at root - Remove package.json from library package (uses root dependencies) - Add graphics alias to tsconfig and package.json - Library build now working successfully
- Add $mock and $test aliases to tsconfig and package.json - Fix test file imports to use aliases instead of relative paths - Fix import order in test files - TypeScript check now passes - Note: stylelint errors are pre-existing, not introduced by refactor
✅ Deploy Preview for veda-ui ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
dzole0311
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good as a first pass @vgeorge 👍
| @@ -1,7 +1,11 @@ | |||
| { | |||
| "name": "@teamimpact/veda-ui", | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should check if the renaming works with publishing of the veda-ui npm package under @teamimpact scope
| "name": "veda-ui-monorepo", | ||
| "description": "VEDA UI Monorepo", | ||
| "version": "6.19.0", | ||
| "private": true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we move this package.json into packages/veda-ui and add a new top-level one for the monorepo (set to "private": true)? 🤔
My understanding is that marking the root as private would (correctly) prevent the monorepo itself from being published, but the packages could still be published once they have its own package.json.
| "$uswds": ["packages/veda-ui/src/uswds/"], | ||
| "$graphics/*": ["app/graphics/*"], | ||
| "$test/*": ["test/*"], | ||
| "$mock/*": ["mock/*"], | ||
| "$storybook": ["storybook/*"] | ||
| } | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any thoughts on whether we can keep this as a root tsconfig.base.json shared by all packages and then have one per-package tsconfig.json that extends it?
| "private": true, | ||
| "workspaces": [ | ||
| "packages/*" | ||
| ], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Include apps/*?
|
@dzole0311 thanks for the review! Given that veda-ui is entering in maintenance mode (see #1889), I'm not sure if we should keep working on this refactor as there isn't a clear need for it in v6. I would suggest we close this PR. |
Summary
This PR introduces an early experiment toward a monorepo setup. It establishes a
/packagesand/appsstructure and moves the main library code intopackages/veda-ui. The goal is to explore the migration path and gather practical feedback before any broader restructuring decisions.Contributes to:
Context
Based on my proposal on the ADR created by @AliceR. This is meant to complement it by prototyping a practical setup before committing to a full migration.
Changes
app/scripts/→packages/veda-ui/src/app/graphics/→packages/veda-ui/graphics/tsconfig,gulpfile,vite, aliases`)lib/anddist/at rootStatus
yarn buildlib,build,serve,test, andtest:e2eall workingPotential Next Steps
app/→apps/legacy-spa/storybook/→apps/storybook/mock/,test/,static/, anddocs/Feedback and suggestions are welcome on the approach and possible next steps.
cc @dzole0311 @ifsimicoded @snmln @sandrahoang686 @aboydnw