npm-check-updates icon indicating copy to clipboard operation
npm-check-updates copied to clipboard

Bisect mode for failed dependency updates (like in pnpm-update-bisect)

Open lestephane opened this issue 1 year ago • 0 comments

  • [x] I have searched for similar issues
  • [x] I am using the latest version of npm-check-updates
  • [x] I am using node >= 14.14

Steps to Reproduce

.ncurc: N/A (I have none)

reproduction

$ ncu
Checking scrubbed/package.json
[====================] 19/19 100%

 aws-cdk-lib  2.23.0  →  2.55.1

Run ncu -u to upgrade package.json

$ ncu -u --doctor aws-cdk-lib
Running tests before upgrading
...
Ran all test suites.

Upgrading all dependencies and re-running tests
...
Ran all test suites.

Tests failed

Now I have a massive version range to run npm test on in a bisecting fashion to determine which version of the dependency introduced the problem.

$ npm view aws-cdk-lib versions
[
  ...,
  '2.23.0',         '2.24.0',         '2.24.1',         '2.25.0',
  '2.26.0',         '2.27.0',         '2.28.0',         '2.28.1',
  '2.29.0',         '2.29.1',         '2.30.0',         '2.31.0',
  '2.31.1',         '2.31.2',         '2.32.0',         '2.32.1',
  '2.33.0',         '2.34.0',         '2.34.1',         '2.34.2',
  '2.35.0',         '2.36.0',         '2.37.0',         '2.37.1',
  '2.38.0',         '2.38.1',         '2.39.0',         '2.39.1',
  '2.40.0',         '2.41.0',         '2.42.0',         '2.42.1',
  '2.43.0',         '2.43.1',         '2.44.0',         '2.45.0',
  '2.46.0',         '2.47.0',         '2.48.0',         '2.49.0',
  '2.49.1',         '2.50.0',         '2.51.0',         '2.51.1',
  '2.52.0',         '2.52.1',         '2.53.0',         '2.54.0',
  '2.55.0',         '2.55.1'
]

This could be done by npm-check-updates. In the absence of this option, one has to look for alternatives such as this janky project at https://www.npmjs.com/package/pnpm-update-bisect that I don't trust.

Current Behavior

no upgrade takes place because my test suite fails on 2.55.1

Expected Behavior

upgrade to the highest version of aws-cdk-lib where npm test passes.

lestephane avatar Dec 21 '22 09:12 lestephane