Update dependency typescript to v7#2261
Conversation
Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
|
📝 WalkthroughWalkthroughUpdates the ChangesTypeScript dependency upgrade
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Line 53: Update the TypeScript dependency in package.json from ^7.0.0 to a
version below 6.1.0, matching the existing package-lock.json and
`@typescript-eslint/parser` support range; keep the manifest and lockfile versions
aligned.
- Line 53: Revert the TypeScript dependency change in package.json from ^7.0.0
and retain a TypeScript 6-compatible package for tooling, using the project’s
dependency conventions or an npm alias if needed. Ensure the resolved TypeScript
version satisfies `@typescript-eslint/parser`’s <6.1.0 requirement while
preserving access to TypeScript 6.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: cf3858cd-9fe7-452c-89c8-c98724c5f456
📒 Files selected for processing (1)
package.json
| "ts-loader": "^9.6.0", | ||
| "ts-node": "^10.9.2", | ||
| "typescript": "^5.9.3", | ||
| "typescript": "^7.0.0", |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== package.json relevant lines ==\n'
nl -ba package.json | sed -n '45,60p'
printf '\n== package-lock.json TypeScript references ==\n'
rg -n '"typescript"|typescript@|typescript' package-lock.json | sed -n '1,80p'
printf '\n== package.json lint/tooling deps ==\n'
rg -n '"`@typescript-eslint/parser`"|@"typescript-eslint/parser"|typescript-eslint|eslint' package.json
printf '\n== package-lock.json `@typescript-eslint/parser` package entry ==\n'
rg -n '"`@typescript-eslint/parser`"|typescript' package-lock.json | sed -n '1,120p'Repository: openshift/lightspeed-console
Length of output: 241
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== package.json relevant lines ==\n'
sed -n '45,60p' package.json
printf '\n== package-lock.json TypeScript references ==\n'
rg -n '"typescript"|typescript@|`@typescript-eslint/parser`' package-lock.json | sed -n '1,140p'
printf '\n== package.json lint/tooling deps ==\n'
rg -n '"`@typescript-eslint/parser`"|typescript-eslint|eslint|typescript' package.jsonRepository: openshift/lightspeed-console
Length of output: 2277
Keep TypeScript within the parser’s supported range
package-lock.json is still pinned to typescript: ^5.9.3, and @typescript-eslint/parser in the current toolchain only supports typescript <6.1.0. Bumping the manifest to ^7.0.0 will leave installs/linting on an incompatible compiler. Update the TypeScript version together with the lint toolchain, or keep it below 6.1.0.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` at line 53, Update the TypeScript dependency in package.json
from ^7.0.0 to a version below 6.1.0, matching the existing package-lock.json
and `@typescript-eslint/parser` support range; keep the manifest and lockfile
versions aligned.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== package.json ==\n'
cat -n package.json | sed -n '1,220p'
printf '\n== lockfile candidates ==\n'
git ls-files | rg '(^|/)(package-lock\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lockb|eslint.*config|tsconfig.*\.json)$' || true
printf '\n== typescript-eslint / typescript refs ==\n'
rg -n '"`@typescript-eslint/parser`"|"typescript"|typescript-eslint|parserOptions|eslint' package.json **/package.json **/pnpm-lock.yaml **/package-lock.json **/yarn.lock 2>/dev/null || trueRepository: openshift/lightspeed-console
Length of output: 5367
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Show focused manifests if present
for f in package.json pnpm-lock.yaml package-lock.json yarn.lock; do
if [[ -f "$f" ]]; then
printf '\n== %s ==\n' "$f"
case "$f" in
package.json) cat -n "$f" | sed -n '1,220p' ;;
pnpm-lock.yaml) rg -n '^ *(`@typescript-eslint/parser`|typescript@|typescript-eslint)' "$f" | sed -n '1,120p' ;;
package-lock.json) rg -n '"`@typescript-eslint/parser`"|"typescript"' "$f" | sed -n '1,120p' ;;
yarn.lock) rg -n '^(`@typescript-eslint/parser`|typescript)@' "$f" | sed -n '1,120p' ;;
esac
fi
done
printf '\n== eslint config files ==\n'
git ls-files | rg '(^|/)(eslint\.config\.[cm]?[jt]s|\.eslintrc(\.[cm]?[jt]s|\.json|\.yml|\.yaml)?)$' || trueRepository: openshift/lightspeed-console
Length of output: 5217
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== package.json ==\n'
cat -n package.json | sed -n '1,220p'
printf '\n== lockfile / config files ==\n'
git ls-files | rg '(^|/)(package-lock\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lockb|eslint\.config\.[cm]?[jt]s|\.eslintrc(\.[cm]?[jt]s|\.json|\.yml|\.yaml)?)$' || true
printf '\n== type/lint references ==\n'
rg -n '"`@typescript-eslint/parser`"|"typescript"|"eslint"' package.json pnpm-lock.yaml package-lock.json yarn.lock .eslintrc* eslint.config.* 2>/dev/null || trueRepository: openshift/lightspeed-console
Length of output: 6461
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import json, os
from pathlib import Path
p = Path('package.json')
data = json.loads(p.read_text())
for section in ('dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies'):
if section in data:
print(f'== {section} ==')
for k,v in data[section].items():
if 'typescript' in k.lower() or 'eslint' in k.lower():
print(f'{k}: {v}')
PY
printf '\n== lockfile facts ==\n'
for f in pnpm-lock.yaml package-lock.json yarn.lock; do
if [[ -f "$f" ]]; then
echo "-- $f --"
rg -n '`@typescript-eslint/parser`|typescript@|typescript-eslint' "$f" | sed -n '1,80p'
fi
done
printf '\n== eslint config references ==\n'
git ls-files | rg '(^|/)(eslint\.config\.[cm]?[jt]s|\.eslintrc(\.[cm]?[jt]s|\.json|\.yml|\.yaml)?)$' | sed -n '1,80p'Repository: openshift/lightspeed-console
Length of output: 5249
🌐 Web query:
typescript-eslint TypeScript 7 support peer dependency range 2026
💡 Result:
As of July 22, 2026, typescript-eslint does not support TypeScript 7 [1][2]. The current peer dependency range for typescript-eslint is >=4.8.4 <6.1.0 [3][2], which explicitly excludes TypeScript 7.x [2]. Because TypeScript 7.0 does not ship with a programmatic API comparable to previous versions, typescript-eslint is currently unable to interface with it [1][4]. Official guidance from the TypeScript team and the typescript-eslint project recommends maintaining a side-by-side installation if you need both TypeScript 7 for compilation and TypeScript 6 for tooling like ESLint [1][4]. To work around this, you can use npm aliases to keep TypeScript 6 installed for your development tools while using TypeScript 7 for your project: 1. Install TypeScript 6 as an alias: npm install -D typescript@npm:@typescript/typescript6@^6.0.2 2. Use your package manager's configuration to ensure typescript-eslint resolves to the TypeScript 6 peer dependency [4]. Attempts to run typescript-eslint with TypeScript 7 will result in runtime exceptions because the tool relies on internal TypeScript APIs that have changed or are not exposed in the 7.0 release [1][5]. The project team is tracking this issue but has indicated that support cannot be added until an appropriate API is available [1].
Citations:
- 1: TypeScript 7.0.2 Support typescript-eslint/typescript-eslint#12518
- 2: Dependabot: TypeScript 7.0.2 peer dependency conflict with typescript-eslint Wolren/WikiCitationExtension#25
- 3: https://typescript-eslint.io/users/dependency-versions/
- 4: https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/
- 5: feat: add warning when TS 7 is detected typescript-eslint/typescript-eslint#12529
Do not bump typescript to 7 yet. @typescript-eslint/parser in package-lock.json still requires typescript >=4.8.4 <6.1.0, so ESLint will run against an unsupported compiler. Keep TypeScript 6 available for tooling (for example via an npm alias) until typescript-eslint supports TS7.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` at line 53, Revert the TypeScript dependency change in
package.json from ^7.0.0 and retain a TypeScript 6-compatible package for
tooling, using the project’s dependency conventions or an npm alias if needed.
Ensure the resolved TypeScript version satisfies `@typescript-eslint/parser`’s
<6.1.0 requirement while preserving access to TypeScript 6.
|
Don't want to upgrade to TypeScript 7 yet |
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
^5.9.3→^7.0.0Release Notes
microsoft/TypeScript (typescript)
v7.0.2Compare Source
v6.0.3: TypeScript 6.0.3Compare Source
For release notes, check out the release announcement blog post.
Downloads are available on:
v6.0.2: TypeScript 6.0Compare Source
For release notes, check out the release announcement blog post.
Downloads are available on:
Configuration
📅 Schedule: (in timezone UTC)
* * * * *)🚦 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.
To execute skipped test pipelines write comment
/ok-to-test.Documentation
Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.