Bump typescript to 6.0.2, ts-jest to 29.4.9, eslint to 10.1.0, typescript-eslint to 8.58.0, and eslint-plugin-import-x to 4.16.2 - #1700
Conversation
…8.0, eslint to 10.1.0 Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/d3e12f48-eef0-4bdd-b35b-2b79f79d6c46 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com>
|
Copilot bump the version of |
…0 compatibility Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/ff18e4ac-1c62-4497-af0e-afa7d1768ea7 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/ff18e4ac-1c62-4497-af0e-afa7d1768ea7 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com>
Done in 435dcfc. |
|
Testing result that I ran from vscode copilot Changes Tested: tests/ - No errors Only 13 pre-existing warnings about any types in scripts/ 69 test suites passed 27 test files passed These failures are pre-existing (verified by testing main branch) |
There was a problem hiding this comment.
Pull request overview
Modernizes the repo’s TypeScript + lint/test toolchain to support TypeScript 6.x (notably aligning ts-jest with the expanded TS peer range) and updates ESLint configuration to use the maintained eslint-plugin-import-x fork for ESLint 10 compatibility.
Changes:
- Bump TypeScript to
6.0.2across packages and upgradets-jestintests/to a TS 6–compatible version. - Upgrade
tests/lint stack to ESLint 10 and switch fromeslint-plugin-importtoeslint-plugin-import-x(+ add TS resolver). - Add explicit Node typings in
scripts/tsconfig.jsonto restorenode:*import /NodeJS.*namespace type resolution under TypeScript 6.
Reviewed changes
Copilot reviewed 6 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/package.json | Updates ESLint/TS toolchain deps (ESLint 10, import-x, ts-jest, TS 6). |
| tests/package-lock.json | Lockfile refresh for upgraded ESLint/TS dependencies and new resolver/plugin packages. |
| tests/eslint.config.mjs | Switches import plugin to eslint-plugin-import-x and updates rule prefix/config for ESLint 10. |
| scripts/tsconfig.json | Adds types: ["node"] to fix TS 6 behavior with node: imports and NodeJS namespace types. |
| scripts/package.json | Updates TypeScript + typescript-eslint versions used by repo tooling scripts. |
| scripts/package-lock.json | Lockfile refresh for the updated TS/TypeScript-ESLint versions in scripts/. |
| dashboard/package.json | Pins TypeScript to 6.0.2 for the dashboard package. |
| dashboard/package-lock.json | Lockfile refresh for the dashboard TypeScript bump. |
| dashboard/api/package.json | Pins TypeScript to 6.0.2 for the dashboard API package. |
| dashboard/api/package-lock.json | Lockfile refresh for the dashboard API TypeScript bump. |
Files not reviewed (3)
- dashboard/api/package-lock.json: Language not supported
- dashboard/package-lock.json: Language not supported
- scripts/package-lock.json: Language not supported
|
Launched dashboard locally with this change. It launched well. This PR is ready for review. |
Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/2d4e94d5-8a06-4a03-a9a8-8c7bc1c9c184 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ript-eslint to 8.58.0, and eslint-plugin-import-x to 4.16.2 (microsoft#1700) * Initial plan * Bump typescript to 6.0.2, ts-jest to 29.4.9, typescript-eslint to 8.58.0, eslint to 10.1.0 Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/d3e12f48-eef0-4bdd-b35b-2b79f79d6c46 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com> * Replace eslint-plugin-import with eslint-plugin-import-x for eslint 10 compatibility Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/ff18e4ac-1c62-4497-af0e-afa7d1768ea7 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com> * Add comment explaining suppressMissingFileEnumeratorAPIWarning option Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/ff18e4ac-1c62-4497-af0e-afa7d1768ea7 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com> * Add engines field to tests/package.json matching scripts/package.json Agent-Logs-Url: https://github.com/microsoft/GitHub-Copilot-for-Azure/sessions/2d4e94d5-8a06-4a03-a9a8-8c7bc1c9c184 Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com> * Update scripts/package.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: fanyang-mono <52458914+fanyang-mono@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Modernizes the TypeScript toolchain across the repo. Key blocker:
ts-jest <29.4.7declaredtypescript: ">=4.3 <6"as a peer dep, making TypeScript 6.x incompatible — 29.4.7 extended that range to<7.Changes
typescript→6.0.2across all packages (tests/,scripts/,dashboard/,dashboard/api/)ts-jest→^29.4.9intests/(first version with TypeScript 6.x peer dep support)eslint→^10.1.0and@eslint/js→^10.0.0intests/(already at this level inscripts/)typescript-eslint→^8.58.0intests/andscripts/eslint-plugin-importreplaced witheslint-plugin-import-x@^4.16.2intests/— the v2.x line only declares eslint ≤9 peer dependency support;eslint-plugin-import-xis the maintained fork that supports eslint 8/9/10eslint-import-resolver-typescript@^4.4.4added totests/for TypeScript module resolution with the new pluginenginesfield added totests/package.json(^20.19.0 || ^22.13.0 || >=24) matchingscripts/package.json, making the Node.js version requirement explicit for contributors and CITypeScript 6 compatibility fix
TypeScript 6 no longer auto-resolves
@types/nodefornode:protocol imports — it now requires an explicittypesdeclaration. Added toscripts/tsconfig.json:Without this, the compiler emits
TS2591on everynode:*import andTS2503onNodeJS.*namespace references.ESLint config update
tests/eslint.config.mjsupdated to import fromeslint-plugin-import-xand use theimport-x/rule prefix. Theno-unused-modulesrule includessuppressMissingFileEnumeratorAPIWarning: truesince ESLint 10 removed the FileEnumerator API that rule depends on.