Repository navigation
chore(deps): bump ink from 5.2.1 to 8.0.0 in /tui - #8
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [ink](https://github.com/vadimdemedes/ink) from 5.2.1 to 8.0.0. - [Release notes](https://github.com/vadimdemedes/ink/releases) - [Commits](vadimdemedes/ink@v5.2.1...v8.0.0) --- updated-dependencies: - dependency-name: ink dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
elmarhepp
left a comment
There was a problem hiding this comment.
Requesting changes: one blocking issue, see the inline comments.
The single finding holds. The lockfile shows that ink 8.0.0 and its bundled react-reconciler 0.34.0 require React 19.3 or newer, but React 18.3.1 is still what gets resolved. A clean install hits a peer conflict, and a forced install runs an unsupported combination. Also, ink 8 declares node >=22, while the TUI's engines field still allows Node 20. The PR should not be merged as is: either upgrade React and its types together with ink, or keep ink on 5.x.
Notes:
tui/package.json: The diff touches onlypackage.jsonandpackage-lock.json. The ink 8 release notes list breaking changes that can affect TUI code:minWidthandmaxWidthon<Box>only accept numbers now (percentage strings no longer work),stdin,stdoutandstderrare typed as generic Node streams (sostdout.columnsand similar TTY properties are gone from the types), anduseInputno longer receives unrecognized terminal control sequences. Check the TUI source for these uses. Run the TypeScript build ortsc, the lint step and a manual run of the TUI before merge. Add a test or a manual check for the changed rendering and input paths.tui/package.json: The CI check reports one failure, and the PR does not say which job failed or why. Before merging, identify the failing job. If it is the install step, it is most likely the React peer conflict described above. Make the CI green on the updated lockfile.
Questions:
- Which CI job failed, and what is the error message?
- Which Node version does the project and its CI or container use? Is Node 22 or newer supported?
- Does the TUI source use
minWidth/maxWidthwith percentages,stdout.columns,useStdout, oruseInputin a way that depends on control sequences? - Was the TUI run manually against ink 8, and did it build with
tsc? - Does the project plan to move to React 19.3 as well, or should this bump stay blocked until then?
Prepared with Meow (Claude), reviewed by Elmar.
| "dependencies": { | ||
| "ink": "^5.2.1", | ||
| "ink": "^8.0.0", | ||
| "react": "^18.3.1", |
There was a problem hiding this comment.
ink 8.0.0 declares react and @types/react as peer dependencies at >=19.3.0, and its bundled react-reconciler 0.34.0 requires react ^19.3.0. This PR leaves "react": "^18.3.1" in place, and the lockfile still resolves React 18.3.1. A clean npm ci should fail with a peer-dependency conflict. If the install is forced (for example with --legacy-peer-deps), the TUI runs ink 8 on React 18, which is not a supported combination. Upgrade react and @types/react to 19.3+ in the same change, after checking the TUI code against React 19, or keep ink on 5.x.
| }, | ||
| "dependencies": { | ||
| "ink": "^5.2.1", | ||
| "ink": "^8.0.0", |
There was a problem hiding this comment.
Note, not blocking: ink 8.0.0 requires Node >=22 (see the engines field in package-lock.json). The transitive dependencies chalk 6, cli-truncate 6, slice-ansi 9, ansi-styles 7 and is-in-ci 2 also require Node 20 or 22. The PR does not declare or check the Node version the project supports, and the CI matrix is not visible in the diff. If the project, a Dockerfile or CI still runs on Node 18 or 20, installation or startup breaks. Confirm the supported Node version and state it, for example in engines or .nvmrc.
|
Superseded by #10. |
Bumps ink from 5.2.1 to 8.0.0.
Release notes
Sourced from ink's releases.
... (truncated)
Commits
26d2c3f8.0.0509ea75Clear changed incremental rows before painting (#1039)91eb50aSkip unchanged prefixes during incremental rendering (#1036)935db23Switch tonode:testd08ff67Align reconciler host config with updated type definitions (#1037)f603aebRedraw the frame when the terminal loses rows (#1025)7cd7fd9AlignminWidthandmaxWidthtypes with supported values (#1033)02ae1e5Treat components sharing a focus ID as one Tab stop (#1026)c800284Keep content above the frame when rows shrink with a cursor shown (#1031)36f5624Keep text at its natural width when there is no room to wrap (#1022)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)