Files
ccs/scripts/postuninstall.js
T
kaitranntt 21b18d0c4e refactor(websearch): address PR review recommendations
- Add comment in postuninstall.js explaining intentional os.homedir()
- Fix comment in install-command.ts (doesn't touch global settings.json)
- Consolidate duplicate getCcsHooksDir() - export from hook-config.ts
- Add debug logging to silent catch blocks in profile-hook-injector.ts
2026-01-25 21:13:55 -05:00

43 lines
1.2 KiB
JavaScript

#!/usr/bin/env node
/**
* CCS Postuninstall Script
*
* Cleans up CCS-specific files after npm uninstall.
* Does NOT touch global ~/.claude/settings.json (hooks are per-profile now).
*
* Self-contained, no external dependencies.
*/
const fs = require('fs');
const path = require('path');
const os = require('os');
// Note: Uses os.homedir() directly because this script runs during npm uninstall,
// not in test context. CCS_HOME isolation is for src/ code only.
const CCS_DIR = path.join(os.homedir(), '.ccs');
const HOOKS_DIR = path.join(CCS_DIR, 'hooks');
const MIGRATION_MARKER = path.join(CCS_DIR, '.hook-migrated');
function cleanupCcsFiles() {
try {
// Remove WebSearch hook file
const hookPath = path.join(HOOKS_DIR, 'websearch-transformer.cjs');
if (fs.existsSync(hookPath)) {
fs.unlinkSync(hookPath);
}
// Remove migration marker (so fresh install re-runs migration)
if (fs.existsSync(MIGRATION_MARKER)) {
fs.unlinkSync(MIGRATION_MARKER);
}
// Note: Do NOT touch ~/.claude/settings.json
// Per-profile hooks in ~/.ccs/*.settings.json will be cleaned up
// when the user removes ~/.ccs/ directory.
} catch {
// Silent fail - not critical
}
}
cleanupCcsFiles();