diff --git a/docs/examples/proxy-script.md b/docs/examples/proxy-script.md index 15afc355ea..78299001ba 100644 --- a/docs/examples/proxy-script.md +++ b/docs/examples/proxy-script.md @@ -15,10 +15,10 @@ The following is an example of a proxy script that can be used with the `GEMINI_ // Set `GEMINI_SANDBOX_PROXY_COMMAND=scripts/example-proxy.js` to run proxy alongside sandbox // Test via `curl https://example.com` inside sandbox (in shell mode or via shell tool) -import http from 'http'; -import net from 'net'; -import { URL } from 'url'; -import console from 'console'; +import http from 'node:http'; +import net from 'node:net'; +import { URL } from 'node:url'; +import console from 'node:console'; const PROXY_PORT = 8877; const ALLOWED_DOMAINS = ['example.com', 'googleapis.com']; diff --git a/esbuild.config.js b/esbuild.config.js index c716f6b72c..89f9197ef5 100644 --- a/esbuild.config.js +++ b/esbuild.config.js @@ -5,9 +5,9 @@ */ import esbuild from 'esbuild'; -import path from 'path'; -import { fileURLToPath } from 'url'; -import { createRequire } from 'module'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { createRequire } from 'node:module'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); diff --git a/eslint.config.js b/eslint.config.js index b451510834..0f072d4538 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -13,7 +13,7 @@ import importPlugin from 'eslint-plugin-import'; import vitest from '@vitest/eslint-plugin'; import globals from 'globals'; import licenseHeader from 'eslint-plugin-license-header'; -import path from 'node:path'; // Use node: prefix for built-ins +import path from 'node:path'; import url from 'node:url'; // --- ESM way to get __dirname --- @@ -175,6 +175,7 @@ export default tseslint.config( files: ['./**/*.{tsx,ts,js}'], plugins: { 'license-header': licenseHeader, + import: importPlugin, }, rules: { 'license-header/header': [ @@ -187,6 +188,7 @@ export default tseslint.config( ' */', ], ], + 'import/enforce-node-protocol-usage': ['error', 'always'], }, }, // extra settings for scripts that we run directly with node diff --git a/integration-tests/globalSetup.ts b/integration-tests/globalSetup.ts index 46894f8856..ccd26bfe62 100644 --- a/integration-tests/globalSetup.ts +++ b/integration-tests/globalSetup.ts @@ -9,10 +9,17 @@ if (process.env.NO_COLOR !== undefined) { delete process.env.NO_COLOR; } -import { mkdir, readdir, rm, readFile, writeFile, unlink } from 'fs/promises'; -import { join, dirname } from 'path'; -import { fileURLToPath } from 'url'; -import * as os from 'os'; +import { + mkdir, + readdir, + rm, + readFile, + writeFile, + unlink, +} from 'node:fs/promises'; +import { join, dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import * as os from 'node:os'; import { GEMINI_CONFIG_DIR, diff --git a/integration-tests/list_directory.test.ts b/integration-tests/list_directory.test.ts index 38416f4f2e..5e841b1750 100644 --- a/integration-tests/list_directory.test.ts +++ b/integration-tests/list_directory.test.ts @@ -6,8 +6,8 @@ import { describe, it, expect } from 'vitest'; import { TestRig, printDebugInfo, validateModelOutput } from './test-helper.js'; -import { existsSync } from 'fs'; -import { join } from 'path'; +import { existsSync } from 'node:fs'; +import { join } from 'node:path'; describe('list_directory', () => { it('should be able to list a directory', async () => { diff --git a/integration-tests/mcp_server_cyclic_schema.test.ts b/integration-tests/mcp_server_cyclic_schema.test.ts index 7136287cb2..e85d2877d4 100644 --- a/integration-tests/mcp_server_cyclic_schema.test.ts +++ b/integration-tests/mcp_server_cyclic_schema.test.ts @@ -11,8 +11,8 @@ import { describe, it, beforeAll, expect } from 'vitest'; import { TestRig } from './test-helper.js'; -import { join } from 'path'; -import { writeFileSync } from 'fs'; +import { join } from 'node:path'; +import { writeFileSync } from 'node:fs'; // Create a minimal MCP server that doesn't require external dependencies // This implements the MCP protocol directly using Node.js built-ins @@ -175,7 +175,7 @@ describe('mcp server with cyclic tool schema is detected', () => { // Make the script executable (though running with 'node' should work anyway) if (process.platform !== 'win32') { - const { chmodSync } = await import('fs'); + const { chmodSync } = await import('node:fs'); chmodSync(testServerPath, 0o755); } }); diff --git a/integration-tests/shell-service.test.ts b/integration-tests/shell-service.test.ts index 5cac4f7e8f..afa9c65d64 100644 --- a/integration-tests/shell-service.test.ts +++ b/integration-tests/shell-service.test.ts @@ -6,8 +6,8 @@ import { describe, it, expect, beforeAll } from 'vitest'; import { ShellExecutionService } from '../packages/core/src/services/shellExecutionService.js'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { vi } from 'vitest'; describe('ShellExecutionService programmatic integration tests', () => { diff --git a/integration-tests/simple-mcp-server.test.ts b/integration-tests/simple-mcp-server.test.ts index b57502cf7d..c7af1d431b 100644 --- a/integration-tests/simple-mcp-server.test.ts +++ b/integration-tests/simple-mcp-server.test.ts @@ -12,8 +12,8 @@ import { describe, it, beforeAll, expect } from 'vitest'; import { TestRig, validateModelOutput } from './test-helper.js'; -import { join } from 'path'; -import { writeFileSync } from 'fs'; +import { join } from 'node:path'; +import { writeFileSync } from 'node:fs'; // Create a minimal MCP server that doesn't require external dependencies // This implements the MCP protocol directly using Node.js built-ins @@ -186,7 +186,7 @@ describe('simple-mcp-server', () => { // Make the script executable (though running with 'node' should work anyway) if (process.platform !== 'win32') { - const { chmodSync } = await import('fs'); + const { chmodSync } = await import('node:fs'); chmodSync(testServerPath, 0o755); } }); diff --git a/integration-tests/test-helper.ts b/integration-tests/test-helper.ts index 760eff7393..ceb7c1633e 100644 --- a/integration-tests/test-helper.ts +++ b/integration-tests/test-helper.ts @@ -4,13 +4,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { execSync, spawn } from 'child_process'; +import { execSync, spawn } from 'node:child_process'; import { parse } from 'shell-quote'; -import { mkdirSync, writeFileSync, readFileSync } from 'fs'; -import { join, dirname } from 'path'; -import { fileURLToPath } from 'url'; -import { env } from 'process'; -import fs from 'fs'; +import { mkdirSync, writeFileSync, readFileSync } from 'node:fs'; +import { join, dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { env } from 'node:process'; +import fs from 'node:fs'; const __dirname = dirname(fileURLToPath(import.meta.url)); diff --git a/packages/cli/src/config/config.integration.test.ts b/packages/cli/src/config/config.integration.test.ts index 0c0aef198d..260b671670 100644 --- a/packages/cli/src/config/config.integration.test.ts +++ b/packages/cli/src/config/config.integration.test.ts @@ -5,9 +5,9 @@ */ import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest'; -import * as fs from 'fs'; -import * as path from 'path'; -import { tmpdir } from 'os'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { tmpdir } from 'node:os'; import { Config, ConfigParameters, diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index b3941b9c98..5eb0b3550e 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -5,8 +5,8 @@ */ import { describe, it, expect, vi, beforeEach, afterEach, Mock } from 'vitest'; -import * as os from 'os'; -import * as path from 'path'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { ShellTool, EditTool, WriteFileTool } from '@google/gemini-cli-core'; import { loadCliConfig, parseArguments, CliArgs } from './config.js'; import { Settings } from './settings.js'; @@ -20,7 +20,7 @@ vi.mock('./trustedFolders.js', () => ({ vi.mock('fs', async (importOriginal) => { const actualFs = await importOriginal(); - const pathMod = await import('path'); + const pathMod = await import('node:path'); const mockHome = '/mock/home/user'; const MOCK_CWD1 = process.cwd(); const MOCK_CWD2 = pathMod.resolve(pathMod.sep, 'home', 'user', 'project'); diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 759252edfc..c797572525 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import { homedir } from 'node:os'; import yargs from 'yargs/yargs'; import { hideBin } from 'yargs/helpers'; diff --git a/packages/cli/src/config/extension.test.ts b/packages/cli/src/config/extension.test.ts index dbe1fd2ede..07c6096ac9 100644 --- a/packages/cli/src/config/extension.test.ts +++ b/packages/cli/src/config/extension.test.ts @@ -5,9 +5,9 @@ */ import { vi } from 'vitest'; -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { EXTENSIONS_CONFIG_FILENAME, INSTALL_METADATA_FILENAME, @@ -17,7 +17,7 @@ import { uninstallExtension, updateExtension, } from './extension.js'; -import { execSync } from 'child_process'; +import { execSync } from 'node:child_process'; import { SimpleGit, simpleGit } from 'simple-git'; vi.mock('simple-git', () => ({ diff --git a/packages/cli/src/config/extension.ts b/packages/cli/src/config/extension.ts index c6f9ece315..6463da68f4 100644 --- a/packages/cli/src/config/extension.ts +++ b/packages/cli/src/config/extension.ts @@ -9,9 +9,9 @@ import { GeminiCLIExtension, Storage, } from '@google/gemini-cli-core'; -import * as fs from 'fs'; -import * as path from 'path'; -import * as os from 'os'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import * as os from 'node:os'; import { simpleGit } from 'simple-git'; export const EXTENSIONS_DIRECTORY_NAME = '.gemini/extensions'; diff --git a/packages/cli/src/config/settings.test.ts b/packages/cli/src/config/settings.test.ts index a062b43b12..bff7f48738 100644 --- a/packages/cli/src/config/settings.test.ts +++ b/packages/cli/src/config/settings.test.ts @@ -7,7 +7,7 @@ /// // Mock 'os' first. -import * as osActual from 'os'; // Import for type info for the mock factory +import * as osActual from 'node:os'; // Import for type info for the mock factory vi.mock('os', async (importOriginal) => { const actualOs = await importOriginal(); return { @@ -33,7 +33,7 @@ vi.mock('./trustedFolders.js', () => ({ })); // NOW import everything else, including the (now effectively re-exported) settings.js -import * as pathActual from 'path'; // Restored for MOCK_WORKSPACE_SETTINGS_PATH +import * as pathActual from 'node:path'; // Restored for MOCK_WORKSPACE_SETTINGS_PATH import { describe, it, @@ -44,7 +44,7 @@ import { type Mocked, type Mock, } from 'vitest'; -import * as fs from 'fs'; // fs will be mocked separately +import * as fs from 'node:fs'; // fs will be mocked separately import stripJsonComments from 'strip-json-comments'; // Will be mocked separately import { isWorkspaceTrusted } from './trustedFolders.js'; diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index 81aac94e6e..6fbd68206e 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import * as path from 'path'; -import { homedir, platform } from 'os'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { homedir, platform } from 'node:os'; import * as dotenv from 'dotenv'; import { GEMINI_CONFIG_DIR as GEMINI_DIR, diff --git a/packages/cli/src/config/trustedFolders.test.ts b/packages/cli/src/config/trustedFolders.test.ts index 5f613e632a..5d6a4d70f8 100644 --- a/packages/cli/src/config/trustedFolders.test.ts +++ b/packages/cli/src/config/trustedFolders.test.ts @@ -5,7 +5,7 @@ */ // Mock 'os' first. -import * as osActual from 'os'; +import * as osActual from 'node:os'; vi.mock('os', async (importOriginal) => { const actualOs = await importOriginal(); return { @@ -25,9 +25,9 @@ import { type Mocked, type Mock, } from 'vitest'; -import * as fs from 'fs'; +import * as fs from 'node:fs'; import stripJsonComments from 'strip-json-comments'; -import * as path from 'path'; +import * as path from 'node:path'; import { loadTrustedFolders, diff --git a/packages/cli/src/config/trustedFolders.ts b/packages/cli/src/config/trustedFolders.ts index 876c2eb31a..24150206a3 100644 --- a/packages/cli/src/config/trustedFolders.ts +++ b/packages/cli/src/config/trustedFolders.ts @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import * as path from 'path'; -import { homedir } from 'os'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { homedir } from 'node:os'; import { getErrorMessage, isWithinRoot } from '@google/gemini-cli-core'; import { Settings } from './settings.js'; import stripJsonComments from 'strip-json-comments'; diff --git a/packages/cli/src/services/FileCommandLoader.ts b/packages/cli/src/services/FileCommandLoader.ts index a405655a10..67d489bf6f 100644 --- a/packages/cli/src/services/FileCommandLoader.ts +++ b/packages/cli/src/services/FileCommandLoader.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { promises as fs } from 'fs'; -import path from 'path'; +import { promises as fs } from 'node:fs'; +import path from 'node:path'; import toml from '@iarna/toml'; import { glob } from 'glob'; import { z } from 'zod'; diff --git a/packages/cli/src/services/prompt-processors/shellProcessor.test.ts b/packages/cli/src/services/prompt-processors/shellProcessor.test.ts index 3f51e858d3..738168a777 100644 --- a/packages/cli/src/services/prompt-processors/shellProcessor.test.ts +++ b/packages/cli/src/services/prompt-processors/shellProcessor.test.ts @@ -9,7 +9,7 @@ import { ConfirmationRequiredError, ShellProcessor } from './shellProcessor.js'; import { createMockCommandContext } from '../../test-utils/mockCommandContext.js'; import { CommandContext } from '../../ui/commands/types.js'; import { ApprovalMode, Config } from '@google/gemini-cli-core'; -import os from 'os'; +import os from 'node:os'; import { quote } from 'shell-quote'; // Helper function to determine the expected escaped string based on the current OS, diff --git a/packages/cli/src/ui/App.test.tsx b/packages/cli/src/ui/App.test.tsx index 09b5751d6d..355a9d29d1 100644 --- a/packages/cli/src/ui/App.test.tsx +++ b/packages/cli/src/ui/App.test.tsx @@ -25,7 +25,7 @@ import { useConsoleMessages } from './hooks/useConsoleMessages.js'; import { StreamingState, ConsoleMessageItem } from './types.js'; import { Tips } from './components/Tips.js'; import { checkForUpdates, UpdateObject } from './utils/updateCheck.js'; -import { EventEmitter } from 'events'; +import { EventEmitter } from 'node:events'; import { updateEventEmitter } from '../utils/updateEventEmitter.js'; import * as auth from '../config/auth.js'; import * as useTerminalSize from './hooks/useTerminalSize.js'; diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx index 49fb361497..8c164447fe 100644 --- a/packages/cli/src/ui/App.tsx +++ b/packages/cli/src/ui/App.tsx @@ -84,7 +84,7 @@ import { useKeypress, Key } from './hooks/useKeypress.js'; import { KeypressProvider } from './contexts/KeypressContext.js'; import { useKittyKeyboardProtocol } from './hooks/useKittyKeyboardProtocol.js'; import { keyMatchers, Command } from './keyMatchers.js'; -import * as fs from 'fs'; +import * as fs from 'node:fs'; import { UpdateNotification } from './components/UpdateNotification.js'; import { isProQuotaExceededError, diff --git a/packages/cli/src/ui/commands/chatCommand.test.ts b/packages/cli/src/ui/commands/chatCommand.test.ts index 88808c9207..2b0c4300cf 100644 --- a/packages/cli/src/ui/commands/chatCommand.test.ts +++ b/packages/cli/src/ui/commands/chatCommand.test.ts @@ -23,9 +23,9 @@ import { createMockCommandContext } from '../../test-utils/mockCommandContext.js import { Content } from '@google/genai'; import { GeminiClient } from '@google/gemini-cli-core'; -import * as fsPromises from 'fs/promises'; +import * as fsPromises from 'node:fs/promises'; import { chatCommand } from './chatCommand.js'; -import { Stats } from 'fs'; +import { Stats } from 'node:fs'; import { HistoryItemWithoutId } from '../types.js'; vi.mock('fs/promises', () => ({ diff --git a/packages/cli/src/ui/commands/chatCommand.ts b/packages/cli/src/ui/commands/chatCommand.ts index fdd174ea88..ed8dae8db2 100644 --- a/packages/cli/src/ui/commands/chatCommand.ts +++ b/packages/cli/src/ui/commands/chatCommand.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fsPromises from 'fs/promises'; +import * as fsPromises from 'node:fs/promises'; import React from 'react'; import { Text } from 'ink'; import { Colors } from '../colors.js'; @@ -16,7 +16,7 @@ import { SlashCommandActionReturn, } from './types.js'; import { decodeTagName } from '@google/gemini-cli-core'; -import path from 'path'; +import path from 'node:path'; import { HistoryItemWithoutId, MessageType } from '../types.js'; interface ChatDetail { diff --git a/packages/cli/src/ui/commands/directoryCommand.test.tsx b/packages/cli/src/ui/commands/directoryCommand.test.tsx index fee8ae4063..8cfbe4887e 100644 --- a/packages/cli/src/ui/commands/directoryCommand.test.tsx +++ b/packages/cli/src/ui/commands/directoryCommand.test.tsx @@ -9,8 +9,8 @@ import { directoryCommand, expandHomeDir } from './directoryCommand.js'; import { Config, WorkspaceContext } from '@google/gemini-cli-core'; import { CommandContext } from './types.js'; import { MessageType } from '../types.js'; -import * as os from 'os'; -import * as path from 'path'; +import * as os from 'node:os'; +import * as path from 'node:path'; describe('directoryCommand', () => { let mockContext: CommandContext; diff --git a/packages/cli/src/ui/commands/directoryCommand.tsx b/packages/cli/src/ui/commands/directoryCommand.tsx index d3f50e4c81..5264fe6da1 100644 --- a/packages/cli/src/ui/commands/directoryCommand.tsx +++ b/packages/cli/src/ui/commands/directoryCommand.tsx @@ -6,8 +6,8 @@ import { SlashCommand, CommandContext, CommandKind } from './types.js'; import { MessageType } from '../types.js'; -import * as os from 'os'; -import * as path from 'path'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { loadServerHierarchicalMemory } from '@google/gemini-cli-core'; export function expandHomeDir(p: string): string { diff --git a/packages/cli/src/ui/commands/initCommand.test.ts b/packages/cli/src/ui/commands/initCommand.test.ts index 83cea94458..7e0254a677 100644 --- a/packages/cli/src/ui/commands/initCommand.test.ts +++ b/packages/cli/src/ui/commands/initCommand.test.ts @@ -5,8 +5,8 @@ */ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest'; -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import { initCommand } from './initCommand.js'; import { createMockCommandContext } from '../../test-utils/mockCommandContext.js'; import { type CommandContext } from './types.js'; diff --git a/packages/cli/src/ui/commands/initCommand.ts b/packages/cli/src/ui/commands/initCommand.ts index ad69d0da8f..16721f625a 100644 --- a/packages/cli/src/ui/commands/initCommand.ts +++ b/packages/cli/src/ui/commands/initCommand.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import { CommandContext, SlashCommand, diff --git a/packages/cli/src/ui/commands/restoreCommand.test.ts b/packages/cli/src/ui/commands/restoreCommand.test.ts index b9ecc139d7..a08c2cf36b 100644 --- a/packages/cli/src/ui/commands/restoreCommand.test.ts +++ b/packages/cli/src/ui/commands/restoreCommand.test.ts @@ -5,9 +5,9 @@ */ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest'; -import * as fs from 'fs/promises'; -import * as os from 'os'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { restoreCommand } from './restoreCommand.js'; import { type CommandContext } from './types.js'; import { createMockCommandContext } from '../../test-utils/mockCommandContext.js'; diff --git a/packages/cli/src/ui/commands/restoreCommand.ts b/packages/cli/src/ui/commands/restoreCommand.ts index f34cdf256d..7908dc23e4 100644 --- a/packages/cli/src/ui/commands/restoreCommand.ts +++ b/packages/cli/src/ui/commands/restoreCommand.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import path from 'path'; +import * as fs from 'node:fs/promises'; +import path from 'node:path'; import { type CommandContext, type SlashCommand, diff --git a/packages/cli/src/ui/components/FolderTrustDialog.test.tsx b/packages/cli/src/ui/components/FolderTrustDialog.test.tsx index 92aa0d58d9..362e9b3c05 100644 --- a/packages/cli/src/ui/components/FolderTrustDialog.test.tsx +++ b/packages/cli/src/ui/components/FolderTrustDialog.test.tsx @@ -8,7 +8,7 @@ import { renderWithProviders } from '../../test-utils/render.js'; import { waitFor } from '@testing-library/react'; import { vi } from 'vitest'; import { FolderTrustDialog, FolderTrustChoice } from './FolderTrustDialog.js'; -import * as process from 'process'; +import * as process from 'node:process'; vi.mock('process', async () => { const actual = await vi.importActual('process'); diff --git a/packages/cli/src/ui/components/FolderTrustDialog.tsx b/packages/cli/src/ui/components/FolderTrustDialog.tsx index 88aea32c07..ab141aab3d 100644 --- a/packages/cli/src/ui/components/FolderTrustDialog.tsx +++ b/packages/cli/src/ui/components/FolderTrustDialog.tsx @@ -12,7 +12,7 @@ import { RadioSelectItem, } from './shared/RadioButtonSelect.js'; import { useKeypress } from '../hooks/useKeypress.js'; -import * as process from 'process'; +import * as process from 'node:process'; export enum FolderTrustChoice { TRUST_FOLDER = 'trust_folder', diff --git a/packages/cli/src/ui/components/InputPrompt.test.tsx b/packages/cli/src/ui/components/InputPrompt.test.tsx index 608b84d068..61dc053fcd 100644 --- a/packages/cli/src/ui/components/InputPrompt.test.tsx +++ b/packages/cli/src/ui/components/InputPrompt.test.tsx @@ -9,7 +9,7 @@ import { waitFor } from '@testing-library/react'; import { InputPrompt, InputPromptProps } from './InputPrompt.js'; import type { TextBuffer } from './shared/text-buffer.js'; import { Config } from '@google/gemini-cli-core'; -import * as path from 'path'; +import * as path from 'node:path'; import { CommandContext, SlashCommand, diff --git a/packages/cli/src/ui/components/InputPrompt.tsx b/packages/cli/src/ui/components/InputPrompt.tsx index 1547e2c864..881938078e 100644 --- a/packages/cli/src/ui/components/InputPrompt.tsx +++ b/packages/cli/src/ui/components/InputPrompt.tsx @@ -25,7 +25,7 @@ import { saveClipboardImage, cleanupOldClipboardImages, } from '../utils/clipboardUtils.js'; -import * as path from 'path'; +import * as path from 'node:path'; import { SCREEN_READER_USER_PREFIX } from '../constants.js'; export interface InputPromptProps { diff --git a/packages/cli/src/ui/components/messages/DiffRenderer.test.tsx b/packages/cli/src/ui/components/messages/DiffRenderer.test.tsx index a3c745ccfe..2755b8c698 100644 --- a/packages/cli/src/ui/components/messages/DiffRenderer.test.tsx +++ b/packages/cli/src/ui/components/messages/DiffRenderer.test.tsx @@ -9,7 +9,7 @@ import { render } from 'ink-testing-library'; import { DiffRenderer } from './DiffRenderer.js'; import * as CodeColorizer from '../../utils/CodeColorizer.js'; import { vi } from 'vitest'; -import { EOL } from 'os'; +import { EOL } from 'node:os'; describe('', () => { const mockColorizeCode = vi.spyOn(CodeColorizer, 'colorizeCode'); diff --git a/packages/cli/src/ui/components/messages/DiffRenderer.tsx b/packages/cli/src/ui/components/messages/DiffRenderer.tsx index 81d6ba9564..b6f2aac3e7 100644 --- a/packages/cli/src/ui/components/messages/DiffRenderer.tsx +++ b/packages/cli/src/ui/components/messages/DiffRenderer.tsx @@ -6,9 +6,9 @@ import React from 'react'; import { Box, Text } from 'ink'; -import { EOL } from 'os'; +import { EOL } from 'node:os'; import { Colors } from '../../colors.js'; -import crypto from 'crypto'; +import crypto from 'node:crypto'; import { colorizeCode, colorizeLine } from '../../utils/CodeColorizer.js'; import { MaxSizedBox } from '../shared/MaxSizedBox.js'; import { theme } from '../../semantic-colors.js'; diff --git a/packages/cli/src/ui/components/shared/text-buffer.ts b/packages/cli/src/ui/components/shared/text-buffer.ts index 389a479948..fb1223f604 100644 --- a/packages/cli/src/ui/components/shared/text-buffer.ts +++ b/packages/cli/src/ui/components/shared/text-buffer.ts @@ -4,10 +4,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { spawnSync } from 'child_process'; -import fs from 'fs'; -import os from 'os'; -import pathMod from 'path'; +import { spawnSync } from 'node:child_process'; +import fs from 'node:fs'; +import os from 'node:os'; +import pathMod from 'node:path'; import { useState, useCallback, useEffect, useMemo, useReducer } from 'react'; import stringWidth from 'string-width'; import { unescapePath } from '@google/gemini-cli-core'; diff --git a/packages/cli/src/ui/contexts/KeypressContext.test.tsx b/packages/cli/src/ui/contexts/KeypressContext.test.tsx index 6abb918a7b..53ba98f4ce 100644 --- a/packages/cli/src/ui/contexts/KeypressContext.test.tsx +++ b/packages/cli/src/ui/contexts/KeypressContext.test.tsx @@ -13,7 +13,7 @@ import { Key, } from './KeypressContext.js'; import { useStdin } from 'ink'; -import { EventEmitter } from 'events'; +import { EventEmitter } from 'node:events'; import { KITTY_KEYCODE_ENTER, KITTY_KEYCODE_NUMPAD_ENTER, diff --git a/packages/cli/src/ui/contexts/KeypressContext.tsx b/packages/cli/src/ui/contexts/KeypressContext.tsx index ba04e28678..4e980af8a2 100644 --- a/packages/cli/src/ui/contexts/KeypressContext.tsx +++ b/packages/cli/src/ui/contexts/KeypressContext.tsx @@ -17,8 +17,8 @@ import React, { useEffect, useRef, } from 'react'; -import readline from 'readline'; -import { PassThrough } from 'stream'; +import readline from 'node:readline'; +import { PassThrough } from 'node:stream'; import { BACKSLASH_ENTER_DETECTION_WINDOW_MS, KITTY_CTRL_C, diff --git a/packages/cli/src/ui/hooks/atCommandProcessor.test.ts b/packages/cli/src/ui/hooks/atCommandProcessor.test.ts index b83cbde3b0..c9610398c2 100644 --- a/packages/cli/src/ui/hooks/atCommandProcessor.test.ts +++ b/packages/cli/src/ui/hooks/atCommandProcessor.test.ts @@ -16,11 +16,11 @@ import { COMMON_IGNORE_PATTERNS, DEFAULT_FILE_EXCLUDES, } from '@google/gemini-cli-core'; -import * as os from 'os'; +import * as os from 'node:os'; import { ToolCallStatus } from '../types.js'; import { UseHistoryManagerReturn } from './useHistoryManager.js'; -import * as fsPromises from 'fs/promises'; -import * as path from 'path'; +import * as fsPromises from 'node:fs/promises'; +import * as path from 'node:path'; describe('handleAtCommand', () => { let testRootDir: string; diff --git a/packages/cli/src/ui/hooks/atCommandProcessor.ts b/packages/cli/src/ui/hooks/atCommandProcessor.ts index e350cf1e7f..050bea73fc 100644 --- a/packages/cli/src/ui/hooks/atCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/atCommandProcessor.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { PartListUnion, PartUnion } from '@google/genai'; import { AnyToolInvocation, diff --git a/packages/cli/src/ui/hooks/shellCommandProcessor.test.ts b/packages/cli/src/ui/hooks/shellCommandProcessor.test.ts index 8a37dde035..4ff7bb4b43 100644 --- a/packages/cli/src/ui/hooks/shellCommandProcessor.test.ts +++ b/packages/cli/src/ui/hooks/shellCommandProcessor.test.ts @@ -36,10 +36,10 @@ import { type ShellExecutionResult, type ShellOutputEvent, } from '@google/gemini-cli-core'; -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; -import * as crypto from 'crypto'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import * as path from 'node:path'; +import * as crypto from 'node:crypto'; import { ToolCallStatus } from '../types.js'; describe('useShellCommandProcessor', () => { diff --git a/packages/cli/src/ui/hooks/shellCommandProcessor.ts b/packages/cli/src/ui/hooks/shellCommandProcessor.ts index 23f2bb29e5..735058953c 100644 --- a/packages/cli/src/ui/hooks/shellCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/shellCommandProcessor.ts @@ -21,10 +21,10 @@ import { type PartListUnion } from '@google/genai'; import { UseHistoryManagerReturn } from './useHistoryManager.js'; import { SHELL_COMMAND_NAME } from '../constants.js'; import { formatMemoryUsage } from '../utils/formatters.js'; -import crypto from 'crypto'; -import path from 'path'; -import os from 'os'; -import fs from 'fs'; +import crypto from 'node:crypto'; +import path from 'node:path'; +import os from 'node:os'; +import fs from 'node:fs'; export const OUTPUT_UPDATE_INTERVAL_MS = 1000; const MAX_OUTPUT_LENGTH = 10000; diff --git a/packages/cli/src/ui/hooks/useFocus.test.ts b/packages/cli/src/ui/hooks/useFocus.test.ts index 5e17951e9b..e9a48ca5c7 100644 --- a/packages/cli/src/ui/hooks/useFocus.test.ts +++ b/packages/cli/src/ui/hooks/useFocus.test.ts @@ -5,7 +5,7 @@ */ import { renderHook, act } from '@testing-library/react'; -import { EventEmitter } from 'events'; +import { EventEmitter } from 'node:events'; import { useFocus } from './useFocus.js'; import { vi } from 'vitest'; import { useStdin, useStdout } from 'ink'; diff --git a/packages/cli/src/ui/hooks/useFolderTrust.test.ts b/packages/cli/src/ui/hooks/useFolderTrust.test.ts index 54e7fe86c1..1581ae00ff 100644 --- a/packages/cli/src/ui/hooks/useFolderTrust.test.ts +++ b/packages/cli/src/ui/hooks/useFolderTrust.test.ts @@ -13,7 +13,7 @@ import { LoadedTrustedFolders, TrustLevel, } from '../../config/trustedFolders.js'; -import * as process from 'process'; +import * as process from 'node:process'; import * as trustedFolders from '../../config/trustedFolders.js'; diff --git a/packages/cli/src/ui/hooks/useFolderTrust.ts b/packages/cli/src/ui/hooks/useFolderTrust.ts index c13d9e6e1b..9755178472 100644 --- a/packages/cli/src/ui/hooks/useFolderTrust.ts +++ b/packages/cli/src/ui/hooks/useFolderTrust.ts @@ -12,7 +12,7 @@ import { TrustLevel, isWorkspaceTrusted, } from '../../config/trustedFolders.js'; -import * as process from 'process'; +import * as process from 'node:process'; export const useFolderTrust = ( settings: LoadedSettings, diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index aaa54bd121..cf62478239 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -47,8 +47,8 @@ import { findLastSafeSplitPoint } from '../utils/markdownUtilities.js'; import { useStateAndRef } from './useStateAndRef.js'; import { UseHistoryManagerReturn } from './useHistoryManager.js'; import { useLogger } from './useLogger.js'; -import { promises as fs } from 'fs'; -import path from 'path'; +import { promises as fs } from 'node:fs'; +import path from 'node:path'; import { useReactToolScheduler, mapToDisplay as mapTrackedToolCallsToDisplay, diff --git a/packages/cli/src/ui/hooks/useGitBranchName.ts b/packages/cli/src/ui/hooks/useGitBranchName.ts index 8f8e666734..d1ce55fdbf 100644 --- a/packages/cli/src/ui/hooks/useGitBranchName.ts +++ b/packages/cli/src/ui/hooks/useGitBranchName.ts @@ -8,7 +8,7 @@ import { useState, useEffect, useCallback } from 'react'; import { exec } from 'node:child_process'; import fs from 'node:fs'; import fsPromises from 'node:fs/promises'; -import path from 'path'; +import path from 'node:path'; export function useGitBranchName(cwd: string): string | undefined { const [branchName, setBranchName] = useState(undefined); diff --git a/packages/cli/src/ui/hooks/useKeypress.test.ts b/packages/cli/src/ui/hooks/useKeypress.test.ts index 138c927c90..683603de82 100644 --- a/packages/cli/src/ui/hooks/useKeypress.test.ts +++ b/packages/cli/src/ui/hooks/useKeypress.test.ts @@ -9,8 +9,8 @@ import { renderHook, act } from '@testing-library/react'; import { useKeypress, Key } from './useKeypress.js'; import { KeypressProvider } from '../contexts/KeypressContext.js'; import { useStdin } from 'ink'; -import { EventEmitter } from 'events'; -import { PassThrough } from 'stream'; +import { EventEmitter } from 'node:events'; +import { PassThrough } from 'node:stream'; // Mock the 'ink' module to control stdin vi.mock('ink', async (importOriginal) => { diff --git a/packages/cli/src/ui/hooks/useShellHistory.test.ts b/packages/cli/src/ui/hooks/useShellHistory.test.ts index f0d8586c1d..adc8eaa6d9 100644 --- a/packages/cli/src/ui/hooks/useShellHistory.test.ts +++ b/packages/cli/src/ui/hooks/useShellHistory.test.ts @@ -6,10 +6,10 @@ import { renderHook, act, waitFor } from '@testing-library/react'; import { useShellHistory } from './useShellHistory.js'; -import * as fs from 'fs/promises'; -import * as path from 'path'; -import * as os from 'os'; -import * as crypto from 'crypto'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; +import * as os from 'node:os'; +import * as crypto from 'node:crypto'; vi.mock('fs/promises', () => ({ readFile: vi.fn(), diff --git a/packages/cli/src/ui/hooks/useShellHistory.ts b/packages/cli/src/ui/hooks/useShellHistory.ts index a0812f5bea..003e47eb0f 100644 --- a/packages/cli/src/ui/hooks/useShellHistory.ts +++ b/packages/cli/src/ui/hooks/useShellHistory.ts @@ -5,8 +5,8 @@ */ import { useState, useEffect, useCallback } from 'react'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { isNodeError, Storage } from '@google/gemini-cli-core'; const MAX_HISTORY_LENGTH = 100; diff --git a/packages/cli/src/ui/utils/ConsolePatcher.ts b/packages/cli/src/ui/utils/ConsolePatcher.ts index 8e95adc186..0481fd4366 100644 --- a/packages/cli/src/ui/utils/ConsolePatcher.ts +++ b/packages/cli/src/ui/utils/ConsolePatcher.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import util from 'util'; +import util from 'node:util'; import { ConsoleMessageItem } from '../types.js'; interface ConsolePatcherParams { diff --git a/packages/cli/src/ui/utils/MarkdownDisplay.test.tsx b/packages/cli/src/ui/utils/MarkdownDisplay.test.tsx index 511ff202e2..96bfd4c136 100644 --- a/packages/cli/src/ui/utils/MarkdownDisplay.test.tsx +++ b/packages/cli/src/ui/utils/MarkdownDisplay.test.tsx @@ -9,7 +9,7 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import { MarkdownDisplay } from './MarkdownDisplay.js'; import { LoadedSettings } from '../../config/settings.js'; import { SettingsContext } from '../contexts/SettingsContext.js'; -import { EOL } from 'os'; +import { EOL } from 'node:os'; describe('', () => { const baseProps = { diff --git a/packages/cli/src/ui/utils/MarkdownDisplay.tsx b/packages/cli/src/ui/utils/MarkdownDisplay.tsx index 660ce2b1ed..f5cbd84b3f 100644 --- a/packages/cli/src/ui/utils/MarkdownDisplay.tsx +++ b/packages/cli/src/ui/utils/MarkdownDisplay.tsx @@ -6,7 +6,7 @@ import React from 'react'; import { Text, Box } from 'ink'; -import { EOL } from 'os'; +import { EOL } from 'node:os'; import { Colors } from '../colors.js'; import { colorizeCode } from './CodeColorizer.js'; import { TableRenderer } from './TableRenderer.js'; diff --git a/packages/cli/src/ui/utils/clipboardUtils.ts b/packages/cli/src/ui/utils/clipboardUtils.ts index 74554495c2..43e2be153f 100644 --- a/packages/cli/src/ui/utils/clipboardUtils.ts +++ b/packages/cli/src/ui/utils/clipboardUtils.ts @@ -4,10 +4,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { exec } from 'child_process'; -import { promisify } from 'util'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import { exec } from 'node:child_process'; +import { promisify } from 'node:util'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; const execAsync = promisify(exec); diff --git a/packages/cli/src/ui/utils/commandUtils.test.ts b/packages/cli/src/ui/utils/commandUtils.test.ts index 3b30af8323..9a6d02f705 100644 --- a/packages/cli/src/ui/utils/commandUtils.test.ts +++ b/packages/cli/src/ui/utils/commandUtils.test.ts @@ -5,8 +5,8 @@ */ import { vi, describe, it, expect, beforeEach, Mock } from 'vitest'; -import { spawn, SpawnOptions } from 'child_process'; -import { EventEmitter } from 'events'; +import { spawn, SpawnOptions } from 'node:child_process'; +import { EventEmitter } from 'node:events'; import { isAtCommand, isSlashCommand, @@ -44,7 +44,7 @@ describe('commandUtils', () => { beforeEach(async () => { vi.clearAllMocks(); // Dynamically import and set up spawn mock - const { spawn } = await import('child_process'); + const { spawn } = await import('node:child_process'); mockSpawn = spawn as Mock; // Create mock child process with stdout/stderr emitters diff --git a/packages/cli/src/ui/utils/commandUtils.ts b/packages/cli/src/ui/utils/commandUtils.ts index 99158705c1..7d3a31d42f 100644 --- a/packages/cli/src/ui/utils/commandUtils.ts +++ b/packages/cli/src/ui/utils/commandUtils.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { spawn, SpawnOptions } from 'child_process'; +import { spawn, SpawnOptions } from 'node:child_process'; /** * Checks if a query string potentially represents an '@' command. diff --git a/packages/cli/src/ui/utils/terminalSetup.ts b/packages/cli/src/ui/utils/terminalSetup.ts index d41d2075a2..a7b00d86fe 100644 --- a/packages/cli/src/ui/utils/terminalSetup.ts +++ b/packages/cli/src/ui/utils/terminalSetup.ts @@ -23,11 +23,11 @@ * to avoid conflicts with user customizations. */ -import { promises as fs } from 'fs'; -import * as os from 'os'; -import * as path from 'path'; -import { exec } from 'child_process'; -import { promisify } from 'util'; +import { promises as fs } from 'node:fs'; +import * as os from 'node:os'; +import * as path from 'node:path'; +import { exec } from 'node:child_process'; +import { promisify } from 'node:util'; import { isKittyProtocolEnabled } from './kittyProtocolDetector.js'; import { VSCODE_SHIFT_ENTER_SEQUENCE } from './platformConstants.js'; diff --git a/packages/cli/src/ui/utils/textUtils.ts b/packages/cli/src/ui/utils/textUtils.ts index 7630f04d50..ac3d3398fb 100644 --- a/packages/cli/src/ui/utils/textUtils.ts +++ b/packages/cli/src/ui/utils/textUtils.ts @@ -5,7 +5,7 @@ */ import stripAnsi from 'strip-ansi'; -import { stripVTControlCharacters } from 'util'; +import { stripVTControlCharacters } from 'node:util'; /** * Calculates the maximum width of a multi-line ASCII art string. diff --git a/packages/cli/src/utils/cleanup.ts b/packages/cli/src/utils/cleanup.ts index 33ca9ddb8e..dbd1508a61 100644 --- a/packages/cli/src/utils/cleanup.ts +++ b/packages/cli/src/utils/cleanup.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { promises as fs } from 'fs'; -import { join } from 'path'; +import { promises as fs } from 'node:fs'; +import { join } from 'node:path'; import { Storage } from '@google/gemini-cli-core'; const cleanupFunctions: Array<(() => void) | (() => Promise)> = []; diff --git a/packages/cli/src/utils/events.ts b/packages/cli/src/utils/events.ts index 3936438794..735967f88b 100644 --- a/packages/cli/src/utils/events.ts +++ b/packages/cli/src/utils/events.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { EventEmitter } from 'events'; +import { EventEmitter } from 'node:events'; export enum AppEvent { OpenDebugConsole = 'open-debug-console', diff --git a/packages/cli/src/utils/gitUtils.test.ts b/packages/cli/src/utils/gitUtils.test.ts index d6ac911e66..45b777fcb6 100644 --- a/packages/cli/src/utils/gitUtils.test.ts +++ b/packages/cli/src/utils/gitUtils.test.ts @@ -5,7 +5,7 @@ */ import { vi, describe, expect, it, afterEach, beforeEach } from 'vitest'; -import * as child_process from 'child_process'; +import * as child_process from 'node:child_process'; import { isGitHubRepository, getGitRepoRoot, diff --git a/packages/cli/src/utils/gitUtils.ts b/packages/cli/src/utils/gitUtils.ts index 7b271ac486..11cf729b68 100644 --- a/packages/cli/src/utils/gitUtils.ts +++ b/packages/cli/src/utils/gitUtils.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { execSync } from 'child_process'; +import { execSync } from 'node:child_process'; import { ProxyAgent } from 'undici'; /** diff --git a/packages/cli/src/utils/handleAutoUpdate.ts b/packages/cli/src/utils/handleAutoUpdate.ts index cbcdb2e067..8b19e45068 100644 --- a/packages/cli/src/utils/handleAutoUpdate.ts +++ b/packages/cli/src/utils/handleAutoUpdate.ts @@ -10,7 +10,7 @@ import { getInstallationInfo } from './installationInfo.js'; import { updateEventEmitter } from './updateEventEmitter.js'; import { HistoryItem, MessageType } from '../ui/types.js'; import { spawnWrapper } from './spawnWrapper.js'; -import { spawn } from 'child_process'; +import { spawn } from 'node:child_process'; export function handleAutoUpdate( info: UpdateObject | null, diff --git a/packages/cli/src/utils/installationInfo.test.ts b/packages/cli/src/utils/installationInfo.test.ts index c2bcf074ec..9e72a70a9f 100644 --- a/packages/cli/src/utils/installationInfo.test.ts +++ b/packages/cli/src/utils/installationInfo.test.ts @@ -6,9 +6,9 @@ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest'; import { getInstallationInfo, PackageManager } from './installationInfo.js'; -import * as fs from 'fs'; -import * as path from 'path'; -import * as childProcess from 'child_process'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import * as childProcess from 'node:child_process'; import { isGitRepository } from '@google/gemini-cli-core'; vi.mock('@google/gemini-cli-core', () => ({ diff --git a/packages/cli/src/utils/installationInfo.ts b/packages/cli/src/utils/installationInfo.ts index ca5733d34b..0f7a1d5264 100644 --- a/packages/cli/src/utils/installationInfo.ts +++ b/packages/cli/src/utils/installationInfo.ts @@ -5,9 +5,9 @@ */ import { isGitRepository } from '@google/gemini-cli-core'; -import * as fs from 'fs'; -import * as path from 'path'; -import * as childProcess from 'child_process'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import * as childProcess from 'node:child_process'; export enum PackageManager { NPM = 'npm', diff --git a/packages/cli/src/utils/package.ts b/packages/cli/src/utils/package.ts index d53a02349f..e90376b69b 100644 --- a/packages/cli/src/utils/package.ts +++ b/packages/cli/src/utils/package.ts @@ -8,8 +8,8 @@ import { readPackageUp, type PackageJson as BasePackageJson, } from 'read-package-up'; -import { fileURLToPath } from 'url'; -import path from 'path'; +import { fileURLToPath } from 'node:url'; +import path from 'node:path'; export type PackageJson = BasePackageJson & { config?: { diff --git a/packages/cli/src/utils/resolvePath.ts b/packages/cli/src/utils/resolvePath.ts index b26ed8fc21..dea8be55ae 100644 --- a/packages/cli/src/utils/resolvePath.ts +++ b/packages/cli/src/utils/resolvePath.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as os from 'os'; -import * as path from 'path'; +import * as os from 'node:os'; +import * as path from 'node:path'; export function resolvePath(p: string): string { if (!p) { diff --git a/packages/cli/src/utils/sandbox.ts b/packages/cli/src/utils/sandbox.ts index ae8ab4cf07..61c2699727 100644 --- a/packages/cli/src/utils/sandbox.ts +++ b/packages/cli/src/utils/sandbox.ts @@ -15,7 +15,7 @@ import { USER_SETTINGS_DIR, SETTINGS_DIRECTORY_NAME, } from '../config/settings.js'; -import { promisify } from 'util'; +import { promisify } from 'node:util'; import { Config, SandboxConfig } from '@google/gemini-cli-core'; import { ConsolePatcher } from '../ui/utils/ConsolePatcher.js'; diff --git a/packages/cli/src/utils/spawnWrapper.ts b/packages/cli/src/utils/spawnWrapper.ts index 3f3cca944b..108f166dc0 100644 --- a/packages/cli/src/utils/spawnWrapper.ts +++ b/packages/cli/src/utils/spawnWrapper.ts @@ -4,6 +4,6 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { spawn } from 'child_process'; +import { spawn } from 'node:child_process'; export const spawnWrapper = spawn; diff --git a/packages/cli/src/utils/startupWarnings.test.ts b/packages/cli/src/utils/startupWarnings.test.ts index e0664d0f37..315decc600 100644 --- a/packages/cli/src/utils/startupWarnings.test.ts +++ b/packages/cli/src/utils/startupWarnings.test.ts @@ -6,7 +6,7 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import { getStartupWarnings } from './startupWarnings.js'; -import * as fs from 'fs/promises'; +import * as fs from 'node:fs/promises'; import { getErrorMessage } from '@google/gemini-cli-core'; vi.mock('fs/promises'); diff --git a/packages/cli/src/utils/startupWarnings.ts b/packages/cli/src/utils/startupWarnings.ts index 065fa186cb..7025f7d333 100644 --- a/packages/cli/src/utils/startupWarnings.ts +++ b/packages/cli/src/utils/startupWarnings.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs/promises'; -import os from 'os'; +import fs from 'node:fs/promises'; +import os from 'node:os'; import { join as pathJoin } from 'node:path'; import { getErrorMessage } from '@google/gemini-cli-core'; diff --git a/packages/cli/src/utils/updateEventEmitter.ts b/packages/cli/src/utils/updateEventEmitter.ts index a60ef03975..1c69277254 100644 --- a/packages/cli/src/utils/updateEventEmitter.ts +++ b/packages/cli/src/utils/updateEventEmitter.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { EventEmitter } from 'events'; +import { EventEmitter } from 'node:events'; /** * A shared event emitter for application-wide communication diff --git a/packages/cli/src/utils/userStartupWarnings.test.ts b/packages/cli/src/utils/userStartupWarnings.test.ts index 6d9b89899d..5f87f286ce 100644 --- a/packages/cli/src/utils/userStartupWarnings.test.ts +++ b/packages/cli/src/utils/userStartupWarnings.test.ts @@ -6,9 +6,9 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import { getUserStartupWarnings } from './userStartupWarnings.js'; -import * as os from 'os'; -import fs from 'fs/promises'; -import path from 'path'; +import * as os from 'node:os'; +import fs from 'node:fs/promises'; +import path from 'node:path'; // Mock os.homedir to control the home directory in tests vi.mock('os', async (importOriginal) => { diff --git a/packages/cli/src/utils/userStartupWarnings.ts b/packages/cli/src/utils/userStartupWarnings.ts index 8a74090637..165f6e2e68 100644 --- a/packages/cli/src/utils/userStartupWarnings.ts +++ b/packages/cli/src/utils/userStartupWarnings.ts @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs/promises'; -import * as os from 'os'; -import path from 'path'; +import fs from 'node:fs/promises'; +import * as os from 'node:os'; +import path from 'node:path'; type WarningCheck = { id: string; diff --git a/packages/cli/src/zed-integration/acp.ts b/packages/cli/src/zed-integration/acp.ts index 3ce9bd424d..8c607b428f 100644 --- a/packages/cli/src/zed-integration/acp.ts +++ b/packages/cli/src/zed-integration/acp.ts @@ -7,7 +7,7 @@ /* ACP defines a schema for a simple (experimental) JSON-RPC protocol that allows GUI applications to interact with agents. */ import { z } from 'zod'; -import { EOL } from 'os'; +import { EOL } from 'node:os'; import * as schema from './schema.js'; export * from './schema.js'; diff --git a/packages/cli/src/zed-integration/zedIntegration.ts b/packages/cli/src/zed-integration/zedIntegration.ts index e4da32c11e..f86fcbfff9 100644 --- a/packages/cli/src/zed-integration/zedIntegration.ts +++ b/packages/cli/src/zed-integration/zedIntegration.ts @@ -28,11 +28,11 @@ import { AcpFileSystemService } from './fileSystemService.js'; import { Readable, Writable } from 'node:stream'; import { Content, Part, FunctionCall } from '@google/genai'; import { LoadedSettings, SettingScope } from '../config/settings.js'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { z } from 'zod'; -import { randomUUID } from 'crypto'; +import { randomUUID } from 'node:crypto'; import { Extension } from '../config/extension.js'; import { CliArgs, loadCliConfig } from '../config/config.js'; diff --git a/packages/core/src/code_assist/oauth2.test.ts b/packages/core/src/code_assist/oauth2.test.ts index a90bde1b07..fc4c03f6b7 100644 --- a/packages/core/src/code_assist/oauth2.test.ts +++ b/packages/core/src/code_assist/oauth2.test.ts @@ -13,12 +13,12 @@ import { } from './oauth2.js'; import { UserAccountManager } from '../utils/userAccountManager.js'; import { OAuth2Client, Compute } from 'google-auth-library'; -import * as fs from 'fs'; -import * as path from 'path'; -import http from 'http'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import http from 'node:http'; import open from 'open'; -import crypto from 'crypto'; -import * as os from 'os'; +import crypto from 'node:crypto'; +import * as os from 'node:os'; import { AuthType } from '../core/contentGenerator.js'; import { Config } from '../config/config.js'; import readline from 'node:readline'; diff --git a/packages/core/src/code_assist/oauth2.ts b/packages/core/src/code_assist/oauth2.ts index 72840eb11e..9edd11f9ca 100644 --- a/packages/core/src/code_assist/oauth2.ts +++ b/packages/core/src/code_assist/oauth2.ts @@ -10,10 +10,10 @@ import { Compute, CodeChallengeMethod, } from 'google-auth-library'; -import * as http from 'http'; -import url from 'url'; -import crypto from 'crypto'; -import * as net from 'net'; +import * as http from 'node:http'; +import url from 'node:url'; +import crypto from 'node:crypto'; +import * as net from 'node:net'; import open from 'open'; import path from 'node:path'; import { promises as fs } from 'node:fs'; diff --git a/packages/core/src/code_assist/server.ts b/packages/core/src/code_assist/server.ts index 470143a6fa..61e7a090fe 100644 --- a/packages/core/src/code_assist/server.ts +++ b/packages/core/src/code_assist/server.ts @@ -21,7 +21,7 @@ import { GenerateContentParameters, GenerateContentResponse, } from '@google/genai'; -import * as readline from 'readline'; +import * as readline from 'node:readline'; import { ContentGenerator } from '../core/contentGenerator.js'; import { UserTierId } from './types.js'; import { diff --git a/packages/core/src/config/config.test.ts b/packages/core/src/config/config.test.ts index c1b81c5d74..f6e86c79b8 100644 --- a/packages/core/src/config/config.test.ts +++ b/packages/core/src/config/config.test.ts @@ -7,7 +7,7 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import { Mock } from 'vitest'; import { Config, ConfigParameters, SandboxConfig } from './config.js'; -import * as path from 'path'; +import * as path from 'node:path'; import { setGeminiMdFilename as mockSetGeminiMdFilename } from '../tools/memoryTool.js'; import { DEFAULT_TELEMETRY_TARGET, diff --git a/packages/core/src/config/storage.test.ts b/packages/core/src/config/storage.test.ts index 4dab76f1b1..3b2cbef947 100644 --- a/packages/core/src/config/storage.test.ts +++ b/packages/core/src/config/storage.test.ts @@ -5,7 +5,7 @@ */ import { describe, it, expect, vi } from 'vitest'; -import * as os from 'os'; +import * as os from 'node:os'; import * as path from 'node:path'; vi.mock('fs', async (importOriginal) => { diff --git a/packages/core/src/config/storage.ts b/packages/core/src/config/storage.ts index 1459c8c701..d08a15ceeb 100644 --- a/packages/core/src/config/storage.ts +++ b/packages/core/src/config/storage.ts @@ -5,9 +5,9 @@ */ import * as path from 'node:path'; -import * as os from 'os'; -import * as crypto from 'crypto'; -import * as fs from 'fs'; +import * as os from 'node:os'; +import * as crypto from 'node:crypto'; +import * as fs from 'node:fs'; export const GEMINI_DIR = '.gemini'; export const GOOGLE_ACCOUNTS_FILENAME = 'google_accounts.json'; diff --git a/packages/core/src/ide/ide-installer.test.ts b/packages/core/src/ide/ide-installer.test.ts index e538825311..84000a7961 100644 --- a/packages/core/src/ide/ide-installer.test.ts +++ b/packages/core/src/ide/ide-installer.test.ts @@ -6,9 +6,9 @@ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest'; import { getIdeInstaller, IdeInstaller } from './ide-installer.js'; -import * as child_process from 'child_process'; -import * as fs from 'fs'; -import * as os from 'os'; +import * as child_process from 'node:child_process'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; import { DetectedIde } from './detect-ide.js'; vi.mock('child_process'); diff --git a/packages/core/src/ide/ide-installer.ts b/packages/core/src/ide/ide-installer.ts index bf74bd07fb..784b89cadf 100644 --- a/packages/core/src/ide/ide-installer.ts +++ b/packages/core/src/ide/ide-installer.ts @@ -4,11 +4,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as child_process from 'child_process'; -import * as process from 'process'; -import * as path from 'path'; -import * as fs from 'fs'; -import * as os from 'os'; +import * as child_process from 'node:child_process'; +import * as process from 'node:process'; +import * as path from 'node:path'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; import { DetectedIde } from './detect-ide.js'; import { GEMINI_CLI_COMPANION_EXTENSION_NAME } from './constants.js'; diff --git a/packages/core/src/ide/process-utils.ts b/packages/core/src/ide/process-utils.ts index c670744228..a8d58c7518 100644 --- a/packages/core/src/ide/process-utils.ts +++ b/packages/core/src/ide/process-utils.ts @@ -4,10 +4,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { exec } from 'child_process'; -import { promisify } from 'util'; -import os from 'os'; -import path from 'path'; +import { exec } from 'node:child_process'; +import { promisify } from 'node:util'; +import os from 'node:os'; +import path from 'node:path'; const execAsync = promisify(exec); diff --git a/packages/core/src/services/fileDiscoveryService.test.ts b/packages/core/src/services/fileDiscoveryService.test.ts index f8a03f629c..9a56435bdc 100644 --- a/packages/core/src/services/fileDiscoveryService.test.ts +++ b/packages/core/src/services/fileDiscoveryService.test.ts @@ -5,9 +5,9 @@ */ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; -import * as fs from 'fs/promises'; -import * as os from 'os'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { FileDiscoveryService } from './fileDiscoveryService.js'; describe('FileDiscoveryService', () => { diff --git a/packages/core/src/services/fileDiscoveryService.ts b/packages/core/src/services/fileDiscoveryService.ts index 22092813b7..09c590ff49 100644 --- a/packages/core/src/services/fileDiscoveryService.ts +++ b/packages/core/src/services/fileDiscoveryService.ts @@ -6,7 +6,7 @@ import { GitIgnoreParser, GitIgnoreFilter } from '../utils/gitIgnoreParser.js'; import { isGitRepository } from '../utils/gitUtils.js'; -import * as path from 'path'; +import * as path from 'node:path'; const GEMINI_IGNORE_FILE_NAME = '.geminiignore'; diff --git a/packages/core/src/services/fileSystemService.test.ts b/packages/core/src/services/fileSystemService.test.ts index c61ec0664e..4ca5c3329e 100644 --- a/packages/core/src/services/fileSystemService.test.ts +++ b/packages/core/src/services/fileSystemService.test.ts @@ -5,7 +5,7 @@ */ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; -import fs from 'fs/promises'; +import fs from 'node:fs/promises'; import { StandardFileSystemService } from './fileSystemService.js'; vi.mock('fs/promises'); diff --git a/packages/core/src/services/fileSystemService.ts b/packages/core/src/services/fileSystemService.ts index e2f30cf446..946c227ab6 100644 --- a/packages/core/src/services/fileSystemService.ts +++ b/packages/core/src/services/fileSystemService.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs/promises'; +import fs from 'node:fs/promises'; /** * Interface for file system operations that may be delegated to different implementations diff --git a/packages/core/src/services/gitService.test.ts b/packages/core/src/services/gitService.test.ts index 732b265294..5ff450c93b 100644 --- a/packages/core/src/services/gitService.test.ts +++ b/packages/core/src/services/gitService.test.ts @@ -7,9 +7,9 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import { GitService } from './gitService.js'; import { Storage } from '../config/storage.js'; -import * as path from 'path'; -import * as fs from 'fs/promises'; -import * as os from 'os'; +import * as path from 'node:path'; +import * as fs from 'node:fs/promises'; +import * as os from 'node:os'; import type { ChildProcess } from 'node:child_process'; import { getProjectHash, GEMINI_DIR } from '../utils/paths.js'; diff --git a/packages/core/src/services/gitService.ts b/packages/core/src/services/gitService.ts index 702df5ae83..de0910d2a4 100644 --- a/packages/core/src/services/gitService.ts +++ b/packages/core/src/services/gitService.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { isNodeError } from '../utils/errors.js'; import { exec } from 'node:child_process'; import { simpleGit, SimpleGit, CheckRepoActions } from 'simple-git'; diff --git a/packages/core/src/services/loopDetectionService.ts b/packages/core/src/services/loopDetectionService.ts index 967e9a4c64..c14e5df076 100644 --- a/packages/core/src/services/loopDetectionService.ts +++ b/packages/core/src/services/loopDetectionService.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { createHash } from 'crypto'; +import { createHash } from 'node:crypto'; import { GeminiEventType, ServerGeminiStreamEvent } from '../core/turn.js'; import { logLoopDetected } from '../telemetry/loggers.js'; import { LoopDetectedEvent, LoopType } from '../telemetry/types.js'; diff --git a/packages/core/src/services/shellExecutionService.test.ts b/packages/core/src/services/shellExecutionService.test.ts index 604350aa22..877327ffba 100644 --- a/packages/core/src/services/shellExecutionService.test.ts +++ b/packages/core/src/services/shellExecutionService.test.ts @@ -5,9 +5,9 @@ */ import { vi, describe, it, expect, beforeEach, type Mock } from 'vitest'; -import EventEmitter from 'events'; -import { Readable } from 'stream'; -import { type ChildProcess } from 'child_process'; +import EventEmitter from 'node:events'; +import { Readable } from 'node:stream'; +import { type ChildProcess } from 'node:child_process'; import { ShellExecutionService, ShellOutputEvent, diff --git a/packages/core/src/services/shellExecutionService.ts b/packages/core/src/services/shellExecutionService.ts index 59e998bd22..358ae2879e 100644 --- a/packages/core/src/services/shellExecutionService.ts +++ b/packages/core/src/services/shellExecutionService.ts @@ -5,9 +5,9 @@ */ import { getPty, PtyImplementation } from '../utils/getPty.js'; -import { spawn as cpSpawn } from 'child_process'; -import { TextDecoder } from 'util'; -import os from 'os'; +import { spawn as cpSpawn } from 'node:child_process'; +import { TextDecoder } from 'node:util'; +import os from 'node:os'; import { getCachedEncodingForBuffer } from '../utils/systemEncoding.js'; import { isBinary } from '../utils/textUtils.js'; import pkg from '@xterm/headless'; diff --git a/packages/core/src/telemetry/uiTelemetry.ts b/packages/core/src/telemetry/uiTelemetry.ts index 318478aa6a..03c03b1f55 100644 --- a/packages/core/src/telemetry/uiTelemetry.ts +++ b/packages/core/src/telemetry/uiTelemetry.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { EventEmitter } from 'events'; +import { EventEmitter } from 'node:events'; import { EVENT_API_ERROR, EVENT_API_RESPONSE, diff --git a/packages/core/src/tools/edit.test.ts b/packages/core/src/tools/edit.test.ts index f102030ecf..b77416fdb9 100644 --- a/packages/core/src/tools/edit.test.ts +++ b/packages/core/src/tools/edit.test.ts @@ -34,9 +34,9 @@ import { describe, it, expect, beforeEach, afterEach, vi, Mock } from 'vitest'; import { applyReplacement, EditTool, EditToolParams } from './edit.js'; import { FileDiff, ToolConfirmationOutcome } from './tools.js'; import { ToolErrorType } from './tool-error.js'; -import path from 'path'; -import fs from 'fs'; -import os from 'os'; +import path from 'node:path'; +import fs from 'node:fs'; +import os from 'node:os'; import { ApprovalMode, Config } from '../config/config.js'; import { Content, Part, SchemaUnion } from '@google/genai'; import { createMockWorkspaceContext } from '../test-utils/mockWorkspaceContext.js'; diff --git a/packages/core/src/tools/edit.ts b/packages/core/src/tools/edit.ts index e69e10cb89..36467d9001 100644 --- a/packages/core/src/tools/edit.ts +++ b/packages/core/src/tools/edit.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import * as Diff from 'diff'; import { BaseDeclarativeTool, diff --git a/packages/core/src/tools/glob.test.ts b/packages/core/src/tools/glob.test.ts index 99fed36d15..ab791498d5 100644 --- a/packages/core/src/tools/glob.test.ts +++ b/packages/core/src/tools/glob.test.ts @@ -6,9 +6,9 @@ import { GlobTool, GlobToolParams, GlobPath, sortFileEntries } from './glob.js'; import { partListUnionToString } from '../core/geminiRequest.js'; -import path from 'path'; -import fs from 'fs/promises'; -import os from 'os'; +import path from 'node:path'; +import fs from 'node:fs/promises'; +import os from 'node:os'; import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; import { Config } from '../config/config.js'; diff --git a/packages/core/src/tools/glob.ts b/packages/core/src/tools/glob.ts index e107dd1c2c..014a0fe6d8 100644 --- a/packages/core/src/tools/glob.ts +++ b/packages/core/src/tools/glob.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; import { glob, escape } from 'glob'; import { BaseDeclarativeTool, diff --git a/packages/core/src/tools/grep.test.ts b/packages/core/src/tools/grep.test.ts index bebecf7815..4ef2886772 100644 --- a/packages/core/src/tools/grep.test.ts +++ b/packages/core/src/tools/grep.test.ts @@ -6,9 +6,9 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { GrepTool, GrepToolParams } from './grep.js'; -import path from 'path'; -import fs from 'fs/promises'; -import os from 'os'; +import path from 'node:path'; +import fs from 'node:fs/promises'; +import os from 'node:os'; import { Config } from '../config/config.js'; import { createMockWorkspaceContext } from '../test-utils/mockWorkspaceContext.js'; import { ToolErrorType } from './tool-error.js'; diff --git a/packages/core/src/tools/grep.ts b/packages/core/src/tools/grep.ts index 9d7646c385..47ddbd5715 100644 --- a/packages/core/src/tools/grep.ts +++ b/packages/core/src/tools/grep.ts @@ -4,11 +4,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import fsPromises from 'fs/promises'; -import path from 'path'; -import { EOL } from 'os'; -import { spawn } from 'child_process'; +import fs from 'node:fs'; +import fsPromises from 'node:fs/promises'; +import path from 'node:path'; +import { EOL } from 'node:os'; +import { spawn } from 'node:child_process'; import { globStream } from 'glob'; import { BaseDeclarativeTool, diff --git a/packages/core/src/tools/ls.test.ts b/packages/core/src/tools/ls.test.ts index 088edb5369..62d81f77be 100644 --- a/packages/core/src/tools/ls.test.ts +++ b/packages/core/src/tools/ls.test.ts @@ -7,8 +7,8 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { describe, it, expect, beforeEach, vi } from 'vitest'; -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; vi.mock('fs', () => ({ default: { diff --git a/packages/core/src/tools/ls.ts b/packages/core/src/tools/ls.ts index 89f267d0b8..fa43674a81 100644 --- a/packages/core/src/tools/ls.ts +++ b/packages/core/src/tools/ls.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; import { BaseDeclarativeTool, BaseToolInvocation, diff --git a/packages/core/src/tools/memoryTool.test.ts b/packages/core/src/tools/memoryTool.test.ts index b4a055c8e8..7553cdc52a 100644 --- a/packages/core/src/tools/memoryTool.test.ts +++ b/packages/core/src/tools/memoryTool.test.ts @@ -12,14 +12,14 @@ import { getAllGeminiMdFilenames, DEFAULT_CONTEXT_FILENAME, } from './memoryTool.js'; -import * as fs from 'fs/promises'; -import * as path from 'path'; -import * as os from 'os'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; +import * as os from 'node:os'; import { ToolConfirmationOutcome } from './tools.js'; import { ToolErrorType } from './tool-error.js'; // Mock dependencies -vi.mock(import('fs/promises'), async (importOriginal) => { +vi.mock(import('node:fs/promises'), async (importOriginal) => { const actual = await importOriginal(); return { ...actual, diff --git a/packages/core/src/tools/memoryTool.ts b/packages/core/src/tools/memoryTool.ts index 70bf6adc0f..c7aead4ccc 100644 --- a/packages/core/src/tools/memoryTool.ts +++ b/packages/core/src/tools/memoryTool.ts @@ -13,8 +13,8 @@ import { ToolResult, } from './tools.js'; import { FunctionDeclaration } from '@google/genai'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { Storage } from '../config/storage.js'; import * as Diff from 'diff'; import { DEFAULT_DIFF_OPTIONS } from './diffOptions.js'; diff --git a/packages/core/src/tools/modifiable-tool.test.ts b/packages/core/src/tools/modifiable-tool.test.ts index dc68640a59..38d95061ba 100644 --- a/packages/core/src/tools/modifiable-tool.test.ts +++ b/packages/core/src/tools/modifiable-tool.test.ts @@ -12,10 +12,10 @@ import { isModifiableDeclarativeTool, } from './modifiable-tool.js'; import { EditorType } from '../utils/editor.js'; -import fs from 'fs'; -import fsp from 'fs/promises'; -import os from 'os'; -import * as path from 'path'; +import fs from 'node:fs'; +import fsp from 'node:fs/promises'; +import os from 'node:os'; +import * as path from 'node:path'; // Mock dependencies const mockOpenDiff = vi.hoisted(() => vi.fn()); diff --git a/packages/core/src/tools/modifiable-tool.ts b/packages/core/src/tools/modifiable-tool.ts index 25a2906b1f..413a071264 100644 --- a/packages/core/src/tools/modifiable-tool.ts +++ b/packages/core/src/tools/modifiable-tool.ts @@ -5,9 +5,9 @@ */ import { EditorType, openDiff } from '../utils/editor.js'; -import os from 'os'; -import path from 'path'; -import fs from 'fs'; +import os from 'node:os'; +import path from 'node:path'; +import fs from 'node:fs'; import * as Diff from 'diff'; import { DEFAULT_DIFF_OPTIONS } from './diffOptions.js'; import { isNodeError } from '../utils/errors.js'; diff --git a/packages/core/src/tools/read-file.test.ts b/packages/core/src/tools/read-file.test.ts index d4d6836a67..efe0cd24f3 100644 --- a/packages/core/src/tools/read-file.test.ts +++ b/packages/core/src/tools/read-file.test.ts @@ -7,10 +7,10 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { ReadFileTool, ReadFileToolParams } from './read-file.js'; import { ToolErrorType } from './tool-error.js'; -import path from 'path'; -import os from 'os'; -import fs from 'fs'; -import fsp from 'fs/promises'; +import path from 'node:path'; +import os from 'node:os'; +import fs from 'node:fs'; +import fsp from 'node:fs/promises'; import { Config } from '../config/config.js'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; import { StandardFileSystemService } from '../services/fileSystemService.js'; diff --git a/packages/core/src/tools/read-file.ts b/packages/core/src/tools/read-file.ts index 8e171ca547..60612d7f64 100644 --- a/packages/core/src/tools/read-file.ts +++ b/packages/core/src/tools/read-file.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import path from 'path'; +import path from 'node:path'; import { makeRelative, shortenPath } from '../utils/paths.js'; import { BaseDeclarativeTool, diff --git a/packages/core/src/tools/read-many-files.test.ts b/packages/core/src/tools/read-many-files.test.ts index afe1c5ed1a..7c88cfd747 100644 --- a/packages/core/src/tools/read-many-files.test.ts +++ b/packages/core/src/tools/read-many-files.test.ts @@ -9,9 +9,9 @@ import type { Mock } from 'vitest'; import { mockControl } from '../__mocks__/fs/promises.js'; import { ReadManyFilesTool } from './read-many-files.js'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; -import path from 'path'; -import fs from 'fs'; // Actual fs for setup -import os from 'os'; +import path from 'node:path'; +import fs from 'node:fs'; // Actual fs for setup +import os from 'node:os'; import { Config } from '../config/config.js'; import { WorkspaceContext } from '../utils/workspaceContext.js'; import { StandardFileSystemService } from '../services/fileSystemService.js'; diff --git a/packages/core/src/tools/read-many-files.ts b/packages/core/src/tools/read-many-files.ts index ad69701778..af85232ec0 100644 --- a/packages/core/src/tools/read-many-files.ts +++ b/packages/core/src/tools/read-many-files.ts @@ -12,8 +12,8 @@ import { ToolResult, } from './tools.js'; import { getErrorMessage } from '../utils/errors.js'; -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import { glob, escape } from 'glob'; import { detectFileType, diff --git a/packages/core/src/tools/ripGrep.test.ts b/packages/core/src/tools/ripGrep.test.ts index 6db4e0653d..defccd3c4b 100644 --- a/packages/core/src/tools/ripGrep.test.ts +++ b/packages/core/src/tools/ripGrep.test.ts @@ -6,12 +6,12 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { RipGrepTool, RipGrepToolParams } from './ripGrep.js'; -import path from 'path'; -import fs from 'fs/promises'; -import os, { EOL } from 'os'; +import path from 'node:path'; +import fs from 'node:fs/promises'; +import os, { EOL } from 'node:os'; import { Config } from '../config/config.js'; import { createMockWorkspaceContext } from '../test-utils/mockWorkspaceContext.js'; -import { spawn, ChildProcess } from 'child_process'; +import { spawn, ChildProcess } from 'node:child_process'; // Mock @lvce-editor/ripgrep for testing vi.mock('@lvce-editor/ripgrep', () => ({ diff --git a/packages/core/src/tools/ripGrep.ts b/packages/core/src/tools/ripGrep.ts index e5d8974ba8..bcafd97ead 100644 --- a/packages/core/src/tools/ripGrep.ts +++ b/packages/core/src/tools/ripGrep.ts @@ -4,10 +4,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import path from 'path'; -import { EOL } from 'os'; -import { spawn } from 'child_process'; +import fs from 'node:fs'; +import path from 'node:path'; +import { EOL } from 'node:os'; +import { spawn } from 'node:child_process'; import { rgPath } from '@lvce-editor/ripgrep'; import { BaseDeclarativeTool, diff --git a/packages/core/src/tools/shell.test.ts b/packages/core/src/tools/shell.test.ts index 8685616ef8..25b22dbe09 100644 --- a/packages/core/src/tools/shell.test.ts +++ b/packages/core/src/tools/shell.test.ts @@ -30,11 +30,11 @@ import { type ShellExecutionResult, type ShellOutputEvent, } from '../services/shellExecutionService.js'; -import * as fs from 'fs'; -import * as os from 'os'; -import { EOL } from 'os'; -import * as path from 'path'; -import * as crypto from 'crypto'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import { EOL } from 'node:os'; +import * as path from 'node:path'; +import * as crypto from 'node:crypto'; import * as summarizer from '../utils/summarizer.js'; import { ToolConfirmationOutcome } from './tools.js'; import { OUTPUT_UPDATE_INTERVAL_MS } from './shell.js'; diff --git a/packages/core/src/tools/shell.ts b/packages/core/src/tools/shell.ts index 5e64d030b8..c8863be76a 100644 --- a/packages/core/src/tools/shell.ts +++ b/packages/core/src/tools/shell.ts @@ -4,10 +4,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import path from 'path'; -import os, { EOL } from 'os'; -import crypto from 'crypto'; +import fs from 'node:fs'; +import path from 'node:path'; +import os, { EOL } from 'node:os'; +import crypto from 'node:crypto'; import { Config } from '../config/config.js'; import { BaseDeclarativeTool, diff --git a/packages/core/src/tools/write-file.test.ts b/packages/core/src/tools/write-file.test.ts index 0ac9360247..bda780084a 100644 --- a/packages/core/src/tools/write-file.test.ts +++ b/packages/core/src/tools/write-file.test.ts @@ -27,9 +27,9 @@ import { import { type EditToolParams } from './edit.js'; import { ApprovalMode, Config } from '../config/config.js'; import { ToolRegistry } from './tool-registry.js'; -import path from 'path'; -import fs from 'fs'; -import os from 'os'; +import path from 'node:path'; +import fs from 'node:fs'; +import os from 'node:os'; import { GeminiClient } from '../core/client.js'; import { ensureCorrectEdit, diff --git a/packages/core/src/tools/write-file.ts b/packages/core/src/tools/write-file.ts index e4aa3391d1..3594a166f2 100644 --- a/packages/core/src/tools/write-file.ts +++ b/packages/core/src/tools/write-file.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; import * as Diff from 'diff'; import { Config, ApprovalMode } from '../config/config.js'; import { diff --git a/packages/core/src/utils/bfsFileSearch.test.ts b/packages/core/src/utils/bfsFileSearch.test.ts index f9d76e386c..7fb2022b53 100644 --- a/packages/core/src/utils/bfsFileSearch.test.ts +++ b/packages/core/src/utils/bfsFileSearch.test.ts @@ -5,9 +5,9 @@ */ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; -import * as fsPromises from 'fs/promises'; -import * as path from 'path'; -import * as os from 'os'; +import * as fsPromises from 'node:fs/promises'; +import * as path from 'node:path'; +import * as os from 'node:os'; import { bfsFileSearch } from './bfsFileSearch.js'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; diff --git a/packages/core/src/utils/bfsFileSearch.ts b/packages/core/src/utils/bfsFileSearch.ts index c5b82f2ffe..0ed58a1e2e 100644 --- a/packages/core/src/utils/bfsFileSearch.ts +++ b/packages/core/src/utils/bfsFileSearch.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; import { FileFilteringOptions } from '../config/config.js'; // Simple console logger for now. diff --git a/packages/core/src/utils/editCorrector.test.ts b/packages/core/src/utils/editCorrector.test.ts index a7ef952236..95a01cd9f8 100644 --- a/packages/core/src/utils/editCorrector.test.ts +++ b/packages/core/src/utils/editCorrector.test.ts @@ -14,7 +14,7 @@ import { Mock, type Mocked, } from 'vitest'; -import * as fs from 'fs'; +import * as fs from 'node:fs'; import { EditTool } from '../tools/edit.js'; // MOCKS diff --git a/packages/core/src/utils/editCorrector.ts b/packages/core/src/utils/editCorrector.ts index 0d85740920..0a1bdeb94d 100644 --- a/packages/core/src/utils/editCorrector.ts +++ b/packages/core/src/utils/editCorrector.ts @@ -17,7 +17,7 @@ import { isFunctionResponse, isFunctionCall, } from '../utils/messageInspectors.js'; -import * as fs from 'fs'; +import * as fs from 'node:fs'; const EditModel = DEFAULT_GEMINI_FLASH_LITE_MODEL; const EditConfig: GenerateContentConfig = { diff --git a/packages/core/src/utils/editor.test.ts b/packages/core/src/utils/editor.test.ts index a29b2a8bd1..c60640c38b 100644 --- a/packages/core/src/utils/editor.test.ts +++ b/packages/core/src/utils/editor.test.ts @@ -21,7 +21,7 @@ import { isEditorAvailable, type EditorType, } from './editor.js'; -import { execSync, spawn } from 'child_process'; +import { execSync, spawn } from 'node:child_process'; vi.mock('child_process', () => ({ execSync: vi.fn(), diff --git a/packages/core/src/utils/editor.ts b/packages/core/src/utils/editor.ts index fba6ed3fa2..c68780d95b 100644 --- a/packages/core/src/utils/editor.ts +++ b/packages/core/src/utils/editor.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { execSync, spawn } from 'child_process'; +import { execSync, spawn } from 'node:child_process'; export type EditorType = | 'vscode' diff --git a/packages/core/src/utils/fetch.ts b/packages/core/src/utils/fetch.ts index e78a3247e9..dfbcca18f0 100644 --- a/packages/core/src/utils/fetch.ts +++ b/packages/core/src/utils/fetch.ts @@ -5,7 +5,7 @@ */ import { getErrorMessage, isNodeError } from './errors.js'; -import { URL } from 'url'; +import { URL } from 'node:url'; const PRIVATE_IP_RANGES = [ /^10\./, diff --git a/packages/core/src/utils/filesearch/crawler.test.ts b/packages/core/src/utils/filesearch/crawler.test.ts index baa4d19a55..e22e5a3c99 100644 --- a/packages/core/src/utils/filesearch/crawler.test.ts +++ b/packages/core/src/utils/filesearch/crawler.test.ts @@ -5,8 +5,8 @@ */ import { describe, it, expect, afterEach, vi, beforeEach } from 'vitest'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import * as cache from './crawlCache.js'; import { crawl } from './crawler.js'; import { createTmpDir, cleanupTmpDir } from '@google/gemini-cli-test-utils'; diff --git a/packages/core/src/utils/getFolderStructure.test.ts b/packages/core/src/utils/getFolderStructure.test.ts index f7b67ae4a6..e40586ff13 100644 --- a/packages/core/src/utils/getFolderStructure.test.ts +++ b/packages/core/src/utils/getFolderStructure.test.ts @@ -5,12 +5,12 @@ */ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; -import fsPromises from 'fs/promises'; -import * as nodePath from 'path'; -import * as os from 'os'; +import fsPromises from 'node:fs/promises'; +import * as nodePath from 'node:path'; +import * as os from 'node:os'; import { getFolderStructure } from './getFolderStructure.js'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; -import * as path from 'path'; +import * as path from 'node:path'; describe('getFolderStructure', () => { let testRootDir: string; diff --git a/packages/core/src/utils/getFolderStructure.ts b/packages/core/src/utils/getFolderStructure.ts index 60c539b54e..03f286602f 100644 --- a/packages/core/src/utils/getFolderStructure.ts +++ b/packages/core/src/utils/getFolderStructure.ts @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import { Dirent } from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import { Dirent } from 'node:fs'; +import * as path from 'node:path'; import { getErrorMessage, isNodeError } from './errors.js'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; import { FileFilteringOptions } from '../config/config.js'; diff --git a/packages/core/src/utils/gitIgnoreParser.test.ts b/packages/core/src/utils/gitIgnoreParser.test.ts index b5fe8b2ac8..ca76095a1a 100644 --- a/packages/core/src/utils/gitIgnoreParser.test.ts +++ b/packages/core/src/utils/gitIgnoreParser.test.ts @@ -6,9 +6,9 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import { GitIgnoreParser } from './gitIgnoreParser.js'; -import * as fs from 'fs/promises'; -import * as path from 'path'; -import * as os from 'os'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; +import * as os from 'node:os'; describe('GitIgnoreParser', () => { let parser: GitIgnoreParser; diff --git a/packages/core/src/utils/gitIgnoreParser.ts b/packages/core/src/utils/gitIgnoreParser.ts index f2422a929d..177a0d2c9d 100644 --- a/packages/core/src/utils/gitIgnoreParser.ts +++ b/packages/core/src/utils/gitIgnoreParser.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import ignore, { type Ignore } from 'ignore'; import { isGitRepository } from './gitUtils.js'; diff --git a/packages/core/src/utils/gitUtils.ts b/packages/core/src/utils/gitUtils.ts index 90ec27aa2e..9ac8f1b04a 100644 --- a/packages/core/src/utils/gitUtils.ts +++ b/packages/core/src/utils/gitUtils.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; /** * Checks if a directory is within a git repository diff --git a/packages/core/src/utils/ignorePatterns.ts b/packages/core/src/utils/ignorePatterns.ts index 3b6cbc056d..0e1669d8aa 100644 --- a/packages/core/src/utils/ignorePatterns.ts +++ b/packages/core/src/utils/ignorePatterns.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import path from 'path'; +import path from 'node:path'; import { Config } from '../config/config.js'; import { getCurrentGeminiMdFilename } from '../tools/memoryTool.js'; diff --git a/packages/core/src/utils/installationManager.test.ts b/packages/core/src/utils/installationManager.test.ts index d6a35f685a..4aeb53f4d3 100644 --- a/packages/core/src/utils/installationManager.test.ts +++ b/packages/core/src/utils/installationManager.test.ts @@ -9,7 +9,7 @@ import { InstallationManager } from './installationManager.js'; import * as fs from 'node:fs'; import * as os from 'node:os'; import path from 'node:path'; -import { randomUUID } from 'crypto'; +import { randomUUID } from 'node:crypto'; vi.mock('node:fs', async (importOriginal) => { const actual = await importOriginal(); diff --git a/packages/core/src/utils/installationManager.ts b/packages/core/src/utils/installationManager.ts index 9146ddd0b4..154e3b7597 100644 --- a/packages/core/src/utils/installationManager.ts +++ b/packages/core/src/utils/installationManager.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs'; -import { randomUUID } from 'crypto'; +import * as fs from 'node:fs'; +import { randomUUID } from 'node:crypto'; import * as path from 'node:path'; import { Storage } from '../config/storage.js'; diff --git a/packages/core/src/utils/language-detection.ts b/packages/core/src/utils/language-detection.ts index 0a1ae6f5d8..ebbefe8b31 100644 --- a/packages/core/src/utils/language-detection.ts +++ b/packages/core/src/utils/language-detection.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as path from 'path'; +import * as path from 'node:path'; const extensionToLanguageMap: { [key: string]: string } = { '.ts': 'TypeScript', diff --git a/packages/core/src/utils/memoryDiscovery.test.ts b/packages/core/src/utils/memoryDiscovery.test.ts index c67427e949..eea137aa11 100644 --- a/packages/core/src/utils/memoryDiscovery.test.ts +++ b/packages/core/src/utils/memoryDiscovery.test.ts @@ -5,9 +5,9 @@ */ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest'; -import * as fsPromises from 'fs/promises'; -import * as os from 'os'; -import * as path from 'path'; +import * as fsPromises from 'node:fs/promises'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { loadServerHierarchicalMemory } from './memoryDiscovery.js'; import { GEMINI_CONFIG_DIR, diff --git a/packages/core/src/utils/memoryDiscovery.ts b/packages/core/src/utils/memoryDiscovery.ts index d2eff39ca7..bae53ce405 100644 --- a/packages/core/src/utils/memoryDiscovery.ts +++ b/packages/core/src/utils/memoryDiscovery.ts @@ -4,10 +4,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import * as fsSync from 'fs'; -import * as path from 'path'; -import { homedir } from 'os'; +import * as fs from 'node:fs/promises'; +import * as fsSync from 'node:fs'; +import * as path from 'node:path'; +import { homedir } from 'node:os'; import { bfsFileSearch } from './bfsFileSearch.js'; import { GEMINI_CONFIG_DIR, diff --git a/packages/core/src/utils/memoryImportProcessor.test.ts b/packages/core/src/utils/memoryImportProcessor.test.ts index a08b5969f5..621c2e5f5f 100644 --- a/packages/core/src/utils/memoryImportProcessor.test.ts +++ b/packages/core/src/utils/memoryImportProcessor.test.ts @@ -5,8 +5,8 @@ */ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { marked } from 'marked'; import { processImports, validateImportPath } from './memoryImportProcessor.js'; diff --git a/packages/core/src/utils/memoryImportProcessor.ts b/packages/core/src/utils/memoryImportProcessor.ts index c89b983b79..1519ae0c8d 100644 --- a/packages/core/src/utils/memoryImportProcessor.ts +++ b/packages/core/src/utils/memoryImportProcessor.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { isSubpath } from './paths.js'; import { marked } from 'marked'; diff --git a/packages/core/src/utils/paths.ts b/packages/core/src/utils/paths.ts index fe690b39b8..5723527996 100644 --- a/packages/core/src/utils/paths.ts +++ b/packages/core/src/utils/paths.ts @@ -5,8 +5,8 @@ */ import path from 'node:path'; -import os from 'os'; -import * as crypto from 'crypto'; +import os from 'node:os'; +import * as crypto from 'node:crypto'; export const GEMINI_DIR = '.gemini'; export const GOOGLE_ACCOUNTS_FILENAME = 'google_accounts.json'; diff --git a/packages/core/src/utils/session.ts b/packages/core/src/utils/session.ts index 5772601905..96cdbbf48c 100644 --- a/packages/core/src/utils/session.ts +++ b/packages/core/src/utils/session.ts @@ -4,6 +4,6 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { randomUUID } from 'crypto'; +import { randomUUID } from 'node:crypto'; export const sessionId = randomUUID(); diff --git a/packages/core/src/utils/shell-utils.ts b/packages/core/src/utils/shell-utils.ts index 808cf893da..5c187c8851 100644 --- a/packages/core/src/utils/shell-utils.ts +++ b/packages/core/src/utils/shell-utils.ts @@ -5,7 +5,7 @@ */ import { Config } from '../config/config.js'; -import os from 'os'; +import os from 'node:os'; import { quote } from 'shell-quote'; /** diff --git a/packages/core/src/utils/systemEncoding.test.ts b/packages/core/src/utils/systemEncoding.test.ts index afabd33ff5..bb594dd1e9 100644 --- a/packages/core/src/utils/systemEncoding.test.ts +++ b/packages/core/src/utils/systemEncoding.test.ts @@ -5,8 +5,8 @@ */ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest'; -import { execSync } from 'child_process'; -import * as os from 'os'; +import { execSync } from 'node:child_process'; +import * as os from 'node:os'; import { detect as chardetDetect } from 'chardet'; // Mock dependencies diff --git a/packages/core/src/utils/systemEncoding.ts b/packages/core/src/utils/systemEncoding.ts index ba632d4188..4f43b24ab1 100644 --- a/packages/core/src/utils/systemEncoding.ts +++ b/packages/core/src/utils/systemEncoding.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { execSync } from 'child_process'; -import os from 'os'; +import { execSync } from 'node:child_process'; +import os from 'node:os'; import { detect as chardetDetect } from 'chardet'; // Cache for system encoding to avoid repeated detection diff --git a/packages/core/src/utils/workspaceContext.test.ts b/packages/core/src/utils/workspaceContext.test.ts index 096661f2ab..c93dffe47f 100644 --- a/packages/core/src/utils/workspaceContext.test.ts +++ b/packages/core/src/utils/workspaceContext.test.ts @@ -5,9 +5,9 @@ */ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { WorkspaceContext } from './workspaceContext.js'; describe('WorkspaceContext with real filesystem', () => { diff --git a/packages/core/src/utils/workspaceContext.ts b/packages/core/src/utils/workspaceContext.ts index 144f7337af..97db6852cb 100755 --- a/packages/core/src/utils/workspaceContext.ts +++ b/packages/core/src/utils/workspaceContext.ts @@ -5,9 +5,9 @@ */ import { isNodeError } from '../utils/errors.js'; -import * as fs from 'fs'; -import * as path from 'path'; -import * as process from 'process'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import * as process from 'node:process'; export type Unsubscribe = () => void; diff --git a/packages/test-utils/src/file-system-test-helpers.ts b/packages/test-utils/src/file-system-test-helpers.ts index f78c7af4a6..0824211b20 100644 --- a/packages/test-utils/src/file-system-test-helpers.ts +++ b/packages/test-utils/src/file-system-test-helpers.ts @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import * as fs from 'fs/promises'; -import * as path from 'path'; -import * as os from 'os'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; +import * as os from 'node:os'; /** * Defines the structure of a virtual file system to be created for testing. diff --git a/packages/vscode-ide-companion/scripts/generate-notices.js b/packages/vscode-ide-companion/scripts/generate-notices.js index d947f6ca5a..b6c3341fac 100644 --- a/packages/vscode-ide-companion/scripts/generate-notices.js +++ b/packages/vscode-ide-companion/scripts/generate-notices.js @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs/promises'; -import path from 'path'; -import { fileURLToPath } from 'url'; +import fs from 'node:fs/promises'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; const projectRoot = path.resolve( path.join(path.dirname(fileURLToPath(import.meta.url)), '..', '..', '..'), diff --git a/scripts/build.js b/scripts/build.js index 2555a750cf..8a525e98e3 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -17,10 +17,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { execSync } from 'child_process'; -import { existsSync } from 'fs'; -import { dirname, join } from 'path'; -import { fileURLToPath } from 'url'; +import { execSync } from 'node:child_process'; +import { existsSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); const root = join(__dirname, '..'); diff --git a/scripts/build_package.js b/scripts/build_package.js index 9e1b05bf0b..73f73861e9 100644 --- a/scripts/build_package.js +++ b/scripts/build_package.js @@ -17,9 +17,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { execSync } from 'child_process'; -import { writeFileSync } from 'fs'; -import { join } from 'path'; +import { execSync } from 'node:child_process'; +import { writeFileSync } from 'node:fs'; +import { join } from 'node:path'; if (!process.cwd().includes('packages')) { console.error('must be invoked from a package directory'); diff --git a/scripts/build_sandbox.js b/scripts/build_sandbox.js index ef6b068697..7f9a4571e5 100644 --- a/scripts/build_sandbox.js +++ b/scripts/build_sandbox.js @@ -17,10 +17,16 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { execSync } from 'child_process'; -import { chmodSync, existsSync, readFileSync, rmSync, writeFileSync } from 'fs'; -import { join } from 'path'; -import os from 'os'; +import { execSync } from 'node:child_process'; +import { + chmodSync, + existsSync, + readFileSync, + rmSync, + writeFileSync, +} from 'node:fs'; +import { join } from 'node:path'; +import os from 'node:os'; import yargs from 'yargs'; import { hideBin } from 'yargs/helpers'; import cliPkgJson from '../packages/cli/package.json' with { type: 'json' }; diff --git a/scripts/build_vscode_companion.js b/scripts/build_vscode_companion.js index 5bcda2cdf9..52779ab369 100644 --- a/scripts/build_vscode_companion.js +++ b/scripts/build_vscode_companion.js @@ -17,9 +17,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { execSync } from 'child_process'; -import { dirname, join } from 'path'; -import { fileURLToPath } from 'url'; +import { execSync } from 'node:child_process'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); const root = join(__dirname, '..'); diff --git a/scripts/check-build-status.js b/scripts/check-build-status.js index 5a63fbcd2f..3c6eeb7eae 100644 --- a/scripts/check-build-status.js +++ b/scripts/check-build-status.js @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import path from 'path'; -import os from 'os'; // Import os module +import fs from 'node:fs'; +import path from 'node:path'; +import os from 'node:os'; // Import os module // --- Configuration --- const cliPackageDir = path.resolve('packages', 'cli'); // Base directory for the CLI package diff --git a/scripts/clean.js b/scripts/clean.js index 833f484285..88493a63c1 100644 --- a/scripts/clean.js +++ b/scripts/clean.js @@ -17,9 +17,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { rmSync, readFileSync } from 'fs'; -import { dirname, join } from 'path'; -import { fileURLToPath } from 'url'; +import { rmSync, readFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { globSync } from 'glob'; const __dirname = dirname(fileURLToPath(import.meta.url)); diff --git a/scripts/copy_bundle_assets.js b/scripts/copy_bundle_assets.js index 5a3af3e95e..609f361195 100644 --- a/scripts/copy_bundle_assets.js +++ b/scripts/copy_bundle_assets.js @@ -17,9 +17,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { copyFileSync, existsSync, mkdirSync } from 'fs'; -import { dirname, join, basename } from 'path'; -import { fileURLToPath } from 'url'; +import { copyFileSync, existsSync, mkdirSync } from 'node:fs'; +import { dirname, join, basename } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { glob } from 'glob'; const __dirname = dirname(fileURLToPath(import.meta.url)); diff --git a/scripts/copy_files.js b/scripts/copy_files.js index e6c6b696d5..6a183655c3 100644 --- a/scripts/copy_files.js +++ b/scripts/copy_files.js @@ -20,8 +20,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; const sourceDir = path.join('src'); const targetDir = path.join('dist', 'src'); diff --git a/scripts/generate-git-commit-info.js b/scripts/generate-git-commit-info.js index 64b3c748df..75c8bb97ba 100644 --- a/scripts/generate-git-commit-info.js +++ b/scripts/generate-git-commit-info.js @@ -17,10 +17,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { execSync } from 'child_process'; -import { existsSync, mkdirSync, writeFileSync } from 'fs'; -import { dirname, join, relative } from 'path'; -import { fileURLToPath } from 'url'; +import { execSync } from 'node:child_process'; +import { existsSync, mkdirSync, writeFileSync } from 'node:fs'; +import { dirname, join, relative } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { readPackageUp } from 'read-package-up'; const __dirname = dirname(fileURLToPath(import.meta.url)); diff --git a/scripts/get-release-version.js b/scripts/get-release-version.js index 7b7768228c..9d27410d45 100644 --- a/scripts/get-release-version.js +++ b/scripts/get-release-version.js @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { execSync } from 'child_process'; +import { execSync } from 'node:child_process'; function getLatestStableTag() { // Fetches all tags, then filters for the latest stable (non-prerelease) tag. diff --git a/scripts/local_telemetry.js b/scripts/local_telemetry.js index 10a018c982..383a4ad713 100755 --- a/scripts/local_telemetry.js +++ b/scripts/local_telemetry.js @@ -6,10 +6,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -import path from 'path'; -import fs from 'fs'; -import { spawn, execSync } from 'child_process'; -import { fileURLToPath } from 'url'; +import path from 'node:path'; +import fs from 'node:fs'; +import { spawn, execSync } from 'node:child_process'; +import { fileURLToPath } from 'node:url'; import { BIN_DIR, OTEL_DIR, diff --git a/scripts/prepare-package.js b/scripts/prepare-package.js index 5498499be6..ff1dc137ff 100644 --- a/scripts/prepare-package.js +++ b/scripts/prepare-package.js @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; // ES module equivalent of __dirname const __filename = fileURLToPath(import.meta.url); diff --git a/scripts/sandbox_command.js b/scripts/sandbox_command.js index a7ae3c4ca9..1e1d80de37 100644 --- a/scripts/sandbox_command.js +++ b/scripts/sandbox_command.js @@ -17,11 +17,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { execSync } from 'child_process'; -import { existsSync, readFileSync } from 'fs'; -import { join, dirname } from 'path'; +import { execSync } from 'node:child_process'; +import { existsSync, readFileSync } from 'node:fs'; +import { join, dirname } from 'node:path'; import stripJsonComments from 'strip-json-comments'; -import os from 'os'; +import os from 'node:os'; import yargs from 'yargs'; import { hideBin } from 'yargs/helpers'; import dotenv from 'dotenv'; diff --git a/scripts/start.js b/scripts/start.js index ae100f287d..9898d0be30 100644 --- a/scripts/start.js +++ b/scripts/start.js @@ -17,10 +17,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { spawn, execSync } from 'child_process'; -import { dirname, join } from 'path'; -import { fileURLToPath } from 'url'; -import { readFileSync } from 'fs'; +import { spawn, execSync } from 'node:child_process'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { readFileSync } from 'node:fs'; const __dirname = dirname(fileURLToPath(import.meta.url)); const root = join(__dirname, '..'); diff --git a/scripts/telemetry.js b/scripts/telemetry.js index 9d441072d1..a1833c87ea 100755 --- a/scripts/telemetry.js +++ b/scripts/telemetry.js @@ -6,9 +6,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { execSync } from 'child_process'; -import { join } from 'path'; -import { existsSync, readFileSync } from 'fs'; +import { execSync } from 'node:child_process'; +import { join } from 'node:path'; +import { existsSync, readFileSync } from 'node:fs'; const projectRoot = join(import.meta.dirname, '..'); diff --git a/scripts/telemetry_gcp.js b/scripts/telemetry_gcp.js index 7e2d287bbb..33ac2d42b3 100755 --- a/scripts/telemetry_gcp.js +++ b/scripts/telemetry_gcp.js @@ -6,9 +6,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import path from 'path'; -import fs from 'fs'; -import { spawn, execSync } from 'child_process'; +import path from 'node:path'; +import fs from 'node:fs'; +import { spawn, execSync } from 'node:child_process'; import { OTEL_DIR, BIN_DIR, diff --git a/scripts/telemetry_utils.js b/scripts/telemetry_utils.js index 66f1474530..340a057644 100644 --- a/scripts/telemetry_utils.js +++ b/scripts/telemetry_utils.js @@ -6,12 +6,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -import path from 'path'; -import fs from 'fs'; -import net from 'net'; -import os from 'os'; -import { execSync } from 'child_process'; -import { fileURLToPath } from 'url'; +import path from 'node:path'; +import fs from 'node:fs'; +import net from 'node:net'; +import os from 'node:os'; +import { execSync } from 'node:child_process'; +import { fileURLToPath } from 'node:url'; import crypto from 'node:crypto'; const __filename = fileURLToPath(import.meta.url); diff --git a/scripts/test-windows-paths.js b/scripts/test-windows-paths.js index d25d29c252..eebdddd769 100644 --- a/scripts/test-windows-paths.js +++ b/scripts/test-windows-paths.js @@ -4,8 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import path from 'path'; -import { fileURLToPath } from 'url'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; // Test how paths are normalized function testPathNormalization() { diff --git a/scripts/tests/get-release-version.test.js b/scripts/tests/get-release-version.test.js index fdc30456e7..c91844fb51 100644 --- a/scripts/tests/get-release-version.test.js +++ b/scripts/tests/get-release-version.test.js @@ -14,7 +14,7 @@ vi.mock('child_process', () => ({ describe('getReleaseVersion', async () => { // Dynamically import execSync after mocking - const { execSync } = await import('child_process'); + const { execSync } = await import('node:child_process'); const originalEnv = { ...process.env }; beforeEach(() => { diff --git a/scripts/version.js b/scripts/version.js index fc9933613c..24b687f446 100644 --- a/scripts/version.js +++ b/scripts/version.js @@ -4,9 +4,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { execSync } from 'child_process'; -import { readFileSync, writeFileSync } from 'fs'; -import { resolve } from 'path'; +import { execSync } from 'node:child_process'; +import { readFileSync, writeFileSync } from 'node:fs'; +import { resolve } from 'node:path'; // A script to handle versioning and ensure all related changes are in a single, atomic commit.