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

chore(repo): use @dot/versioner for releases #1612

Merged
merged 1 commit into from
Oct 25, 2023

Conversation

shellscape
Copy link
Collaborator

@shellscape shellscape commented Oct 15, 2023

@tada5hi @lukastaegert

This PR switches out the in-house release.ts (formerly publish.js) script for https://github.com/shellscape/dot/tree/master/packages/versioner. This is the versioning and release package that I've been using both professionally and personally for a few years now. It was born from the scripts I wrote for this repo back in 2018, and has progressed from there. The release.ts script I dropped in this repo a while back was the precursor to making it a portable package. It's pretty tried and true now. (I generally dislike how semantic-release, lerna, and changesets operate fwiw, so I'd prefer to stick with this)

(I almost forgot to mention) A big win here is that it now supports the (*) scope for commits, which will make PRs that affect the entire world of plugins a lot easier to write. e.g. feat(*): bump node version means that commit applies to all plugins.

You can view an example successful workflow here: https://github.com/shellscape/dot/actions/runs/6525507863/job/17718257517

Please let me know when you both see this, and I'll merge. I just want everyone to be aware of this change before it goes in. I'll do the same for when we move the repo to https://moonrepo.dev/ (Lukas and I spoke about this in Discord, which @milesj I hope that gives moon some additional visibility)

@shellscape shellscape changed the title chore(repo): use versioner for releases chore(repo): use @dot/versioner for releases Oct 15, 2023
Copy link
Member

@lukastaegert lukastaegert left a comment

Choose a reason for hiding this comment

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

Looks good to me!

@tada5hi
Copy link
Member

tada5hi commented Oct 17, 2023

@shellscape i like the seperator for git commis by utf8 emojis (🐒💨🙊) ^^. Im also fine with suggested changes, but i think we still have the problem, that we don't construct a inter dependency tree between packages, like lerna does for example.
So if there is for example pluginA which depends on pluginB and the version of both plugins needs to be dumped. Than the version of pluginA needs to be bumped first, than the reference version of pluginA in pluginB and the version of pluginB needs to be increased.

@shellscape
Copy link
Collaborator Author

Than the version of pluginA needs to be bumped first, than the reference version of pluginA in pluginB and the version of pluginB needs to be increased.

That's by design :) Sometimes roadblocks are a good thing

@tada5hi
Copy link
Member

tada5hi commented Oct 19, 2023

Ultimately, it is your decision. I just wanted to point out, because this is a mandatory functionality in many scenarios.

@lukastaegert
Copy link
Member

I think it is fine. We have hardly any dependencies between plugins with the exception of a slight dependency between the node-resolve and commonjs plugins, and even those plugins should be compatible with older versions of the other plugin, or even when the other plugin is missing. So this is not like Babel where plugins are sometimes working in tandem.

@tada5hi
Copy link
Member

tada5hi commented Oct 25, 2023

@shellscape is something missing for this?
Have you ever tried changesets? This is also pretty cool 😋

@shellscape shellscape merged commit dcd8da5 into master Oct 25, 2023
20 checks passed
@shellscape shellscape deleted the chore/repo/use-versioner branch October 25, 2023 17:58
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