evanw/esbuild · error · Error
Invalid define: ${key}
Error message
Invalid define: ${key} What it means
Error "Invalid define: ${key}" thrown in evanw/esbuild.
Source
Thrown at lib/shared/common.ts:213
if (treeShaking !== void 0) flags.push(`--tree-shaking=${treeShaking}`)
if (ignoreAnnotations) flags.push(`--ignore-annotations`)
if (drop) for (let what of drop) flags.push(`--drop:${validateStringValue(what, 'drop')}`)
if (dropLabels) flags.push(`--drop-labels=${validateAndJoinStringArray(dropLabels, 'drop label')}`)
if (absPaths) flags.push(`--abs-paths=${validateAndJoinStringArray(absPaths, 'abs paths')}`)
if (mangleProps) flags.push(`--mangle-props=${jsRegExpToGoRegExp(mangleProps)}`)
if (reserveProps) flags.push(`--reserve-props=${jsRegExpToGoRegExp(reserveProps)}`)
if (mangleQuoted !== void 0) flags.push(`--mangle-quoted=${mangleQuoted}`)
if (jsx) flags.push(`--jsx=${jsx}`)
if (jsxFactory) flags.push(`--jsx-factory=${jsxFactory}`)
if (jsxFragment) flags.push(`--jsx-fragment=${jsxFragment}`)
if (jsxImportSource) flags.push(`--jsx-import-source=${jsxImportSource}`)
if (jsxDev) flags.push(`--jsx-dev`)
if (jsxSideEffects) flags.push(`--jsx-side-effects`)
if (define) {
for (let key in define) {
if (key.indexOf('=') >= 0) throw new Error(`Invalid define: ${key}`)
flags.push(`--define:${key}=${validateStringValue(define[key], 'define', key)}`)
}
}
if (logOverride) {
for (let key in logOverride) {
if (key.indexOf('=') >= 0) throw new Error(`Invalid log override: ${key}`)
flags.push(`--log-override:${key}=${validateStringValue(logOverride[key], 'log override', key)}`)
}
}
if (supported) {
for (let key in supported) {
if (key.indexOf('=') >= 0) throw new Error(`Invalid supported: ${key}`)
const value = supported[key]
if (typeof value !== 'boolean') throw new Error(`Expected value for supported ${quote(key)} to be a boolean, got ${typeof value} instead`)
flags.push(`--supported:${key}=${value}`)
}
}
if (pure) for (let fn of pure) flags.push(`--pure:${validateStringValue(fn, 'pure')}`)View on GitHub (pinned to 6ff1d8b0d8)
Solutions
- Ensure the define key is a valid identifier or dotted identifier path (e.g. "process.env.NODE_ENV")
- Quote the value appropriately: use JSON.stringify for string defines
Example fix
esbuild.buildSync({ define: { 'process.env.NODE_ENV': JSON.stringify('production') } }); When it happens
Trigger: Thrown at lib/shared/common.ts:213 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/766432972da09517.json.
Report an issue: GitHub.