chore: Extract '.gemini' to GEMINI_DIR constant (#10540)

Co-authored-by: Richie Foreman <richie.foreman@gmail.com>
This commit is contained in:
Dongin Kim(Terry)
2025-10-14 02:31:39 +09:00
committed by GitHub
parent 7beaa368a9
commit 518caae62e
36 changed files with 181 additions and 157 deletions

View File

@@ -11,7 +11,11 @@ import * as path from 'node:path';
import { restoreCommand } from './restoreCommand.js';
import { type CommandContext } from './types.js';
import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
import type { Config, GitService } from '@google/gemini-cli-core';
import {
GEMINI_DIR,
type Config,
type GitService,
} from '@google/gemini-cli-core';
describe('restoreCommand', () => {
let mockContext: CommandContext;
@@ -26,7 +30,7 @@ describe('restoreCommand', () => {
testRootDir = await fs.mkdtemp(
path.join(os.tmpdir(), 'restore-command-test-'),
);
geminiTempDir = path.join(testRootDir, '.gemini');
geminiTempDir = path.join(testRootDir, GEMINI_DIR);
checkpointsDir = path.join(geminiTempDir, 'checkpoints');
// The command itself creates this, but for tests it's easier to have it ready.
// Some tests might remove it to test error paths.

View File

@@ -11,10 +11,11 @@ import { theme } from '../semantic-colors.js';
import { StreamingState } from '../types.js';
import { UpdateNotification } from './UpdateNotification.js';
import { GEMINI_DIR } from '@google/gemini-cli-core';
import { homedir } from 'node:os';
import path from 'node:path';
const settingsPath = path.join(homedir(), '.gemini', 'settings.json');
const settingsPath = path.join(homedir(), GEMINI_DIR, 'settings.json');
export const Notifications = () => {
const { startupWarnings } = useAppContext();

View File

@@ -19,6 +19,7 @@ vi.mock('../contexts/ConfigContext.js');
vi.mock('../contexts/UIStateContext.js');
vi.mock('@google/gemini-cli-core', () => ({
recordFlickerFrame: vi.fn(),
GEMINI_DIR: '.gemini',
}));
vi.mock('ink', async (importOriginal) => {
const original = await importOriginal<typeof import('ink')>();

View File

@@ -10,30 +10,34 @@ 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';
import { GEMINI_DIR } from '@google/gemini-cli-core';
vi.mock('fs/promises', () => ({
vi.mock('node:fs/promises', () => ({
readFile: vi.fn(),
writeFile: vi.fn(),
mkdir: vi.fn(),
}));
vi.mock('os');
vi.mock('crypto');
vi.mock('fs', async (importOriginal) => {
const actualFs = await importOriginal<typeof import('fs')>();
vi.mock('node:os');
vi.mock('node:crypto');
vi.mock('node:fs', async (importOriginal) => {
const actualFs = await importOriginal<typeof import('node:fs')>();
return {
...actualFs,
mkdirSync: vi.fn(),
};
});
vi.mock('@google/gemini-cli-core', () => {
vi.mock('@google/gemini-cli-core', async (importOriginal) => {
const actual =
await importOriginal<typeof import('@google/gemini-cli-core')>();
const path = await import('node:path');
class Storage {
getProjectTempDir(): string {
return path.join('/test/home/', '.gemini', 'tmp', 'mocked_hash');
return path.join('/test/home/', actual.GEMINI_DIR, 'tmp', 'mocked_hash');
}
getHistoryFilePath(): string {
return path.join(
'/test/home/',
'.gemini',
actual.GEMINI_DIR,
'tmp',
'mocked_hash',
'shell_history',
@@ -41,6 +45,7 @@ vi.mock('@google/gemini-cli-core', () => {
}
}
return {
...actual,
isNodeError: (err: unknown): err is NodeJS.ErrnoException =>
typeof err === 'object' && err !== null && 'code' in err,
Storage,
@@ -53,7 +58,7 @@ const MOCKED_PROJECT_HASH = 'mocked_hash';
const MOCKED_HISTORY_DIR = path.join(
MOCKED_HOME_DIR,
'.gemini',
GEMINI_DIR,
'tmp',
MOCKED_PROJECT_HASH,
);