-
-
Notifications
You must be signed in to change notification settings - Fork 298
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
Move to ESM, update dependencies #683
Conversation
I've gone ahead and bumped the Node workflows. |
Currently three tests are marked failing (integration and config issues). Everything else appears good. |
We can target Node.js 16.
👍 |
I've bumped the minimum Node and I think migrating to |
No
👍 |
A couple of solutions for the config issue:
Additionally, I'm going to drop |
Sure. With a todo comment to move to remove the workaround when the cosmiconfig thing is resolved.
👍 |
Updated. Some caveats:
|
I've also updated RxJS, which lets us drop |
This should wait until v6 is out of beta: listr2/listr2#666 |
I've gotten rid of the external submodule and changed the integration test to initialize an empty git repo in a subfolder for testing. I've tried to make these tests as cross-platform as possible. The test command is now: xo && ava && ava test/integration.js --no-worker-threads Since the integration test needs to use Currently, one of the integration tests is failing, but that can be fixed in #682. |
Do you want to enable these rules? Other than that and the documented |
Can you open an issue so we don't forget? |
Yes |
Done. |
Nice work 👍👍 |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [np](https://github.com/sindresorhus/np) | devDependencies | major | [`^7.7.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/np/7.7.0/8.0.4) | --- ### Release Notes <details> <summary>sindresorhus/np (np)</summary> ### [`v8.0.4`](https://github.com/sindresorhus/np/releases/tag/v8.0.4) [Compare Source](sindresorhus/np@v8.0.3...v8.0.4) - Handle first time display of dependencies ([#​707](sindresorhus/np#707)) [`3f43d78`](sindresorhus/np@3f43d78) ### [`v8.0.3`](https://github.com/sindresorhus/np/releases/tag/v8.0.3) [Compare Source](sindresorhus/np@v8.0.2...v8.0.3) - Fix skipping publish step ([#​706](sindresorhus/np#706)) [`51dcc2d`](sindresorhus/np@51dcc2d) ### [`v8.0.2`](https://github.com/sindresorhus/np/releases/tag/v8.0.2) [Compare Source](sindresorhus/np@v8.0.1...v8.0.2) - Fix publish not working with Yarn [`3d448c2`](sindresorhus/np@3d448c2) - Include stack trace in errors [`12fce88`](sindresorhus/np@12fce88) ### [`v8.0.1`](https://github.com/sindresorhus/np/releases/tag/v8.0.1) [Compare Source](sindresorhus/np@v8.0.0...v8.0.1) - Fix a crash in the new dependency check [`beb7db1`](sindresorhus/np@beb7db1) ### [`v8.0.0`](https://github.com/sindresorhus/np/releases/tag/v8.0.0) [Compare Source](sindresorhus/np@v7.7.0...v8.0.0) ##### Breaking - Require Node.js 16 ([#​683](sindresorhus/np#683)) [`72879e0`](sindresorhus/np@72879e0) ##### Improvements - Add 2FA support for npm version 9 ([#​693](sindresorhus/np#693)) [`9cb4bfd`](sindresorhus/np@9cb4bfd) - Improve startup time ([#​688](sindresorhus/np#688)) [`eba203f`](sindresorhus/np@eba203f) - Improve the reliability of detecting which files will be included in the package ([#​682](sindresorhus/np#682)) [`a6ce792`](sindresorhus/np@a6ce792) - Add check for new dependencies ([#​681](sindresorhus/np#681)) [`6867fb9`](sindresorhus/np@6867fb9) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzYuODkuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/random-bunny/pulls/67 Co-authored-by: Renovate Bot <[email protected]> Co-committed-by: Renovate Bot <[email protected]>
Closes #601.
Refactors
np
into ESM format and updates dependencies, fixing breaking changes.Some notes:
xo
to minimize diffs between updatingxo
's defaults. These can be removed if desired.version.js
is now implemented as a class, with previous exports being static methods. The previous default export was a function that constructed a newVersion
instance, but that's hard to replicate with ESM.cli-implementation.js
has been removed in favor of atry
/catch
block with top-levelawait
.np
inindex.js
to set thelistr
renderer, so the index tests can use the silent renderermockery
,proxyquire
, andexeca_test_double
have been dropped in favor ofesmock
andsinon
test/_utils.js
for howexeca
is being stubbedmedia/
folderTodos:
package.json
. Are we dropping old Node versions? Places to change:package.json
readme.md
.github/workflows/main.yml
rxjs
and other Observables dependenciescosmiconfig
assuming that two.js
fixtures are ESM configs when they're actually CJSOn the topic of updating dependencies, it might be worth moving to https://github.com/listr2/listr2 as an actively-maintained version of
listr
.