mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-20 16:57:46 +00:00
fix: pass startup warnings to app as prop (#342)
This commit is contained in:
40
packages/cli/src/utils/startupWarnings.ts
Normal file
40
packages/cli/src/utils/startupWarnings.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2025 Google LLC
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
import fs from 'fs/promises';
|
||||
import os from 'os';
|
||||
import { join as pathJoin } from 'node:path';
|
||||
import { getErrorMessage } from '@gemini-code/server';
|
||||
|
||||
const warningsFilePath = pathJoin(os.tmpdir(), 'gemini-code-cli-warnings.txt');
|
||||
|
||||
export async function getStartupWarnings(): Promise<string[]> {
|
||||
try {
|
||||
await fs.access(warningsFilePath); // Check if file exists
|
||||
const warningsContent = await fs.readFile(warningsFilePath, 'utf-8');
|
||||
const warnings = warningsContent
|
||||
.split('\n')
|
||||
.filter((line) => line.trim() !== '');
|
||||
try {
|
||||
await fs.unlink(warningsFilePath);
|
||||
} catch {
|
||||
warnings.push('Warning: Could not delete temporary warnings file.');
|
||||
}
|
||||
return warnings;
|
||||
} catch (err: unknown) {
|
||||
// If fs.access throws, it means the file doesn't exist or is not accessible.
|
||||
// This is not an error in the context of fetching warnings, so return empty.
|
||||
// Only return an error message if it's not a "file not found" type error.
|
||||
// However, the original logic returned an error message for any fs.existsSync failure.
|
||||
// To maintain closer parity while making it async, we'll check the error code.
|
||||
// ENOENT is "Error NO ENTry" (file not found).
|
||||
if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {
|
||||
return []; // File not found, no warnings to return.
|
||||
}
|
||||
// For other errors (permissions, etc.), return the error message.
|
||||
return [`Error checking/reading warnings file: ${getErrorMessage(err)}`];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user