Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 18, 2023 12:43 am GMT

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:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To