14
packages/coding-agent/src/utils/deprecation.ts
Normal file
14
packages/coding-agent/src/utils/deprecation.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import chalk from "chalk";
|
||||
|
||||
const emittedDeprecationWarnings = new Set<string>();
|
||||
|
||||
export function warnDeprecation(message: string): void {
|
||||
if (emittedDeprecationWarnings.has(message)) return;
|
||||
emittedDeprecationWarnings.add(message);
|
||||
console.warn(chalk.yellow(`Deprecation warning: ${message}`));
|
||||
}
|
||||
|
||||
/** Clear deprecation warning state. Exported for tests. */
|
||||
export function clearDeprecationWarningsForTests(): void {
|
||||
emittedDeprecationWarnings.clear();
|
||||
}
|
||||
6
packages/coding-agent/src/utils/json.ts
Normal file
6
packages/coding-agent/src/utils/json.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
/** Strip `//` line comments and trailing commas from JSON, leaving string literals untouched. */
|
||||
export function stripJsonComments(input: string): string {
|
||||
return input
|
||||
.replace(/"(?:\\.|[^"\\])*"|\/\/[^\n]*/g, (m) => (m[0] === '"' ? m : ""))
|
||||
.replace(/"(?:\\.|[^"\\])*"|,(\s*[}\]])/g, (m, tail) => tail ?? (m[0] === '"' ? m : ""));
|
||||
}
|
||||
Reference in New Issue
Block a user