Conversation
There was a problem hiding this comment.
Pull request overview
Upgrades TypeScript tooling within the monorepo (notably the language server and MCP server workspaces), updating lockfile resolutions and adjusting related TypeScript configuration.
Changes:
- Bump
typescriptto^6.0.2in@ansible/ansible-language-serverand@ansible/ansible-mcp-server, and updateyarn.lockaccordingly. - Update
@ansible/ansible-mcp-serverto@types/node ^25.5.0and addtypesentries to itstsconfig.json. - Mark a branch in the UI test helper
vscode_run_commandas uncovered (# pragma: no cover).
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
yarn.lock |
Updates resolved versions for TypeScript 6 and Node typings (incl. new TypeScript entries). |
test/ui/utils/ui_utils.py |
Adds coverage exclusion to a command-prefixing branch. |
packages/ansible-mcp-server/tsconfig.json |
Removes baseUrl, adds explicit types (node, vitest/globals). |
packages/ansible-mcp-server/package.json |
Upgrades typescript to ^6.0.2 and @types/node to ^25.5.0. |
packages/ansible-language-server/tsconfig.json |
Removes baseUrl from compiler options. |
packages/ansible-language-server/package.json |
Upgrades typescript to ^6.0.2. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "shell-quote": "^1.8.3", | ||
| "typescript": "^5.9.3", | ||
| "typescript": "^6.0.2", | ||
| "vitest": "^4.1.0", |
There was a problem hiding this comment.
PR title indicates a TypeScript v6 upgrade, but the repo root still depends on TypeScript ^5.9.3 (and root scripts use tsc -b). With only some workspaces moving to ^6.0.2, you may end up with multiple TypeScript versions in the monorepo and inconsistent compiler behavior depending on which scripts are run. Consider upgrading the root TypeScript dependency as well, or adjusting the PR title/scope to reflect that this is a partial upgrade.
| "description": "Ansible Development Tools MCP server with linting, workspace access, and expert prompts", | ||
| "devDependencies": { | ||
| "@types/node": "^24.10.2", | ||
| "@types/node": "^25.5.0", |
There was a problem hiding this comment.
@types/node is bumped to ^25.5.0 here while the repo’s development Node version is pinned to 24.14.1 (mise) and other workspaces/root still use @types/node ^24.x. This can let code typecheck against Node 25-only APIs even though the runtime target is Node 24, and it introduces inconsistent typings across the monorepo. Consider keeping @types/node on the same major as the repo’s supported Node (24.x), unless you’re also raising the Node engine/tooling versions accordingly.
| "@types/node": "^25.5.0", | |
| "@types/node": "^24.0.0", |
📝 WalkthroughWalkthroughTypeScript development dependencies upgraded across Ansible language server and MCP server packages from v5.9.3 to v6.0.2, with associated tsconfig.json adjustments including removal of baseUrl and addition of vitest/globals type references. Node types dependency also bumped to v25.5.0. A coverage pragma added to test utility file. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@packages/ansible-mcp-server/package.json`:
- Line 18: Update the project TypeScript configuration to explicitly pin
compiler options to pre-v6 behavior and avoid breaking defaults: open
tsconfig.json and set compilerOptions.target, compilerOptions.module,
compilerOptions.types (e.g., ["node"]), and compilerOptions.rootDir to values
your code expects; if you need a temporary suppression, add
compilerOptions.ignoreDeprecations: "6.0" while you fix source issues; then scan
code for strict-mode/type errors introduced by v6 (fix any incompatible
declarations, implicit any places, or changed module resolution impacts) so the
build succeeds with typescript ^6.0.2.
🪄 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: Pro
Run ID: 5b1e91ed-e85e-4850-a772-0047c47fe203
⛔ Files ignored due to path filters (1)
yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (5)
packages/ansible-language-server/package.jsonpackages/ansible-language-server/tsconfig.jsonpackages/ansible-mcp-server/package.jsonpackages/ansible-mcp-server/tsconfig.jsontest/ui/utils/ui_utils.py
💤 Files with no reviewable changes (1)
- packages/ansible-language-server/tsconfig.json
| "rimraf": "^6.1.3", | ||
| "tsx": "^4.21.0", | ||
| "typescript": "^5.9.3", | ||
| "typescript": "^6.0.2", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
What is the latest version of TypeScript as of March 2026? Does TypeScript v6.0.2 exist?
💡 Result:
The latest version of TypeScript as of March 2026 is 6.0.2, released on March 23, 2026. Yes, TypeScript v6.0.2 exists; it is the stable final release of the 6.0 series, following beta (6.0.0) and RC (6.0.1), serving as a transition to the upcoming TypeScript 7.0 (native Go-based compiler, not yet released).
Citations:
- 1: https://github.com/microsoft/TypeScript/releases/tag/v6.0.2
- 2: https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/
- 3: https://github.com/microsoft/typescript/releases
- 4: https://visualstudiomagazine.com/articles/2026/03/23/typescript-6-0-ships-as-final-javascript-based-release-clears-path-for-go-native-7-0.aspx
- 5: TypeScript 6.0 Iteration Plan microsoft/TypeScript#63085
🌐 Web query:
What are the breaking changes in TypeScript v6 compared to TypeScript v5?
💡 Result:
TypeScript 6.0 introduces several breaking changes compared to TypeScript 5.x, primarily through new compiler option defaults, deprecations (to be removed in 7.0), and behavioral changes to align with modern JavaScript practices and prepare for the native Go-based TypeScript 7.0. Key breaking changes: 1. New compiler option defaults: - strict: true (was false) - target: es2025 (was ES3) - types: [] (was ["*"] including all @types packages) - rootDir: directory of tsconfig.json (was inferred from source files) 2. Deprecations (silenceable with "ignoreDeprecations": "6.0" in tsconfig.json, but will error in 7.0): - target es5 (minimum now es2015) - baseUrl - moduleResolution: node10, classic - module: AMD, UMD, System - outFile - downlevelIteration - alwaysStrict: false - import assertions (assert {...}, now use with) - Triple-slash references/directives - using module in place of namespace 3. Behavioral changes: - Stricter type inference for this-less methods and generic function calls (esp. in JSX) - Type ordering in .d.ts may differ (use --stableTypeOrdering flag) - lib dom now includes iterable/asynciterable (drop separate dom.iterable) - Assume "use strict" everywhere - noUncheckedSideEffectImports enabled by default - CLI options conflicting with tsconfig now error Migration steps: - Explicitly set types: e.g. ["node", "react"] if needed - Set rootDir: "./src" if sources are in subdir - Update target/module/moduleResolution to modern values - Use ts5to6 codemod for baseUrl/rootDir fixes - Address strict mode issues or set strict: false explicitly - Run with ignoreDeprecations: "6.0" temporarily if needed
Citations:
- 1: https://gist.github.com/privatenumber/3d2e80da28f84ee30b77d53e1693378f
- 2: https://www.sourcetrail.com/javascript/typescript-6-0-rc-features-breaking-changes-and-how-to-prepare/
- 3: https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/
- 4: TypeScript 6.0 Iteration Plan microsoft/TypeScript#63085
- 5: 6.0 Migration Guide microsoft/TypeScript#62508
Address TypeScript v6 breaking changes in tsconfig.json and code.
TypeScript v6.0.2 has confirmed breaking changes from v5.x that may impact this codebase. The key changes are:
- Compiler defaults changed:
strict: true(was false),target: es2025(was ES3),types: [](was all@types) - Deprecations:
target: es5,baseUrl,moduleResolution: node10,module: AMD/UMD/System,outFile - Behavioral: stricter type inference, assume "use strict" everywhere
Review the project's tsconfig.json and source code to ensure compatibility. If needed, explicitly set types, rootDir, target, and module to your project's requirements, or use ignoreDeprecations: "6.0" temporarily while addressing issues (this will error in TypeScript 7.0).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/ansible-mcp-server/package.json` at line 18, Update the project
TypeScript configuration to explicitly pin compiler options to pre-v6 behavior
and avoid breaking defaults: open tsconfig.json and set compilerOptions.target,
compilerOptions.module, compilerOptions.types (e.g., ["node"]), and
compilerOptions.rootDir to values your code expects; if you need a temporary
suppression, add compilerOptions.ignoreDeprecations: "6.0" while you fix source
issues; then scan code for strict-mode/type errors introduced by v6 (fix any
incompatible declarations, implicit any places, or changed module resolution
impacts) so the build succeeds with typescript ^6.0.2.
Pull request was converted to draft
Upgrades TypeScript from v5.9.3 to v6.0.2 across the ansible-language-server and ansible-mcp-server packages, alongside necessary configuration adjustments for TypeScript v6 compatibility. Removes deprecated baseUrl compiler options and adds type declarations to match new requirements.
typescriptfrom^5.9.3to^6.0.2in bothpackages/ansible-language-server/package.jsonandpackages/ansible-mcp-server/package.json@types/nodefrom^24.10.2to^25.5.0inpackages/ansible-mcp-server/package.jsoncompilerOptions.baseUrlfrompackages/ansible-language-server/tsconfig.json(no longer supported in TypeScript v6)compilerOptions.baseUrland addedtypes: ["node", "vitest/globals"]topackages/ansible-mcp-server/tsconfig.json# pragma: no covercomment totest/ui/utils/ui_utils.pyfor test coverage configuration