prettier / prettier-eslint-cli

CLI for prettier-eslint
https://npm.im/prettier-eslint-cli
MIT License
539 stars 85 forks source link

Maintainace: replace `semantic-release` with `changesets` #441

Closed JounQin closed 2 years ago

JounQin commented 2 years ago

https://github.com/prettier/prettier-eslint-cli/pull/438#issuecomment-1213598375

Using semantic-release is really a bad experience to me these days...

437

439

440

We must be very careful to draft the commit message, and we have no way to reverse.

changesets is much easier to use and to change after committing or merging, we will just focus the changesets files, rather than a single commit message carefully.

cc @kylemh @idahogurl

JounQin commented 2 years ago

@kylemh @idahogurl Shall we move forward?

I found semantic-release is bad again in the case that I want to introduce two breaking changes in one major version, it is impossible for semantic-release or we have to trick it. It is very unnatural and ridiculous.

kylemh commented 2 years ago

i vote yes since:

  1. you're flying and I don't want to get in your way.
  2. i don't care as long as we stick to mostly semantic versioning and it's easy for all of us to know how to cut releases.
idahogurl commented 2 years ago

I'm good with changing it since it is causing headaches. @JounQin I liked @kylemh suggestion of using https://intuit.github.io/auto/. Marking PRs with labels is way easier than making sure your commit message will cause a bump. I'm going to switch my extension repo's to use it.

kylemh commented 2 years ago

so it sounds like, just take your pick @JounQin and fire away.

zimme commented 2 years ago

@kylemh @idahogurl feel free to give me your npm usernames and I can add you to the npm package as admins so you can generate new keys if that's needed for this change

kylemh commented 2 years ago

kylemh on NPM as well. I think you should add @JounQin if you haven't already, too. He's extremely involved in multiple large open source organizations.

idahogurl commented 2 years ago

Mine is idahogurl99. Agree with @kylemh about adding @JounQin

JounQin commented 2 years ago

I'm very familiar with changesets, but lack of experience of auto.

Do you really release every pull request?!

Yup! But if you don't want to do that it's up to you. The tools auto ships with can be used to fit any workflow! You can also use skip-release labels or configure auto to only release with a release label.

I can imagine headaches about forget adding tags. 😅 No way to add change later and confirm with a PR like changesets.

So I still vote for changesets.

JounQin commented 2 years ago

@idahogurl

your commit message will cause a bump. I'm going to switch my extension repo's to use it.

It's not how changesets work, changesets are based on changesets files, not commit message. We're about to control the whole release flow before we finally merge the PR created by action-bot.

JounQin commented 2 years ago

@zimme Thanks, my npm account username is jounqin.

JounQin commented 2 years ago

@zimme Do you have permissions to install changeset-bot?

zimme commented 2 years ago

I was able to install changeset-bot to this repo and prettier-eslint and you've been added to the npm packages too @JounQin.