quasarframework/quasar · warning
The file defined in bex manifest > background > scripts > "$
Error message
The file defined in bex manifest > background > scripts > "${rawName}" does NOT exist. Skipping. What it means
extractBexScripts iterates manifest background.scripts (MV2 style) and maps each entry to a compiled script. If the raw file cannot be found under src-bex, it warns and returns, skipping that script from the background bundle.
Source
Thrown at app-vite/lib/modes/bex/bex-utils.js:138
warn()
} else {
const entry = getCompilationEntry(quasarConf, inputFile, scriptName)
if (!scriptNameSet.has(entry.name)) {
scriptNameSet.add(entry.name)
scriptList.push(entry)
}
}
}
bexManifest.background?.scripts?.forEach((rawName, index) => {
const scriptName = rawName.replace(scriptExtRE, '')
const inputFile = quasarConf.ctx.appPaths.resolve.bex(rawName)
bexManifest.background.scripts[index] = scriptName + '.js'
if (!fse.existsSync(inputFile)) {
warn()
warn(
`The file defined in bex manifest > background > scripts > "${rawName}" does NOT exist. Skipping.`
)
warn()
return
}
const entry = getCompilationEntry(quasarConf, inputFile, scriptName)
if (!scriptNameSet.has(entry.name)) {
scriptNameSet.add(entry.name)
scriptList.push(entry)
}
})
bexManifest.content_scripts?.forEach(contentScript => {
contentScript.js?.forEach((rawName, index) => {
const scriptName = rawName.replace(scriptExtRE, '')
const inputFile = quasarConf.ctx.appPaths.resolve.bex(rawName)
View on GitHub (pinned to 4841521b5f)
Solutions
- Fix the path of the missing script in manifest background.scripts[index].
- Add the missing file under src-bex.
- Remove the stale entry from background.scripts if the script is no longer used.
- Consider migrating to MV3 service_worker background if appropriate.
Example fix
// before
"background": { "scripts": ["helpers.js", "old-util.js"] } // old-util.js deleted
// after
"background": { "scripts": ["helpers.js"] } Defensive patterns
Strategy: validation
Validate before calling
const fs = require('fs'), path = require('path')
for (const s of require('./src-bex/manifest.json').all?.background?.scripts || []) {
if (!fs.existsSync(path.join('src-bex', s))) throw new Error(`background script missing: src-bex/${s}`)
} Prevention
- Prune removed scripts from background.scripts immediately.
- Add a manifest-vs-files consistency test to CI.
- Prefer a single bundled background entry over multiple raw scripts.
When it happens
Trigger: An entry of background.scripts in src-bex/manifest.json points to a non-existent file; fse.existsSync(inputFile) is false for quasarConf.ctx.appPaths.resolve.bex(rawName).
Common situations: Legacy MV2 manifests listing several background scripts where some were removed; copy-pasted manifest from another extension referencing its own files; moved scripts into subfolders without updating paths.
Related errors
- The file defined in bex manifest > background > service_work
- The file defined in bex manifest > content_scripts > js > "$
- Could not read BEX manifest. Please check its syntax.
- The BEX manifest requires a "manifest_version" prop, which i
- The bex manifest version specified (${json.manifest_version}
AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30).
Data as JSON: /api/errors/d08113df8720c335.
Report an issue: GitHub.