Skip to content

Conversation

@CatchMe2
Copy link
Contributor

@CatchMe2 CatchMe2 commented Sep 4, 2025

Changes

This PR updates tsconfig module for tsc config to Node20. It is a major update, because the minimum TS version is now 5.9.x.
More info about module: Node20 here -> microsoft/TypeScript#61805

Checklist

  • Apply one of following labels; major, minor, patch or skip-release
  • I've updated the documentation, or no changes were necessary
  • I've updated the tests, or no changes were necessary

Summary by CodeRabbit

  • Documentation

    • Updated Getting Started requirements to TypeScript >= 5.9 for improved compatibility with current tooling.
  • Chores

    • Switched compiler module semantics to align with Node.js 20, improving build/tooling behavior and runtime consistency.
  • Changelog

    • Added a 3.0.0 entry documenting the Node20 module setting and the TypeScript requirement update.

@coderabbitai
Copy link

coderabbitai bot commented Sep 4, 2025

Walkthrough

Updated TypeScript requirement notation and bumped the tsconfig module target from Node18 to Node20 in the dev tsconfig; added a new 3.0.0 changelog entry. No other code, exports, or logic changed.

Changes

Cohort / File(s) Change Summary
Documentation
packages/dev/tsconfig/README.md, packages/dev/tsconfig/CHANGELOG.md
README now specifies TypeScript requirement as >=5.9.0. Added a 3.0.0 changelog entry describing the module target update to Node20 and the TypeScript requirement.
Compiler configuration
packages/dev/tsconfig/configs/tsc.json
compilerOptions.module changed from Node18 to Node20. No other tsconfig fields altered.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes


📜 Recent review details

Configuration used: Repository: lokalise/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 8a830b3 and 19d7e82.

📒 Files selected for processing (1)
  • packages/dev/tsconfig/CHANGELOG.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/dev/tsconfig/CHANGELOG.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build (24.x)
  • GitHub Check: build (20.x)
  • GitHub Check: build (22.x)
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-tsconfig-module-to-node20

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@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)
packages/dev/tsconfig/configs/tsc.json (1)

5-6: Explicitly set moduleResolution to Node20 for clarity.

Avoid relying on defaults and future base.json overrides.

Apply:

   "compilerOptions": {
-        "module": "Node20"
+        "module": "Node20",
+        "moduleResolution": "Node20"
   }
📜 Review details

Configuration used: Repository: lokalise/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 119749f and cc40021.

📒 Files selected for processing (2)
  • packages/dev/tsconfig/README.md (1 hunks)
  • packages/dev/tsconfig/configs/tsc.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build (24.x)
  • GitHub Check: build (20.x)
  • GitHub Check: build (22.x)

Copy link

@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: 2

🧹 Nitpick comments (1)
packages/dev/tsconfig/CHANGELOG.md (1)

4-4: Name the exact compiler option for clarity.

Use compilerOptions.module to be explicit.

-- Updated `module` setting to `Node20` in `tsc` and `tsc-dom` configs.
+- Updated `compilerOptions.module` to `Node20` in `tsc` and `tsc-dom` configs.
📜 Review details

Configuration used: Repository: lokalise/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between cc40021 and 8a830b3.

📒 Files selected for processing (2)
  • packages/dev/tsconfig/CHANGELOG.md (1 hunks)
  • packages/dev/tsconfig/README.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/dev/tsconfig/README.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
packages/dev/tsconfig/CHANGELOG.md

5-5: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


6-6: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build (24.x)
  • GitHub Check: build (22.x)
  • GitHub Check: build (20.x)

Comment on lines 1 to 6
## [3.0.0] - 2025-09-04

### ⚠ Breaking Changes
- Updated `module` setting to `Node20` in `tsc` and `tsc-dom` configs.
- Requires **TypeScript >= 5.9.0**.
- More info on Node20 module support: [microsoft/TypeScript#61805](https://github.com/microsoft/TypeScript/issues/61805)
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Verify repo-wide alignment (TypeScript >= 5.9 and Node20 module usage).

Double-check that all tsconfig variants and docs reflect this bump and that any peerDependency on TypeScript is >= 5.9.


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Searching for old Node18 module settings..."
rg -nP --glob '!**/dist/**' --type json '"compilerOptions"\s*:\s*{[^}]*"module"\s*:\s*"Node18"' -C2 || true

echo "Confirming Node20 module settings..."
rg -nP --glob '!**/dist/**' --type json '"compilerOptions"\s*:\s*{[^}]*"module"\s*:\s*"Node20"' -C2 || true

echo "Checking TypeScript version constraints in package.json files..."
fd -t f package.json | while read -r f; do
  if jq -e '.peerDependencies.typescript // .devDependencies.typescript // .dependencies.typescript' "$f" >/dev/null 2>&1; then
    echo "$f"
    jq '.peerDependencies.typescript?, .devDependencies.typescript?, .dependencies.typescript?' "$f"
  fi
done

echo "Scanning docs for stated TS requirement (>= 5.9)..."
rg -n "TypeScript\s*[>=]*\s*5\.9" -S docs README.md packages -g '!**/dist/**' || true

Length of output: 10805


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Searching for Node18 occurrences (should be none)…"
rg -n 'Node18' -C2 || echo "✅ No Node18 references found."

echo "Searching for Node20 module setting in tsconfig files…"
rg -nP '"module"\s*:\s*"Node20"' -C2 packages/dev/tsconfig || echo "⚠ No Node20 module settings detected in tsconfig variants."

echo "Listing all module settings in tsconfig directory for manual review…"
rg -nP '"module"\s*:\s*".*"' -C1 packages/dev/tsconfig

Length of output: 1276


Bump TS peerDependency in backend-http-client and align tsconfig-dom

  • packages/app/backend-http-client/package.json still pins "typescript": "^5.8.3"; update to >=5.9.0.
  • packages/dev/tsconfig/configs/tsc.json uses "module": "Node20"; ensure the tsc-dom.json variant (if present) also sets "compilerOptions.module": "Node20" (bundler.json’s "preserve" is intended).
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

5-5: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


6-6: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

🤖 Prompt for AI Agents
In packages/dev/tsconfig/CHANGELOG.md lines 1-6: the changelog notes Node20
module support requiring TypeScript >=5.9.0; update
packages/app/backend-http-client/package.json to loosen the TypeScript
peerDependency from "^5.8.3" to ">=5.9.0" (or an appropriate semver range that
includes 5.9+), and ensure the tsc-dom variant config under
packages/dev/tsconfig/configs (create or update
packages/dev/tsconfig/configs/tsc-dom.json if present) sets
"compilerOptions.module": "Node20" to match tsc.json; keep bundler.json’s
"preserve" unchanged.

@CatchMe2 CatchMe2 merged commit 4b5cdd5 into main Sep 4, 2025
6 checks passed
@CatchMe2 CatchMe2 deleted the update-tsconfig-module-to-node20 branch September 4, 2025 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants