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: use NPM engine-strict=true
#890
Conversation
Thanks, I totally agree. Will investigate and fix. Didn't catch this, as I see don't get any warnings or errors with a clean install:
|
Try a fresh install ( |
I did, it was even a fresh clone. The output in the Action worries me a little:
I see that |
@webpro it's true that some transitive dependencies might not matter to us. We also don't care much about what Node versions our dev-dependencies support as they won't affect our consumers. But I'm not aware of any alternative to using the strict engine check to ensure we support the correct versions of Node, especially for our consumers using Yarn as they have the strict engine check enabled by default and will be prevented from installing it under Node 10. To be fair, Node 10 is end-of-life already (and even Node 12 will be EOL soon), so this isn't a HUGE priority, but it would be nice to fix. I guess either of us can see if it's easy to fix in the coming days. And once release-it drops Node 10/12 support in the next major release, we can upgrade back to all the latest dependencies. |
Turns out npm v6 (which is the default shipped with Node.js 10) didn't support Anyway, I went down the rabbit hole in #892, any chance you could give that one a spin? Are you using Yarn v1? |
@webpro yes I'm using Yarn v1. I tried that branch and it installed successfully with Yarn v1 and Node 10. |
Add NPM config engine-strict=true to prevent the
npm install
step during CI from succeeding if some dependencies aren't compatible with the Node version we are testing.It turns out there are still numerous incompatibilities with Node 10 which release-it is supposed to support, as you can see from the Node 10 CI warnings output:
By default, npm only warns on these incompatibilities, which is why we need the config option. Yarn fails on them by default, which is how I noticed release-it still lacked Node 10 support when trying to install it in my repository:
https://www.stefanjudis.com/today-i-learned/prevent-npm-install-for-not-supported-node-js-versions/#how-to-prevent-%60npm-install%60-with-an-unsupported-node.js-version
In order for CI in this PR to succeed, some dependencies will need to be downgraded.
Follow-up to #888 #886