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

feat: ES Module #411

Merged
merged 23 commits into from
Nov 18, 2024
Merged

feat: ES Module #411

merged 23 commits into from
Nov 18, 2024

Conversation

babblebey
Copy link
Member

@babblebey babblebey commented Oct 8, 2024

This PR converts the plugin to ESM only.

Related to semantic-release/semantic-release#2133

BREAKING CHANGE: @semantic-release/exec is now a native ES Module. It has named exports for each plugin hook (verifyConditions, analyzeCommits, verifyRelease, generateNotes, prepare, publish, addChannel, success, fail)

BREAKING CHANGE: the minimum required version of semantic-release to use @semantic-release/exec is now v24.1.0; the warn logger method/function is now available to use in plugin

Other Changes Made

  • Replaced xo with prettier with default configuration; following newly established convention
  • Replaced nyc with c8 for code coverage
  • Replaced lodash with lodash-es for proper esm support

Related Issues/PR

Closes #283
Closes #406
Closes #407

Screencast

screencast-github_com-2024_10_17-20_48_14.mp4

@babblebey babblebey changed the base branch from beta to master October 8, 2024 19:51
Update the Node.js versions in the test workflow to include 20.8.1, 20, and 21. This ensures compatibility with different versions of Node.js during testing.

Also, replace the deprecated "npm ci" command with "npm clean-install" to install dependencies.

Additionally, add a step to run "npm audit signatures" to check for any security issues in the dependencies.

Finally, include a step to scan the lockfile for security issues using "lockfile-lint".
@babblebey babblebey changed the base branch from master to beta October 9, 2024 17:36
@babblebey babblebey marked this pull request as ready for review October 17, 2024 20:06
Copy link
Member

@travi travi left a comment

Choose a reason for hiding this comment

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

this is great! thanks so much for taking this step!

just a few minor details that i spotted that i think could use tweaks, but excited to get this merged :)

.github/workflows/test.yml Outdated Show resolved Hide resolved
.github/workflows/test.yml Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
package.json Show resolved Hide resolved
Copy link
Member

@gr2m gr2m left a comment

Choose a reason for hiding this comment

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

🚀

@travi
Copy link
Member

travi commented Nov 8, 2024

this seems ready to release as beta since i see that is the current target branch. how do we want to merge into the beta branch? i'm totally ok with using a normal merge if the current commits already capture the changes we want to communicate, especially the breaking changes. if the commits are not already in a state to tell that story, do we want to adjust the history of this branch before merging, or do we prefer squashing? if we squash, we will want to be careful to capture all of the breaking changes in the body of the squash commit

@babblebey
Copy link
Member Author

I'll subscribe to modifying the commit message in a Squash to capture the 2 Breaking Changes for the merge.

That way we are prime to just do a Merge Commit from beta to master later capturing just the one ESM Conversion.

This allows us treat changes merged to beta exactly how we treat changes merged to master in a Squash

@travi
Copy link
Member

travi commented Nov 15, 2024

sorry if i've been holding this back from being merged, but i think i'd prefer you take care of the squashing, @babblebey, since you are more familiar with the commits you made and can make sure that the correct breaking changes are noted in the body of the squash commit. are you comfortable taking care of that step?

@babblebey babblebey merged commit b4462db into beta Nov 18, 2024
8 checks passed
@babblebey babblebey deleted the esm branch November 18, 2024 12:48
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