{"id":"05bbc67946998c36","repo":"evanw/esbuild","slug":"expected-quote-key-in-mangle-cache-to-map-to-e","errorCode":null,"errorMessage":"Expected ${quote(key)} in mangle cache to map to either a string or false","messagePattern":"Expected (.+?) in mangle cache to map to either a string or false","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"lib/shared/common.ts","lineNumber":118,"sourceCode":"  return {\n    wasmURL,\n    wasmModule,\n    worker,\n  }\n}\n\ntype MangleCache = Record<string, string | false>\n\nfunction validateMangleCache(mangleCache: MangleCache | undefined): MangleCache | undefined {\n  let validated: MangleCache | undefined\n  if (mangleCache !== undefined) {\n    validated = Object.create(null) as MangleCache\n    for (let key in mangleCache) {\n      let value = mangleCache[key]\n      if (typeof value === 'string' || value === false) {\n        validated[key] = value\n      } else {\n        throw new Error(`Expected ${quote(key)} in mangle cache to map to either a string or false`)\n      }\n    }\n  }\n  return validated\n}\n\ntype CommonOptions = types.BuildOptions | types.TransformOptions\n\nfunction pushLogFlags(flags: string[], options: CommonOptions, keys: OptionKeys, isTTY: boolean, logLevelDefault: types.LogLevel): void {\n  let color = getFlag(options, keys, 'color', mustBeBoolean)\n  let logLevel = getFlag(options, keys, 'logLevel', mustBeString)\n  let logLimit = getFlag(options, keys, 'logLimit', mustBeInteger)\n\n  if (color !== void 0) flags.push(`--color=${color}`)\n  else if (isTTY) flags.push(`--color=true`); // This is needed to fix \"execFileSync\" which buffers stderr\n  flags.push(`--log-level=${logLevel || logLevelDefault}`)\n  flags.push(`--log-limit=${logLimit || 0}`)\n}","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/evanw/esbuild/blob/6ff1d8b0d8c134e867a397eef39702a223ebef9e/lib/shared/common.ts#L100-L136","documentation":"Error \"Expected ${quote(key)} in mangle cache to map to either a string or false\" thrown in evanw/esbuild.","triggerScenarios":"Thrown at lib/shared/common.ts:118 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure each mangle cache value is either a string (the renamed identifier) or false (to disable renaming)","Fix any values in the mangle cache that are numbers, objects, or other types"],"exampleFix":"esbuild.buildSync({ mangleCache: { oldName: 'newName', keepName: false } });","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"6ff1d8b0d8c134e867a397eef39702a223ebef9e","analyzedAt":"2026-08-03T19:42:38.433Z","schemaVersion":2}