diff --git a/Cyrano/scripts/add-license-headers.ts b/Cyrano/scripts/add-license-headers.ts index 1b83e0cc..3c9bb369 100644 --- a/Cyrano/scripts/add-license-headers.ts +++ b/Cyrano/scripts/add-license-headers.ts @@ -120,9 +120,11 @@ async function processFile(filePath: string, stats: FileStats): Promise { writeFileSync(filePath, newContent, 'utf-8'); stats.added++; stats.processed++; + // nosemgrep: javascript.lang.security.audit.unsafe-formatstring.unsafe-formatstring console.log(`✓ Added header to: ${filePath}`); } catch (error) { stats.errors++; + // nosemgrep: javascript.lang.security.audit.unsafe-formatstring.unsafe-formatstring console.error(`✗ Error processing ${filePath}:`, error instanceof Error ? error.message : error); } } @@ -154,6 +156,7 @@ async function processDirectory(dirPath: string, stats: FileStats): Promise rec.priority === 'urgent'); urgentRecommendations.push(...urgent); } catch (error) { - console.error(`Error generating urgent recommendations for client ${client.id}:`, error); + console.error('Error generating urgent recommendations for client', client.id, ':', error); } } diff --git a/Cyrano/src/modules/arkiver/queue/database-queue.ts b/Cyrano/src/modules/arkiver/queue/database-queue.ts index fd63e830..768a2352 100644 --- a/Cyrano/src/modules/arkiver/queue/database-queue.ts +++ b/Cyrano/src/modules/arkiver/queue/database-queue.ts @@ -161,7 +161,7 @@ export class DatabaseJobQueue implements JobQueue { return true; } catch (error) { - console.error(`Failed to update job status for ${jobId}:`, error); + console.error('Failed to update job status for', jobId, ':', error); return false; } } @@ -180,7 +180,7 @@ export class DatabaseJobQueue implements JobQueue { return true; } catch (error) { - console.error(`Failed to update job progress for ${jobId}:`, error); + console.error('Failed to update job progress for', jobId, ':', error); return false; } } @@ -202,7 +202,7 @@ export class DatabaseJobQueue implements JobQueue { return true; } catch (error) { - console.error(`Failed to complete job ${jobId}:`, error); + console.error('Failed to complete job', jobId, ':', error); return false; } } @@ -232,7 +232,7 @@ export class DatabaseJobQueue implements JobQueue { return true; } catch (err) { - console.error(`Failed to fail job ${jobId}:`, err); + console.error('Failed to fail job', jobId, ':', err); return false; } } @@ -260,7 +260,7 @@ export class DatabaseJobQueue implements JobQueue { return true; } catch (error) { - console.error(`Failed to cancel job ${jobId}:`, error); + console.error('Failed to cancel job', jobId, ':', error); return false; } } @@ -323,7 +323,7 @@ export class DatabaseJobQueue implements JobQueue { return true; } catch (error) { - console.error(`Failed to retry job ${jobId}:`, error); + console.error('Failed to retry job', jobId, ':', error); return false; } } diff --git a/Cyrano/src/modules/arkiver/storage/local.ts b/Cyrano/src/modules/arkiver/storage/local.ts index 24afff43..a53d8acb 100644 --- a/Cyrano/src/modules/arkiver/storage/local.ts +++ b/Cyrano/src/modules/arkiver/storage/local.ts @@ -193,7 +193,7 @@ export class LocalStorageProvider implements StorageProvider { return await fs.readFile(fullPath); } catch (error) { - console.error(`Failed to download file ${storagePath}:`, error); + console.error('Failed to download file', storagePath, ':', error); return null; } } @@ -211,7 +211,7 @@ export class LocalStorageProvider implements StorageProvider { return true; } catch (error) { - console.error(`Failed to delete file ${storagePath}:`, error); + console.error('Failed to delete file', storagePath, ':', error); return false; } } diff --git a/Cyrano/src/services/resource-loader.ts b/Cyrano/src/services/resource-loader.ts index 4e23d7b8..e12b8919 100644 --- a/Cyrano/src/services/resource-loader.ts +++ b/Cyrano/src/services/resource-loader.ts @@ -79,7 +79,7 @@ export class ResourceLoader { return buffer; } catch (error) { - console.error(`Failed to download resource ${resource.id} from ${resource.url}:`, error); + console.error('Failed to download resource', resource.id, 'from', resource.url, ':', error); throw error; } } diff --git a/Cyrano/src/utils/error-sanitizer.ts b/Cyrano/src/utils/error-sanitizer.ts index f12cc057..f22eb7c5 100644 --- a/Cyrano/src/utils/error-sanitizer.ts +++ b/Cyrano/src/utils/error-sanitizer.ts @@ -75,14 +75,14 @@ export function sanitizeErrorMessage(error: unknown, context?: string): string { */ export function logDetailedError(error: unknown, context?: string): void { if (error instanceof Error) { - console.error(`[ERROR] ${context || 'Unhandled error'}:`, { + console.error('[ERROR]', context || 'Unhandled error', '-', { message: error.message, stack: error.stack, name: error.name, timestamp: new Date().toISOString(), }); } else { - console.error(`[ERROR] ${context || 'Unhandled error'}:`, { + console.error('[ERROR]', context || 'Unhandled error', '-', { error: String(error), timestamp: new Date().toISOString(), }); diff --git a/apps/lexfiat/client/src/lib/demo-data.ts b/apps/lexfiat/client/src/lib/demo-data.ts index 21989ddb..b381b049 100644 --- a/apps/lexfiat/client/src/lib/demo-data.ts +++ b/apps/lexfiat/client/src/lib/demo-data.ts @@ -188,7 +188,7 @@ export async function loadDemoDocumentContent(document: DemoDocument): Promise(key: string): T | null { // Sanitize parsed data return sanitizeStorageData(parsed) as T; } catch (error) { - console.error(`Failed to parse JSON from localStorage item ${key}:`, error); + console.error('Failed to parse JSON from localStorage item:', key, error); return null; } } @@ -88,7 +88,7 @@ export function safeSetJSON(key: string, value: any): void { const jsonString = JSON.stringify(value); safeSetItem(key, jsonString); } catch (error) { - console.error(`Failed to stringify JSON for localStorage item ${key}:`, error); + console.error('Failed to stringify JSON for localStorage item:', key, error); throw error; } } @@ -100,7 +100,7 @@ export function safeRemoveItem(key: string): void { try { localStorage.removeItem(key); } catch (error) { - console.error(`Failed to remove localStorage item ${key}:`, error); + console.error('Failed to remove localStorage item:', key, error); } } @@ -112,7 +112,7 @@ export const safeSessionStorage = { try { return sessionStorage.getItem(key); } catch (error) { - console.error(`Failed to get sessionStorage item ${key}:`, error); + console.error('Failed to get sessionStorage item:', key, error); return null; } }, @@ -127,7 +127,7 @@ export const safeSessionStorage = { } sessionStorage.setItem(key, value); } catch (error) { - console.error(`Failed to set sessionStorage item ${key}:`, error); + console.error('Failed to set sessionStorage item:', key, error); throw error; } }, @@ -139,7 +139,7 @@ export const safeSessionStorage = { const parsed = JSON.parse(value); return sanitizeStorageData(parsed) as T; } catch (error) { - console.error(`Failed to parse JSON from sessionStorage item ${key}:`, error); + console.error('Failed to parse JSON from sessionStorage item:', key, error); return null; } }, @@ -149,7 +149,7 @@ export const safeSessionStorage = { const jsonString = JSON.stringify(value); sessionStorage.setItem(key, jsonString); } catch (error) { - console.error(`Failed to stringify JSON for sessionStorage item ${key}:`, error); + console.error('Failed to stringify JSON for sessionStorage item:', key, error); throw error; } }, @@ -158,7 +158,7 @@ export const safeSessionStorage = { try { sessionStorage.removeItem(key); } catch (error) { - console.error(`Failed to remove sessionStorage item ${key}:`, error); + console.error('Failed to remove sessionStorage item:', key, error); } }, };