evanw/esbuild · error · Error
Invalid banner file type: ${type}
Error message
Invalid banner file type: ${type} What it means
Error "Invalid banner file type: ${type}" thrown in evanw/esbuild.
Source
Thrown at lib/shared/common.ts:320
if (tsconfig) flags.push(`--tsconfig=${tsconfig}`)
if (packages) flags.push(`--packages=${packages}`)
if (resolveExtensions) flags.push(`--resolve-extensions=${validateAndJoinStringArray(resolveExtensions, 'resolve extension')}`)
if (publicPath) flags.push(`--public-path=${publicPath}`)
if (entryNames) flags.push(`--entry-names=${entryNames}`)
if (chunkNames) flags.push(`--chunk-names=${chunkNames}`)
if (assetNames) flags.push(`--asset-names=${assetNames}`)
if (mainFields) flags.push(`--main-fields=${validateAndJoinStringArray(mainFields, 'main field')}`)
if (conditions) flags.push(`--conditions=${validateAndJoinStringArray(conditions, 'condition')}`)
if (external) for (let name of external) flags.push(`--external:${validateStringValue(name, 'external')}`)
if (alias) {
for (let old in alias) {
if (old.indexOf('=') >= 0) throw new Error(`Invalid package name in alias: ${old}`)
flags.push(`--alias:${old}=${validateStringValue(alias[old], 'alias', old)}`)
}
}
if (banner) {
for (let type in banner) {
if (type.indexOf('=') >= 0) throw new Error(`Invalid banner file type: ${type}`)
flags.push(`--banner:${type}=${validateStringValue(banner[type], 'banner', type)}`)
}
}
if (footer) {
for (let type in footer) {
if (type.indexOf('=') >= 0) throw new Error(`Invalid footer file type: ${type}`)
flags.push(`--footer:${type}=${validateStringValue(footer[type], 'footer', type)}`)
}
}
if (inject) for (let path of inject) flags.push(`--inject:${validateStringValue(path, 'inject')}`)
if (loader) {
for (let ext in loader) {
if (ext.indexOf('=') >= 0) throw new Error(`Invalid loader extension: ${ext}`)
flags.push(`--loader:${ext}=${validateStringValue(loader[ext], 'loader', ext)}`)
}
}
if (outExtension) {
for (let ext in outExtension) {View on GitHub (pinned to 6ff1d8b0d8)
Solutions
- Use only "js" or "css" as banner file types
- Remove banner entries whose keys are not "js" or "css"
Example fix
esbuild.buildSync({ banner: { js: '/* license */', css: '/* license */' } }); When it happens
Trigger: Thrown at lib/shared/common.ts:320 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/5ab229b3b6e437d8.json.
Report an issue: GitHub.