-
Notifications
You must be signed in to change notification settings - Fork 4
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
maintenance: upgrade to TypeScript 5, Oclif 4, node 18+ #587
Conversation
77dae75
to
44d05d9
Compare
e9b2a42
to
5bafc68
Compare
5bafc68
to
b2d0081
Compare
feedbacks following live test:
bump preview: all good bump preview: all good bump deploy: all good bump diff : all good bump overlay: all good I'm very impressed by this new version of CLI, well done 👏 |
b2d0081
to
ca74862
Compare
23801ae
to
7dfffad
Compare
As discussed in sync, there was a bug when selecting multiple times the same file: I've fixed the code to only present files that have not yet been selected (and thus the error should not be possible anymore)
Changed the minimal version in the package.json ✅ |
@Polo2 could you take a second look and if happy approve the PR 🙏? |
7dfffad
to
f773e15
Compare
Oh oh, looks like someone missed this comment 🙈 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed, this review is not the easiest one, but by testing the CLI locally I can confirm it works perfectly on my environment (mac).
Thanks for the huge work, I don't see anything blocking during the review and I trust you, so... LGTM
.github/workflows/checks.yml
Outdated
@@ -16,7 +16,7 @@ jobs: | |||
- ubuntu-latest | |||
- macos-latest | |||
- windows-latest | |||
node_version: [ '14', '16', '18' ] | |||
node_version: [ '18', '20', '23' ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in readme we wrote in v20 minimum
The Bump.sh CLI is a node package currently distributed via NPM. This means you must have the Node v20+ interpreter installed on your computer or CI servers.
Does it mean we should remove node_version 18 here?
This is an upgrade of the package description to use a modern version of Typescript and use the latest v4 of oclif. It's basically a whole re-write from a scratch generated oclif package.
f773e15
to
cce84ae
Compare
Since the major upgrade of Oclif in bump-sh#587 we broke the releasing step of the CLI. This commit updates the release workflow aligning with the [latest suggestion from oclif](https://github.com/oclif/oclif/blob/458437e5572b496d7eaf84c33b710eaf2f514b33/templates/cli/shared/.github/workflows/onPushToMain.yml.ejs#L14)
Since the major upgrade of Oclif in bump-sh#587 we broke the releasing step of the CLI. This commit updates the release workflow aligning with the [latest suggestion from oclif](https://github.com/oclif/oclif/blob/458437e5572b496d7eaf84c33b710eaf2f514b33/templates/cli/shared/.github/workflows/onPushToMain.yml.ejs#L14)
This is a fix after the major upgrade of the CLI (in bump-sh#587) where we broke the interface of the exported core `Diff` class and made its usage as a lib more complicated. Let's align back to what it used to be, and even simplify the interface by making the constructor argument optional.
This is a fix after the major upgrade of the CLI (in bump-sh#587) where we broke the interface of the exported core `Diff` class and made its usage as a lib more complicated. Let's align back to what it used to be, and even simplify the interface by making the constructor argument optional.
This is basically a re-write from scratch using a newly generated package from Oclif v4 due to a too big of a jump from Oclif v1 to oclif v4.
I've then copied files from our CLI one by one making sure compilation (and features) work.
There are still some work to be done:(all done 🎉)Notes for the reviewer
It's a big PR, sorry for that, we can do a pair-review if you feel like it 🤗.
Also, there are a few things I had to adapt in the CLI to make this current upgrade:
I couldn't get theit works!open
node package to work (it was included in oclif's fancy-ux in v1 but isn't part of oclif anymore). This lead me to comment (and thus disable the--open
flag features of the CLI)bump preview --live
one) because the mocha test process never ends due to the command “waiting”. I tried with mocking thestdin
(as described here) but I don't think an “exit signal” character exists which I can send tostdin
to stop the running command. This lead me to comment the related test.Closes #448