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

CED-1724: new folder structure and publish process for v3 #1467

Merged
merged 15 commits into from
Aug 15, 2024

Conversation

nathanielwarner
Copy link
Collaborator

@nathanielwarner nathanielwarner commented Aug 7, 2024

πŸ”— Linked issue

https://energysage.atlassian.net/browse/CED-1724

❓ Type of change

  • πŸ“– Documentation (updates to the documentation or readme)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • πŸ‘Œ Enhancement (improving an existing functionality like performance)
  • ✨ New feature (a non-breaking change that adds functionality)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

πŸ“š Description

  • Removes all legacy stuff (es-design-system and es-vue-base)
    • Will be retained along with the old es-bs-base on a separate fork before merging the Vue 3 branch into main
  • Renames es-bs-base to es-ds-styles and removes JavaScript stuff from it
  • Sets up a publishing process for v3. Rather than using lerna or another solution, it's just managed through the makefile. npm publish is invoked for es-bs-base (using the alpha tag) and es-ds-components
    • Management of version numbers is therefore manual for the time being.
    • The new steps to publish is documented in the readme
  • Switch to explicit imports of PrimeVue components to enable tree shaking
  • Move the nuxt config from es-ds-docs to es-ds-components. Ditto for package json dependencies

πŸ₯Ό Testing

Manually tested publish process

🧐 Feedback Requested / Focus Areas

  • My update-docs-deps section of the makefile currently uninstalls and reinstalls es-ds-styles and es-ds-components in order to get the latest version. My attempts with using npm update were unsuccessful. Do you have any pointers here?

πŸ“ Checklist

  • I have linked an issue or discussion.
  • I have updated the documentation accordingly.
  • I have documented testing approach

Copy link
Contributor

@lgeggleston lgeggleston left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your updates to make all the 2.0 processes legacy and to the package files make sense; README updates also look good! The updated Makefile commands make sense too I think, though I have limited experience with them so curious for Tom & Eric's thoughts when they're back.
General question, though looks like it works fine, what are the benefits/considerations to moving away from Lerna or a different monorepo manager?

es-ds-docs/package.json Show resolved Hide resolved
Makefile Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
@nathanielwarner
Copy link
Collaborator Author

curious for Tom & Eric's thoughts when they're back.

Agreed! No rush in any case.

what are the benefits/considerations to moving away from Lerna or a different monorepo manager?

For the time being, I didn't mess with lerna because I didn't want to break the legacy build and publishing which does rely on lerna. And to be honest, I'm also not sure what value lerna adds compared to just having the sequence of steps in the makefile. Maybe the automatic version increment comes from there? This is definitely something for Tom and Eric to weigh in on.

I mentioned it in the big PR as well, but it seems like it'd be easier to shed the legacy stuff in this branch. The old (v2) design system could be maintained on its own branch after merging v3.

Copy link
Member

@tomleo tomleo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At a high-level my suggestion would be to keep commands like lint, test, and publish inclusive to all packages in this mono-repo.

Most of the time we'll mostly want to target newer projects, and so I'd suggest perhaps adding commands like X-next to target prime specific repos for faster linting and testing and building.

Makefile Outdated Show resolved Hide resolved
Makefile Show resolved Hide resolved
es-ds-docs/package.json Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@nathanielwarner nathanielwarner changed the title CED-1724: new publish process for v3 CED-1724: new folder structure and publish process for v3 Aug 14, 2024
@nathanielwarner nathanielwarner requested a review from tomleo August 14, 2024 21:01
Copy link
Member

@tomleo tomleo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few things inline, also couldn't find good documentation around tsconfig's in mono-repos πŸ€”, but otherwise πŸ‘

.github/workflows/ci.yml Show resolved Hide resolved
Makefile Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
es-ds-docs/package.json Show resolved Hide resolved
@nathanielwarner nathanielwarner merged commit 3ed51e8 into esds-3.0-vue3-primevue Aug 15, 2024
@nathanielwarner nathanielwarner deleted the CED-1724-new-publish branch August 15, 2024 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants