fix: resolve monorepo type errors and stabilize build

This PR addresses several critical build and type-checking issues across the monorepo:

1.  **Core Package Stability**: Removed deprecated `baseUrl` from `packages/core/tsconfig.json` and converted absolute-style imports to relative paths. This allows `tsc --build` to succeed reliably.
2.  **Modern JS API Support**: Upgraded `lib` to `ES2023` in `packages/test-utils` and `packages/vscode-ide-companion` to resolve errors related to `Error.cause` and other modern JavaScript features.
3.  **SDK Type Integrity**: Fixed several `noImplicitAny` errors and resolved inheritance issues in `SdkTool` and `SdkToolInvocation` by refining generic constraints and adding necessary ESLint disable comments for complex type bypasses.
4.  **DevTools ESM Compliance**: Added missing `.js` extensions to relative imports in the DevTools client and fixed un-typed property access in log objects.
5.  **Build Graph Optimization**: Added missing project references in `test-utils` and removed redundant `paths` in `evals` to ensure correct build order and declaration resolution.

These changes collectively restore the ability to run `npm run typecheck` and `npm run build` across the entire project.

cc @google-gemini/gemini-cli-maintainers
This commit is contained in:
gemini-cli[bot]
2026-05-12 22:44:48 +00:00
parent 022e8baefc
commit 9424a3a07d
16 changed files with 87 additions and 101 deletions
@@ -10,7 +10,7 @@ import * as path from 'node:path';
import * as os from 'node:os';
import { bfsFileSearch, bfsFileSearchSync } from './bfsFileSearch.js';
import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
import { GEMINI_IGNORE_FILE_NAME } from 'src/config/constants.js';
import { GEMINI_IGNORE_FILE_NAME } from '../config/constants.js';
describe('bfsFileSearch', () => {
let testRootDir: string;
@@ -12,7 +12,7 @@ import {
truncateFastAckInput,
generateSteeringAckMessage,
} from './fastAckHelper.js';
import { LlmRole } from 'src/telemetry/llmRole.js';
import { LlmRole } from '../telemetry/llmRole.js';
describe('truncateFastAckInput', () => {
it('returns input as-is when below limit', () => {
@@ -11,7 +11,7 @@ import { getFolderStructure } from './getFolderStructure.js';
import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
import * as path from 'node:path';
import { GEMINI_DIR } from './paths.js';
import { GEMINI_IGNORE_FILE_NAME } from 'src/config/constants.js';
import { GEMINI_IGNORE_FILE_NAME } from '../config/constants.js';
describe('getFolderStructure', () => {
let testRootDir: string;
+1 -5
View File
@@ -4,11 +4,7 @@
"outDir": "dist",
"lib": ["DOM", "DOM.Iterable", "ES2023"],
"composite": true,
"types": ["node", "vitest/globals"],
"baseUrl": ".",
"paths": {
"@google/gemini-cli-core": ["./index.ts"]
}
"types": ["node", "vitest/globals"]
},
"include": ["index.ts", "src/**/*.ts", "src/**/*.json"],
"exclude": ["node_modules", "dist"]