{"id":"bb54a165d0afa507","repo":"evanw/esbuild","slug":"invalid-loader-extension-ext","errorCode":null,"errorMessage":"Invalid loader extension: ${ext}","messagePattern":"Invalid loader extension: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"lib/shared/common.ts","lineNumber":333,"sourceCode":"      flags.push(`--alias:${old}=${validateStringValue(alias[old], 'alias', old)}`)\n    }\n  }\n  if (banner) {\n    for (let type in banner) {\n      if (type.indexOf('=') >= 0) throw new Error(`Invalid banner file type: ${type}`)\n      flags.push(`--banner:${type}=${validateStringValue(banner[type], 'banner', type)}`)\n    }\n  }\n  if (footer) {\n    for (let type in footer) {\n      if (type.indexOf('=') >= 0) throw new Error(`Invalid footer file type: ${type}`)\n      flags.push(`--footer:${type}=${validateStringValue(footer[type], 'footer', type)}`)\n    }\n  }\n  if (inject) for (let path of inject) flags.push(`--inject:${validateStringValue(path, 'inject')}`)\n  if (loader) {\n    for (let ext in loader) {\n      if (ext.indexOf('=') >= 0) throw new Error(`Invalid loader extension: ${ext}`)\n      flags.push(`--loader:${ext}=${validateStringValue(loader[ext], 'loader', ext)}`)\n    }\n  }\n  if (outExtension) {\n    for (let ext in outExtension) {\n      if (ext.indexOf('=') >= 0) throw new Error(`Invalid out extension: ${ext}`)\n      flags.push(`--out-extension:${ext}=${validateStringValue(outExtension[ext], 'out extension', ext)}`)\n    }\n  }\n\n  if (entryPoints) {\n    if (Array.isArray(entryPoints)) {\n      for (let i = 0, n = entryPoints.length; i < n; i++) {\n        let entryPoint = entryPoints[i]\n        if (typeof entryPoint === 'object' && entryPoint !== null) {\n          let entryPointKeys: OptionKeys = Object.create(null)\n          let input = getFlag(entryPoint, entryPointKeys, 'in', mustBeString)\n          let output = getFlag(entryPoint, entryPointKeys, 'out', mustBeString)","sourceCodeStart":315,"sourceCodeEnd":351,"githubUrl":"https://github.com/evanw/esbuild/blob/6ff1d8b0d8c134e867a397eef39702a223ebef9e/lib/shared/common.ts#L315-L351","documentation":"Error \"Invalid loader extension: ${ext}\" thrown in evanw/esbuild.","triggerScenarios":"Thrown at lib/shared/common.ts:333 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure loader keys are valid file extensions beginning with a dot (e.g. \".png\")","Fix or remove the malformed extension in the loader map"],"exampleFix":"esbuild.buildSync({ loader: { '.png': 'dataurl', '.svg': 'file' } });","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"6ff1d8b0d8c134e867a397eef39702a223ebef9e","analyzedAt":"2026-08-03T19:42:38.433Z","schemaVersion":2}