-
Notifications
You must be signed in to change notification settings - Fork 1
chore: update tsconfig module to node20 #732
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughUpdated TypeScript requirement notation and bumped the tsconfig module target from Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 📜 Recent review detailsConfiguration used: Repository: lokalise/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ 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)
✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
There was a problem hiding this 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.
📒 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)
There was a problem hiding this 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.
📒 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)
packages/dev/tsconfig/CHANGELOG.md
Outdated
| ## [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) |
There was a problem hiding this comment.
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/**' || trueLength 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/tsconfigLength 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 thetsc-dom.jsonvariant (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.
Changes
This PR updates tsconfig module for
tscconfig toNode20. 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
major,minor,patchorskip-releaseSummary by CodeRabbit
Documentation
Chores
Changelog