mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-21 17:27:54 +00:00
pre-release commit
This commit is contained in:
36
packages/cli/src/utils/cleanup.ts
Normal file
36
packages/cli/src/utils/cleanup.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2025 Google LLC
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
import { promises as fs } from 'fs';
|
||||
import { join } from 'path';
|
||||
import { getProjectTempDir } from '@qwen/qwen-code-core';
|
||||
|
||||
const cleanupFunctions: Array<() => void> = [];
|
||||
|
||||
export function registerCleanup(fn: () => void) {
|
||||
cleanupFunctions.push(fn);
|
||||
}
|
||||
|
||||
export function runExitCleanup() {
|
||||
for (const fn of cleanupFunctions) {
|
||||
try {
|
||||
fn();
|
||||
} catch (_) {
|
||||
// Ignore errors during cleanup.
|
||||
}
|
||||
}
|
||||
cleanupFunctions.length = 0; // Clear the array
|
||||
}
|
||||
|
||||
export async function cleanupCheckpoints() {
|
||||
const tempDir = getProjectTempDir(process.cwd());
|
||||
const checkpointsDir = join(tempDir, 'checkpoints');
|
||||
try {
|
||||
await fs.rm(checkpointsDir, { recursive: true, force: true });
|
||||
} catch {
|
||||
// Ignore errors if the directory doesn't exist or fails to delete.
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user