mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-15 12:55: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 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 = {
|
||||
...getMacroDefines(),
|
||||
// React production mode — prevents 6,889+ _debugStack Error objects
|
||||
// (12MB) from accumulating during long-running sessions.
|
||||
'process.env.NODE_ENV': JSON.stringify('production'),
|
||||
'process.env.NODE_ENV': JSON.stringify(forcedNodeEnv),
|
||||
}
|
||||
|
||||
const defineArgs = Object.entries(defines).flatMap(([k, v]) => [
|
||||
|
||||
@@ -4937,7 +4937,7 @@ export function REPL({
|
||||
useMailboxBridge({ isLoading, onSubmitMessage: handleIncomingPrompt });
|
||||
useMasterMonitor();
|
||||
useSlaveNotifications();
|
||||
const _pipeIpcState = useAppState(s => getPipeIpc(s as any));
|
||||
const _pipeIpcState = useAppState(s => getPipeIpc(s));
|
||||
|
||||
usePipePermissionForward({ store, tools, setMessages, setToolUseConfirmQueue, getToolUseContext, mainLoopModel });
|
||||
usePipeMuteSync({ setToolUseConfirmQueue });
|
||||
|
||||
@@ -6,7 +6,7 @@ import type {
|
||||
StreamEvent,
|
||||
SystemAPIErrorMessage,
|
||||
} from '../../../types/message.js'
|
||||
import { type Tools } from '../../../Tool.js'
|
||||
import type { Tools } from 'src/Tool.js'
|
||||
import { toolToAPISchema } from '../../../utils/api.js'
|
||||
import { logForDebugging } from '../../../utils/debug.js'
|
||||
import {
|
||||
|
||||
@@ -105,6 +105,10 @@ function getEntriesByName(name: string, type?: string): PerformanceEntryLike[] {
|
||||
return entries.filter(e => e.name === name)
|
||||
}
|
||||
|
||||
function getEntries(): PerformanceEntryLike[] {
|
||||
return [...getEntriesByType('mark'), ...getEntriesByType('measure')]
|
||||
}
|
||||
|
||||
function clearMarks(name?: string): void {
|
||||
if (name !== undefined) {
|
||||
marks.delete(name)
|
||||
@@ -128,6 +132,7 @@ const shim = {
|
||||
now,
|
||||
mark,
|
||||
measure: measure as typeof performance.measure,
|
||||
getEntries: getEntries as typeof performance.getEntries,
|
||||
getEntriesByType: getEntriesByType as typeof performance.getEntriesByType,
|
||||
getEntriesByName: getEntriesByName as typeof performance.getEntriesByName,
|
||||
clearMarks: clearMarks as typeof performance.clearMarks,
|
||||
|
||||
Reference in New Issue
Block a user