Skip to content

refactor: Bump typescript from 5.9.3 to 6.0.2#3319

Merged
mtrezza merged 1 commit intoparse-community:alphafrom
mtrezza:refactor/typescript-6.0.2
Apr 3, 2026
Merged

refactor: Bump typescript from 5.9.3 to 6.0.2#3319
mtrezza merged 1 commit intoparse-community:alphafrom
mtrezza:refactor/typescript-6.0.2

Conversation

@mtrezza
Copy link
Copy Markdown
Member

@mtrezza mtrezza commented Apr 3, 2026

Closes #3309

Changes

  • typescript: 5.9.3 → 6.0.2 (major version bump)
  • eslint-plugin-jest: 29.15.0 → 29.15.1 (patch bump for TypeScript 6 peer dependency compatibility)
  • overrides: Added madge.typescript override ($typescript) to resolve peer dependency conflict with madge@8.0.0 which declares peerOptional: typescript@"^5.4.4"

Breaking Changes

TypeScript 6.0 includes breaking changes but none affect this project's explicit configuration. The eslint-plugin-jest co-bump resolves a peer dependency conflict with @typescript-eslint/utils.

Code Changes Required

None — drop-in replacement with co-dependency bump and npm override.

Summary by CodeRabbit

  • Chores
    • Updated development tooling: bumped TypeScript and ESLint/Jest-related packages and refreshed related transitive dependencies.
    • Added an overrides entry to align tooling with the workspace TypeScript version and ensure consistent dependency resolution.
    • Miscellaneous lockfile updates to reflect the new dependency graph and integrity values.

@parse-github-assistant
Copy link
Copy Markdown

parse-github-assistant Bot commented Apr 3, 2026

🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review.

Tip

  • Keep pull requests small. Large PRs will be rejected. Break complex features into smaller, incremental PRs.
  • Use Test Driven Development. Write failing tests before implementing functionality. Ensure tests pass.
  • Group code into logical blocks. Add a short comment before each block to explain its purpose.
  • We offer conceptual guidance. Coding is up to you. PRs must be merge-ready for human review.
  • Our review focuses on concept, not quality. PRs with code issues will be rejected. Use an AI agent.
  • Human review time is precious. Avoid review ping-pong. Inspect and test your AI-generated code.

Note

Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect.

Caution

Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 3, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: dd7725dd-592e-4102-9568-16c4d31a62c7

📥 Commits

Reviewing files that changed from the base of the PR and between 98f2e39 and ad5ab5b.

📒 Files selected for processing (2)
  • package-lock.json
  • package.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • package.json

📝 Walkthrough

Walkthrough

Bumps dev TypeScript from 5.9.3 → 6.0.2 and eslint-plugin-jest 29.15.0 → 29.15.1; adds an overrides entry for madge; refreshes package-lock.json with updated @typescript-eslint packages, nested lock entries, and adjusted peer ranges and integrity/resolved fields.

Changes

