mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-22 16:25:51 +00:00
fix: address coderabbit review feedback on PR #413
- performanceShim: add no-arg getEntries() so the 'as typeof performance' cast is accurate for callers (Bun, OTel, dev tooling). - scripts/dev: make production NODE_ENV opt-in via CLAUDE_CODE_FORCE_NODE_ENV so dev-only diagnostics (DevBar, doctorDiagnostic, AutoUpdater dev branches, etc.) keep working by default. - gemini/index: switch deep-relative Tools import to the src/* path alias. - screens/REPL: drop the unnecessary 'as any' on the getPipeIpc selector to match other call sites.
This commit is contained in:
@@ -14,11 +14,20 @@ const __dirname = dirname(__filename)
|
|||||||
const projectRoot = join(__dirname, '..')
|
const projectRoot = join(__dirname, '..')
|
||||||
const cliPath = join(projectRoot, 'src/entrypoints/cli.tsx')
|
const cliPath = join(projectRoot, 'src/entrypoints/cli.tsx')
|
||||||
|
|
||||||
|
// React production mode — prevents 6,889+ _debugStack Error objects
|
||||||
|
// (12MB) from accumulating during long-running sessions.
|
||||||
|
// Opt-in via CLAUDE_CODE_FORCE_NODE_ENV=production for dev sessions that
|
||||||
|
// need the memory optimization. Default keeps NODE_ENV='development' so
|
||||||
|
// dev-only diagnostics (DevBar, doctorDiagnostic, AutoUpdater dev branches,
|
||||||
|
// etc.) continue to work.
|
||||||
|
const forcedNodeEnv =
|
||||||
|
process.env.CLAUDE_CODE_FORCE_NODE_ENV ??
|
||||||
|
process.env.NODE_ENV ??
|
||||||
|
'development'
|
||||||
|
|
||||||
const defines = {
|
const defines = {
|
||||||
...getMacroDefines(),
|
...getMacroDefines(),
|
||||||
// React production mode — prevents 6,889+ _debugStack Error objects
|
'process.env.NODE_ENV': JSON.stringify(forcedNodeEnv),
|
||||||
// (12MB) from accumulating during long-running sessions.
|
|
||||||
'process.env.NODE_ENV': JSON.stringify('production'),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const defineArgs = Object.entries(defines).flatMap(([k, v]) => [
|
const defineArgs = Object.entries(defines).flatMap(([k, v]) => [
|
||||||
|
|||||||
@@ -4937,7 +4937,7 @@ export function REPL({
|
|||||||
useMailboxBridge({ isLoading, onSubmitMessage: handleIncomingPrompt });
|
useMailboxBridge({ isLoading, onSubmitMessage: handleIncomingPrompt });
|
||||||
useMasterMonitor();
|
useMasterMonitor();
|
||||||
useSlaveNotifications();
|
useSlaveNotifications();
|
||||||
const _pipeIpcState = useAppState(s => getPipeIpc(s as any));
|
const _pipeIpcState = useAppState(s => getPipeIpc(s));
|
||||||
|
|
||||||
usePipePermissionForward({ store, tools, setMessages, setToolUseConfirmQueue, getToolUseContext, mainLoopModel });
|
usePipePermissionForward({ store, tools, setMessages, setToolUseConfirmQueue, getToolUseContext, mainLoopModel });
|
||||||
usePipeMuteSync({ setToolUseConfirmQueue });
|
usePipeMuteSync({ setToolUseConfirmQueue });
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import type {
|
|||||||
StreamEvent,
|
StreamEvent,
|
||||||
SystemAPIErrorMessage,
|
SystemAPIErrorMessage,
|
||||||
} from '../../../types/message.js'
|
} from '../../../types/message.js'
|
||||||
import { type Tools } from '../../../Tool.js'
|
import type { Tools } from 'src/Tool.js'
|
||||||
import { toolToAPISchema } from '../../../utils/api.js'
|
import { toolToAPISchema } from '../../../utils/api.js'
|
||||||
import { logForDebugging } from '../../../utils/debug.js'
|
import { logForDebugging } from '../../../utils/debug.js'
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -105,6 +105,10 @@ function getEntriesByName(name: string, type?: string): PerformanceEntryLike[] {
|
|||||||
return entries.filter(e => e.name === name)
|
return entries.filter(e => e.name === name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getEntries(): PerformanceEntryLike[] {
|
||||||
|
return [...getEntriesByType('mark'), ...getEntriesByType('measure')]
|
||||||
|
}
|
||||||
|
|
||||||
function clearMarks(name?: string): void {
|
function clearMarks(name?: string): void {
|
||||||
if (name !== undefined) {
|
if (name !== undefined) {
|
||||||
marks.delete(name)
|
marks.delete(name)
|
||||||
@@ -128,6 +132,7 @@ const shim = {
|
|||||||
now,
|
now,
|
||||||
mark,
|
mark,
|
||||||
measure: measure as typeof performance.measure,
|
measure: measure as typeof performance.measure,
|
||||||
|
getEntries: getEntries as typeof performance.getEntries,
|
||||||
getEntriesByType: getEntriesByType as typeof performance.getEntriesByType,
|
getEntriesByType: getEntriesByType as typeof performance.getEntriesByType,
|
||||||
getEntriesByName: getEntriesByName as typeof performance.getEntriesByName,
|
getEntriesByName: getEntriesByName as typeof performance.getEntriesByName,
|
||||||
clearMarks: clearMarks as typeof performance.clearMarks,
|
clearMarks: clearMarks as typeof performance.clearMarks,
|
||||||
|
|||||||
Reference in New Issue
Block a user