No change to logic. This checks for stale README in the unit tests
instead of by calling 'gendocs' directly.
The main goal is for GitHub CI to stop getting tripped up by
package-lock.json formatting changes. `npm install` sometimes overwrites
the package-lock file with a new format, and this breaks the
after-travis step.
Test: node_modules/.bin/ava test/docs.js
Starting in node >= 22.10.0, a commandNotFound error will have
`undefined` values for stdout/stderr, whereas in earlier versions these
values were `null`.
Fixes#1180
Dropping support for everything before node v18, which is the current
maintenance LTS and also the version in Ubuntu 24.04 LTS.
This also updates all devDependencies while trying to minimize the
required source code changes. Some devDependencies can go higher still
(ava, chalk), but this is going to require extensive refactoring.
Test: npm run test-with-coverage
Test: npm run lint
Test: npm run check-node-support
No change to official support. We will still accept patches for non-LTS
versions when it's reasonable to support them, especially for the most
recent Node release (whether that is odd-numbered or even-numbered).
This just lightens up the workload on CI because most of our users are
probably running node LTS.
There's a bug when running on node v22.10. This temporarily pins 22 to
22.9.0 to workaround the problem and keep tests passing on CI.
Mitigation for issue #1180.
No change to logic. This updates codecov/codecov-action to v4. This
version supposedly has better support for external contributors working
from repository forks.
Tested this out with PR #1168.
No change to logic. GitHub Actions recently dropped some NodeJS configurations from their service. This excludes those configs from our CI.
This also adds Node versions up through v22.
Test: npm run check-node-support
I tried this recently in 1a1a820569f0883a317944973c15cf34431dd6c2 and
then reverted in b8b1c4224d0ec7d631d26c78922c018dd5b895f5. Unfortunately
I'm still seeing spurious failures from codecov, so let's try the token
one more time.
This time I double checked the token is provided by
https://app.codecov.io/gh/shelljs/shelljs/settings. I regenerated the
token for good measure.
It looks like 1a1a820569f0883a317944973c15cf34431dd6c2 actually broke
codecov. Codecov is currently trying to diff all PRs against the commit
before that one, which leads to flagging previously-added lines of code
as needing coverage in the current PR.
Let's try removing the token and see if codecov is happy again.
Fixes#1124
No change to logic. This updates nyc (code coverage tool) to version 15,
which works around a breaking change that snuck into the latest Node LTS
versions.
Unfortunately, this version of nyc appears to break Node 8 and 9. We
need to work around this problem by skipping test coverage on those
versions.
Fixes#1130