An Interest In:
Web News this Week
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
- April 20, 2024
- April 19, 2024
January 18, 2023 12:43 am GMT
Original Link: https://dev.to/laurenashpole/package-publishing-reading-resources-34dc
Package Publishing Reading & Resources
I have big plans in the works to overhaul a few projects and, to prep for that, Ive been doing a lot of reading up on different approaches to publishing JavaScript packages. These are a few resources Ive found particularly useful and informative.
- How to Publish an Updated Version of an npm Package Cloud Four - Ive used different tools to automate releases in the past but had no idea what they were doing under the hood. This article walks through creating a release and publishing to npm and Git with detailed explanations at every step. Its a great starting point since understanding the manual process makes evaluating different automated strategies a lot easier.
- Automate npm publishing with GitHub Actions, proper changelog, and release notes - I'm looking for a solution that includes independently versioned monorepos so this guide isn't a perfect fit. However, using GitHub Actions to manually trigger a release and enter the correct version bump (major, minor, patch, etc.) is a really clever approach.
- Release Workflow | Yarn - Package Manager - Yarn's release workflow for monorepos is an experimental feature so Im holding off for now but I hope it pans out. The section on deferred versioning and record keeping is especially intriguing.
- Tools! Trying to figure out which of these options would best serve my needs:
- semantic-release - My current tool of choice. semantic-release depends on commit messages that follow Angular's commit message conventions for versioning. Unfortunately, it doesn't play nice with monorepos (for more details, here's a little extra credit reading The chronicles of semantic-release and monorepos).
- Auto - Intuit - Automates releases based on pull request labels. I used this at a previous job and appreciated that it didn't require linting commit messages or any extra effort from contributors. The downside, Lerna is a must for use with monorepos.
- Release It! - This seems promising. A CLI tool that can be used in interactive or continuous integration mode. The big appeal for me is a Yarn workspaces specific plugin.
Finally, recommendations are welcome so heres my brief. I want to combine multiple packages that currently live in separate repos into a single monorepo using Yarn workspaces. Ideally, Id like to independently version the packages without adding Lerna and use GitHub Actions for CI/CD. If you have a similar setup, let me know what's worked for you.
Cover photo by Patrick Tomasso on Unsplash.
Original Link: https://dev.to/laurenashpole/package-publishing-reading-resources-34dc
Share this article:
Tweet
View Full Article
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To