evanw/esbuild · error · Error
Expected value for ${what}${key !== void 0 ? ' ' + quote(key
Error message
Expected value for ${what}${key !== void 0 ? ' ' + quote(key) : ''} to be a string, got ${typeof value} instead What it means
Error "Expected value for ${what}${key !== void 0 ? ' ' + quote(key) : ''} to be a string, got ${typeof value} instead" thrown in evanw/esbuild.
Source
Thrown at lib/shared/common.ts:140
return validated
}
type CommonOptions = types.BuildOptions | types.TransformOptions
function pushLogFlags(flags: string[], options: CommonOptions, keys: OptionKeys, isTTY: boolean, logLevelDefault: types.LogLevel): void {
let color = getFlag(options, keys, 'color', mustBeBoolean)
let logLevel = getFlag(options, keys, 'logLevel', mustBeString)
let logLimit = getFlag(options, keys, 'logLimit', mustBeInteger)
if (color !== void 0) flags.push(`--color=${color}`)
else if (isTTY) flags.push(`--color=true`); // This is needed to fix "execFileSync" which buffers stderr
flags.push(`--log-level=${logLevel || logLevelDefault}`)
flags.push(`--log-limit=${logLimit || 0}`)
}
function validateStringValue(value: unknown, what: string, key?: string): string {
if (typeof value !== 'string') {
throw new Error(`Expected value for ${what}${key !== void 0 ? ' ' + quote(key) : ''} to be a string, got ${typeof value} instead`)
}
return value
}
function pushCommonFlags(flags: string[], options: CommonOptions, keys: OptionKeys): void {
let legalComments = getFlag(options, keys, 'legalComments', mustBeString)
let sourceRoot = getFlag(options, keys, 'sourceRoot', mustBeString)
let sourcesContent = getFlag(options, keys, 'sourcesContent', mustBeBoolean)
let target = getFlag(options, keys, 'target', mustBeStringOrArrayOfStrings)
let format = getFlag(options, keys, 'format', mustBeString)
let globalName = getFlag(options, keys, 'globalName', mustBeString)
let mangleProps = getFlag(options, keys, 'mangleProps', mustBeRegExp)
let reserveProps = getFlag(options, keys, 'reserveProps', mustBeRegExp)
let mangleQuoted = getFlag(options, keys, 'mangleQuoted', mustBeBoolean)
let minify = getFlag(options, keys, 'minify', mustBeBoolean)
let minifySyntax = getFlag(options, keys, 'minifySyntax', mustBeBoolean)
let minifyWhitespace = getFlag(options, keys, 'minifyWhitespace', mustBeBoolean)
let minifyIdentifiers = getFlag(options, keys, 'minifyIdentifiers', mustBeBoolean)View on GitHub (pinned to 6ff1d8b0d8)
Solutions
- Pass a string value instead of the reported type for this option
- Convert the value to a string (e.g. with String(value)) before passing it
Example fix
// entryPoints must be strings, not numbers or objects
esbuild.buildSync({ entryPoints: ['src/index.ts'] }); When it happens
Trigger: Thrown at lib/shared/common.ts:140 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of evanw/esbuild@6ff1d8b0d8 (2026-08-03).
Data as JSON: /data/errors/9143ed2431a97ded.json.
Report an issue: GitHub.