feat: start monorepo structure with veda-ui package#1898
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 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. |
# Conflicts: # app/scripts/components/common/blocks/figure.js # app/scripts/components/common/blocks/images/compare.js # app/scripts/components/common/blocks/images/index.js # app/scripts/components/common/blocks/index.test.js # app/scripts/components/common/blocks/lazy-components.js # app/scripts/components/common/bounds-fieldset.js # app/scripts/components/common/cookie-consent/cookieConsent.spec.js # app/scripts/components/common/mdx-content.js # app/scripts/components/common/meta-tags.js # app/scripts/components/common/nasa-logo-color.js # app/scripts/components/common/nasa-logo.js # app/scripts/components/common/nav-wrapper.js # app/scripts/components/common/try-render.js # app/scripts/components/sandbox/cards/index.js # app/scripts/components/sandbox/index.js # app/scripts/components/sandbox/legacy/cards/index.js # app/scripts/components/sandbox/legacy/colors/index.js # app/scripts/components/sandbox/legacy/content-blocks/index.js # app/scripts/components/sandbox/legacy/exploration-map/index.js # app/scripts/components/sandbox/legacy/exploration/timeline-analysis/external-layer-card.js # app/scripts/components/sandbox/legacy/exploration/timeline-analysis/index.js # app/scripts/components/sandbox/legacy/hug/index.js # app/scripts/components/sandbox/legacy/layer-info/index.js # app/scripts/components/sandbox/legacy/map-block/index.js # app/scripts/components/sandbox/legacy/mdx-chart/index.js # app/scripts/components/sandbox/legacy/mdx-page/index.js # app/scripts/components/sandbox/legacy/mdx-scrollytelling/index.js # app/scripts/components/sandbox/legacy/request/index.js # app/scripts/components/sandbox/legacy/table/index.js # app/scripts/components/sandbox/legacy/typography/index.js # app/scripts/components/sandbox/override/index.js # app/scripts/components/uhoh/fatal-error.js # app/scripts/components/uhoh/index.js # package.json # packages/veda-ui/src/components/common/blocks/figure.js # packages/veda-ui/src/components/common/blocks/figure.jsx # packages/veda-ui/src/components/common/blocks/images/compare.js # packages/veda-ui/src/components/common/blocks/images/compare.jsx # packages/veda-ui/src/components/common/blocks/images/index.js # packages/veda-ui/src/components/common/blocks/images/index.jsx # packages/veda-ui/src/components/common/blocks/index.test.js # packages/veda-ui/src/components/common/blocks/index.test.jsx # packages/veda-ui/src/components/common/blocks/lazy-components.js # packages/veda-ui/src/components/common/blocks/lazy-components.jsx # packages/veda-ui/src/components/common/bounds-fieldset.js # packages/veda-ui/src/components/common/bounds-fieldset.jsx # packages/veda-ui/src/components/common/cookie-consent/cookieConsent.spec.js # packages/veda-ui/src/components/common/cookie-consent/cookieConsent.spec.jsx # packages/veda-ui/src/components/common/mdx-content.js # packages/veda-ui/src/components/common/mdx-content.jsx # packages/veda-ui/src/components/common/meta-tags.js # packages/veda-ui/src/components/common/meta-tags.jsx # packages/veda-ui/src/components/common/nasa-logo-color.js # packages/veda-ui/src/components/common/nasa-logo-color.jsx # packages/veda-ui/src/components/common/nasa-logo.js # packages/veda-ui/src/components/common/nasa-logo.jsx # packages/veda-ui/src/components/common/nav-wrapper.js # packages/veda-ui/src/components/common/nav-wrapper.jsx # packages/veda-ui/src/components/common/try-render.js # packages/veda-ui/src/components/common/try-render.jsx # packages/veda-ui/src/components/exploration/components/map/share-button.tsx # packages/veda-ui/src/components/sandbox/cards/index.js # packages/veda-ui/src/components/sandbox/cards/index.jsx # packages/veda-ui/src/components/sandbox/index.js # packages/veda-ui/src/components/sandbox/index.jsx # packages/veda-ui/src/components/sandbox/legacy/cards/index.js # packages/veda-ui/src/components/sandbox/legacy/cards/index.jsx # packages/veda-ui/src/components/sandbox/legacy/colors/index.js # packages/veda-ui/src/components/sandbox/legacy/colors/index.jsx # packages/veda-ui/src/components/sandbox/legacy/content-blocks/index.js # packages/veda-ui/src/components/sandbox/legacy/content-blocks/index.jsx # packages/veda-ui/src/components/sandbox/legacy/exploration-map/index.js # packages/veda-ui/src/components/sandbox/legacy/exploration-map/index.jsx # packages/veda-ui/src/components/sandbox/legacy/exploration/timeline-analysis/external-layer-card.js # packages/veda-ui/src/components/sandbox/legacy/exploration/timeline-analysis/external-layer-card.jsx # packages/veda-ui/src/components/sandbox/legacy/exploration/timeline-analysis/index.js # packages/veda-ui/src/components/sandbox/legacy/exploration/timeline-analysis/index.jsx # packages/veda-ui/src/components/sandbox/legacy/hug/index.js # packages/veda-ui/src/components/sandbox/legacy/hug/index.jsx # packages/veda-ui/src/components/sandbox/legacy/layer-info/index.js # packages/veda-ui/src/components/sandbox/legacy/layer-info/index.jsx # packages/veda-ui/src/components/sandbox/legacy/map-block/index.js # packages/veda-ui/src/components/sandbox/legacy/map-block/index.jsx # packages/veda-ui/src/components/sandbox/legacy/mdx-chart/index.js # packages/veda-ui/src/components/sandbox/legacy/mdx-chart/index.jsx # packages/veda-ui/src/components/sandbox/legacy/mdx-page/index.js # packages/veda-ui/src/components/sandbox/legacy/mdx-page/index.jsx # packages/veda-ui/src/components/sandbox/legacy/mdx-scrollytelling/index.js # packages/veda-ui/src/components/sandbox/legacy/mdx-scrollytelling/index.jsx # packages/veda-ui/src/components/sandbox/legacy/request/index.js # packages/veda-ui/src/components/sandbox/legacy/request/index.jsx # packages/veda-ui/src/components/sandbox/legacy/table/index.js # packages/veda-ui/src/components/sandbox/legacy/table/index.jsx # packages/veda-ui/src/components/sandbox/legacy/typography/index.js # packages/veda-ui/src/components/sandbox/legacy/typography/index.jsx # packages/veda-ui/src/components/sandbox/override/index.js # packages/veda-ui/src/components/sandbox/override/index.jsx # packages/veda-ui/src/components/uhoh/fatal-error.js # packages/veda-ui/src/components/uhoh/fatal-error.jsx # packages/veda-ui/src/components/uhoh/index.js # packages/veda-ui/src/components/uhoh/index.jsx
Addresses PR feedback to include apps/* in workspaces alongside packages/* for proper monorepo setup.
|
I reopened this PR because it helps move #1871 across the finish line and improves the overall maintainability of the library. @dzole0311 I made some updates and responded to your comments. I think we should keep the scope of this PR limited to isolating the library files. This is ready for another review. |
|
@vitor sounds good. I pulled the branch locally and everything looks fine 👍 One question before we merge: should we also do a global search here and replace leftover paths like |
# Conflicts: # packages/veda-ui/src/components/exploration/atoms/center.ts # packages/veda-ui/src/components/exploration/atoms/embed.ts # packages/veda-ui/src/components/exploration/atoms/zoom.ts # packages/veda-ui/src/components/exploration/components/embed-exploration/embed-timeline.tsx # packages/veda-ui/src/components/exploration/embed-exploration.tsx
Update all app/scripts and app/graphics references to packages/veda-ui/src and packages/veda-ui/graphics across configs and documentation.
- Move exploration view components from app/scripts/ to packages/veda-ui/src/components/exploration/views/ - Fix import in container.tsx to use ExplorationAndAnalysisDefaultView directly - Remove workspaces configuration from package.json (not a full monorepo yet) - Clean up empty app/scripts directory structure All checks passing: lint, TypeScript, and tests
|
Status update:
@dzole0311 can you please have another look? |
- Document evolution from Option C to Option D (monorepo structure) - Update status to reflect PR #1898 merge - Add action items from PR #1871 discussion - Capture ifsimicoded's concerns about broader developer experience - Update implementation plan to reflect actual monorepo structure - Remove outdated /core references and verbose content
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