Cohort / File(s) Summary
Package manifest
package.json
Bumped typescript 5.9.3 → 6.0.2, eslint-plugin-jest 29.15.0 → 29.15.1 in devDependencies; added overrides forcing madge to use workspace TypeScript.
Lockfile
package-lock.json
Updated resolved URLs and integrity hashes; upgraded multiple @typescript-eslint/* packages (8.49.0 → 8.58.0) and their transitive deps (debug, minimatch, semver, etc.); added nested entries under node_modules/@typescript-eslint/... and node_modules/filing-cabinet/node_modules/typescript (pinning a nested TS 5.9.3).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • parse-community/parse-dashboard#3283: Also modifies eslint-plugin-jest in package.json/package-lock.json (related dependency bump).
🚥 Pre-merge checks | ✅ 5 | ❌ 2

❌ Failed checks (2 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The PR description clearly explains the changes and linked issue but does not follow the provided template structure with Issue, Approach, and Tasks sections. Consider restructuring the description to match the template with explicit Issue, Approach, and Tasks sections for consistency with repository standards.
Engage In Review Feedback ❓ Inconclusive GitHub PR review comments and discussions cannot be accessed through git history alone; only a single commit exists without follow-up amendments. Review PR #3319 directly on GitHub to verify feedback was addressed through commits or approvals demonstrating active engagement.
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The PR title correctly follows the required prefix format and accurately describes the main change of bumping TypeScript from 5.9.3 to 6.0.2.
Linked Issues check ✅ Passed The PR successfully fulfills the objective from linked issue #3309 by upgrading TypeScript from 5.9.3 to 6.0.2 and addressing peer dependency compatibility.
Out of Scope Changes check ✅ Passed All changes are directly related to the TypeScript upgrade objective; the eslint-plugin-jest bump and madge override are necessary compatibility fixes with no extraneous modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Security Check ✅ Passed Pull request contains only legitimate dependency version updates with valid integrity hashes from official npm registry and no code changes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.2.513)
package.json

2026-04-03 19:07:25,234 [MainThread ] [ERROR] Template file not found: package.json
2026-04-03 19:07:25,244 [MainThread ] [ERROR] Template file not found: package.json
2026-04-03 19:07:25,252 [MainThread ] [ERROR] Template file not found: package.json
2026-04-03 19:07:25,298 [MainThread ] [ERROR] Failed to invoke function /usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner. with package.json
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 88, in func_wrapper
result = original_func(item)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner.py", line 74, in
results = parallel_runner.run_function(lambda f: (f, self._parse_file(f)), files_to_load)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/ope

... [truncated 2547 characters] ...

ck__)
FileNotFoundError: [Errno 2] No such file or directory: 'package.json'
2026-04-03 19:07:25,342 [MainThread ] [ERROR] Exception traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/main.py", line 647, in run
self.scan_reports = runner_registry.run(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/runner_registry.py", line 177, in run
for result in parallel_runner_results:
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 118, in _run_function_multiprocess_fork
raise v.internal_exception.with_traceback(v.internal_exception.traceback)
FileNotFoundError: [Errno 2] No such file or directory: 'package.json'


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
package-lock.json (1)

14348-14361: Intentional TS split is appropriately isolated to dependency-analysis tooling.

The root typescript@6.0.2 is separated from nested typescript@5.9.3 instances in precinct, dependency-tree, and filing-cabinet. These tooling packages declare peer dependencies of ^5.4.4 (e.g., detective-typescript, detective-vue2), which do not satisfy TS 6.x, making the nested isolation necessary and correct. No action required unless these tooling libraries are upgraded to declare TS 6.x compatibility.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package-lock.json` around lines 14348 - 14361, The nested TypeScript 5.9.3
entry in package-lock.json (used by dependency packages like dependency-tree,
precinct, and filing-cabinet) is intentional to isolate tooling that lists a
peer dep of ^5.x and is compatible only with TS 5.x; do not remove or
consolidate it into the root typescript@6.0.2 unless you update those tooling
packages (detective-typescript, detective-vue2, etc.) to declare compatibility
with TS 6.x—leave the nested typescript versions as-is to preserve correct
peer-dependency resolution.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package-lock.json`:
- Around line 11000-11006: The project's declared Node engine range in
package.json conflicts with a transitive dependency (eslint-visitor-keys@5.0.1)
that requires Node ^22.13.0, creating a gap for 22.12.x; update the package.json
"engines" Node range (the "engines" key) to at least ">=22.13.0 <23.0.0" to
match the transitive requirement, or alternatively add a resolutions/overrides
entry to pin eslint-visitor-keys to a version compatible with >=22.12.0 if you
must keep 22.12.x supported—make the change and regenerate lockfile so
package-lock.json no longer misstates an unsupported range.

---

Nitpick comments:
In `@package-lock.json`:
- Around line 14348-14361: The nested TypeScript 5.9.3 entry in
package-lock.json (used by dependency packages like dependency-tree, precinct,
and filing-cabinet) is intentional to isolate tooling that lists a peer dep of
^5.x and is compatible only with TS 5.x; do not remove or consolidate it into
the root typescript@6.0.2 unless you update those tooling packages
(detective-typescript, detective-vue2, etc.) to declare compatibility with TS
6.x—leave the nested typescript versions as-is to preserve correct
peer-dependency resolution.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 972338a0-5bc7-40e5-b111-00a1cd80d44d

📥 Commits

Reviewing files that changed from the base of the PR and between afbab1b and 98f2e39.

📒 Files selected for processing (2)
  • package-lock.json
  • package.json

Comment thread package-lock.json
@mtrezza mtrezza force-pushed the refactor/typescript-6.0.2 branch from 98f2e39 to ad5ab5b Compare April 3, 2026 19:07
@mtrezza mtrezza merged commit 99f1347 into parse-community:alpha Apr 3, 2026
11 checks passed
@mtrezza mtrezza deleted the refactor/typescript-6.0.2 branch April 3, 2026 19:26
@parseplatformorg
Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 9.1.0-alpha.12

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Apr 7, 2026
@parseplatformorg
Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 9.1.0

@parseplatformorg parseplatformorg added the state:released Released as stable version label Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:released Released as stable version state:released-alpha Released as alpha version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants