mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-17 16:16:37 +00:00
refactor(hooks): consolidate getCcsHooksDir to config-manager
- remove duplicate definitions from 3 locations - centralize in config-manager.ts for DRY compliance - update all imports across hook modules
This commit is contained in:
@@ -26,6 +26,14 @@ export function getCcsDir(): string {
|
|||||||
return path.join(getCcsHome(), '.ccs');
|
return path.join(getCcsHome(), '.ccs');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get CCS hooks directory (respects CCS_HOME for test isolation)
|
||||||
|
* @returns Path to hooks directory
|
||||||
|
*/
|
||||||
|
export function getCcsHooksDir(): string {
|
||||||
|
return path.join(getCcsDir(), 'hooks');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get config file path (legacy JSON path)
|
* Get config file path (legacy JSON path)
|
||||||
* @deprecated Use getActiveConfigPath() for mode-aware config path
|
* @deprecated Use getActiveConfigPath() for mode-aware config path
|
||||||
|
|||||||
@@ -8,18 +8,11 @@
|
|||||||
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { getImageAnalysisConfig } from '../../config/unified-config-loader';
|
import { getImageAnalysisConfig } from '../../config/unified-config-loader';
|
||||||
import { getCcsDir } from '../config-manager';
|
import { getCcsHooksDir } from '../config-manager';
|
||||||
|
|
||||||
// Hook file name
|
// Hook file name
|
||||||
const IMAGE_ANALYZER_HOOK = 'image-analyzer-transformer.cjs';
|
const IMAGE_ANALYZER_HOOK = 'image-analyzer-transformer.cjs';
|
||||||
|
|
||||||
/**
|
|
||||||
* Get CCS hooks directory (respects CCS_HOME for test isolation)
|
|
||||||
*/
|
|
||||||
export function getCcsHooksDir(): string {
|
|
||||||
return path.join(getCcsDir(), 'hooks');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get path to image analyzer hook
|
* Get path to image analyzer hook
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -10,7 +10,8 @@
|
|||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { info, warn } from '../ui';
|
import { info, warn } from '../ui';
|
||||||
import { getImageAnalyzerHookPath, getCcsHooksDir } from './image-analyzer-hook-configuration';
|
import { getImageAnalyzerHookPath } from './image-analyzer-hook-configuration';
|
||||||
|
import { getCcsHooksDir } from '../config-manager';
|
||||||
import { getImageAnalysisConfig } from '../../config/unified-config-loader';
|
import { getImageAnalysisConfig } from '../../config/unified-config-loader';
|
||||||
import { removeMigrationMarker } from './image-analyzer-profile-hook-injector';
|
import { removeMigrationMarker } from './image-analyzer-profile-hook-injector';
|
||||||
|
|
||||||
|
|||||||
@@ -9,20 +9,13 @@
|
|||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { info, warn } from '../ui';
|
import { info, warn } from '../ui';
|
||||||
import { getCcsDir } from '../config-manager';
|
import { getCcsHooksDir } from '../config-manager';
|
||||||
|
|
||||||
/**
|
|
||||||
* Get CCS hooks directory
|
|
||||||
*/
|
|
||||||
export function getCcsHooksDir(): string {
|
|
||||||
return path.join(getCcsDir(), 'hooks');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get prompts directory for image analysis
|
* Get prompts directory for image analysis
|
||||||
*/
|
*/
|
||||||
export function getPromptsDir(): string {
|
export function getPromptsDir(): string {
|
||||||
return path.join(getCcsDir(), 'prompts', 'image-analysis');
|
return path.join(getCcsHooksDir(), '..', 'prompts', 'image-analysis');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -4,4 +4,4 @@
|
|||||||
* Exports hook installer functions for prompt management
|
* Exports hook installer functions for prompt management
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export { getCcsHooksDir, getPromptsDir, installImageAnalysisPrompts } from './hook-installer';
|
export { getPromptsDir, installImageAnalysisPrompts } from './hook-installer';
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import * as path from 'path';
|
|||||||
import * as os from 'os';
|
import * as os from 'os';
|
||||||
import { info, warn } from '../ui';
|
import { info, warn } from '../ui';
|
||||||
import { getWebSearchConfig } from '../../config/unified-config-loader';
|
import { getWebSearchConfig } from '../../config/unified-config-loader';
|
||||||
import { getCcsDir } from '../config-manager';
|
import { getCcsHooksDir } from '../config-manager';
|
||||||
import { isCcsWebSearchHook, deduplicateCcsHooks } from './hook-utils';
|
import { isCcsWebSearchHook, deduplicateCcsHooks } from './hook-utils';
|
||||||
|
|
||||||
// Hook file name
|
// Hook file name
|
||||||
@@ -32,13 +32,6 @@ function getClaudeSettingsPath(): string {
|
|||||||
return path.join(os.homedir(), '.claude', 'settings.json');
|
return path.join(os.homedir(), '.claude', 'settings.json');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get CCS hooks directory (respects CCS_HOME for test isolation)
|
|
||||||
*/
|
|
||||||
export function getCcsHooksDir(): string {
|
|
||||||
return path.join(getCcsDir(), 'hooks');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Buffer time added to max provider timeout for hook timeout (seconds)
|
// Buffer time added to max provider timeout for hook timeout (seconds)
|
||||||
const HOOK_TIMEOUT_BUFFER = 30;
|
const HOOK_TIMEOUT_BUFFER = 30;
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ import * as fs from 'fs';
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { info, warn } from '../ui';
|
import { info, warn } from '../ui';
|
||||||
import { getWebSearchConfig } from '../../config/unified-config-loader';
|
import { getWebSearchConfig } from '../../config/unified-config-loader';
|
||||||
import { getHookPath, getCcsHooksDir } from './hook-config';
|
import { getCcsHooksDir } from '../config-manager';
|
||||||
|
import { getHookPath } from './hook-config';
|
||||||
import { removeMigrationMarker } from './profile-hook-injector';
|
import { removeMigrationMarker } from './profile-hook-injector';
|
||||||
|
|
||||||
// Re-export from hook-config for backward compatibility
|
// Re-export from hook-config for backward compatibility
|
||||||
|
|||||||
Reference in New Issue
Block a user