{"record":{"id":"bb4afdef1c45a6cb","repo":"remotion-dev/remotion","slug":"browser-studio-vendor-entry-was-not-generated","errorCode":null,"errorMessage":"Browser Studio vendor entry was not generated","messagePattern":"Browser Studio vendor entry was not generated","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/browser-studio/bundle.ts","lineNumber":43,"sourceCode":"\tdefine: {'process.env.NODE_ENV': JSON.stringify('development')},\n\tentrypoints: ['src/browser-studio-vendor-entry.ts'],\n\texternal: ['@huggingface/transformers'],\n\tformat: 'iife',\n\tminify: true,\n\tnaming: '[name].mjs',\n\ttarget: 'browser',\n});\n\nif (!vendorOutput.success) {\n\tconsole.log(vendorOutput.logs.join('\\n'));\n\tprocess.exit(1);\n}\n\nconst vendorEntryOutput = vendorOutput.outputs.find(\n\t(file) => path.basename(file.path) === 'browser-studio-vendor-entry.mjs',\n);\nif (!vendorEntryOutput) {\n\tthrow new Error('Browser Studio vendor entry was not generated');\n}\nconst transformersOutput = await build({\n\tentrypoints: ['src/browser-studio-transformers-entry.ts'],\n\tformat: 'esm',\n\tminify: true,\n\tnaming: '[name].mjs',\n\ttarget: 'browser',\n});\n\nif (!transformersOutput.success) {\n\tconsole.log(transformersOutput.logs.join('\\n'));\n\tprocess.exit(1);\n}\n\nconst rspackBrowserEntry = fileURLToPath(\n\timport.meta.resolve('@rspack/browser'),\n);\nconst rspackWasm = Bun.file(","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/browser-studio/bundle.ts#L25-L61","documentation":"During the browser-studio bundling process, a build output named 'browser-studio-vendor-entry.mjs' is expected from the vendor bundle step. Bun's build() returned outputs but none matched the expected basename, indicating the vendor entrypoint produced no artifact with the required name. This is an internal build invariant check that guards the packaging pipeline.","triggerScenarios":"Running the browser-studio bundle script when the vendor build() call produces outputs but none is named browser-studio-vendor-entry.mjs — e.g. the naming convention was changed, the entrypoint failed silently, or a bundler config change altered output paths.","commonSituations":"Contributors modifying the browser-studio build script and renaming entrypoints or the naming: pattern; upgrading Bun and getting different output naming behavior; build cache serving stale artifacts.","solutions":["Verify the vendor build() call uses naming: '[name].mjs' and that the entrypoint still emits browser-studio-vendor-entry.mjs","Print vendorOutput.outputs to inspect actual artifact names and adjust the path.basename(file.path) === 'browser-studio-vendor-entry.mjs' match accordingly","Clean build artifacts and rebuild to rule out stale cache","Check that the vendor entrypoint source file exists and has no build-time errors"],"exampleFix":"// before\nconst vendorEntryOutput = vendorOutput.outputs.find(\n\t(file) => path.basename(file.path) === 'browser-studio-vendor-entry.mjs',\n);\n// after (debug first)\nconsole.log(vendorOutput.outputs.map((o) => o.path));\nconst vendorEntryOutput = vendorOutput.outputs.find(\n\t(file) => path.basename(file.path) === 'browser-studio-vendor-entry.mjs',\n);","handlingStrategy":"try-catch","validationCode":"// before consuming:\nif (!vendorOutput.outputs.some((f) => path.basename(f.path) === 'browser-studio-vendor-entry.mjs')) {\n\tconsole.error('vendor outputs:', vendorOutput.outputs.map((o) => o.path));\n}","typeGuard":"const isVendorEntry = (f: {path: string}) =>\n\tpath.basename(f.path) === 'browser-studio-vendor-entry.mjs';","tryCatchPattern":"try {\n\tconst vendorEntryOutput = vendorOutput.outputs.find(isVendorEntry);\n\tif (!vendorEntryOutput) throw new Error('Browser Studio vendor entry was not generated');\n} catch (err) {\n\tconsole.error(err); process.exit(1);\n}","preventionTips":["Keep the naming: '[name].mjs' convention stable across entrypoints","Assert expected artifact names immediately after each build() call","Clean build caches when bundler behavior changes after upgrades"],"tags":["bundler","build","internal-invariant"],"backgroundTag":"internal-invariant-violation","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-09-09T13:27:51.281Z","contentChangedAt":"2026-09-09T13:27:51.281Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}