remotion-dev/remotion · error
Browser Studio vendor entry was not generated
Error message
Browser Studio vendor entry was not generated
What it means
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.
Source
Thrown at packages/browser-studio/bundle.ts:43
define: {'process.env.NODE_ENV': JSON.stringify('development')},
entrypoints: ['src/browser-studio-vendor-entry.ts'],
external: ['@huggingface/transformers'],
format: 'iife',
minify: true,
naming: '[name].mjs',
target: 'browser',
});
if (!vendorOutput.success) {
console.log(vendorOutput.logs.join('\n'));
process.exit(1);
}
const vendorEntryOutput = vendorOutput.outputs.find(
(file) => path.basename(file.path) === 'browser-studio-vendor-entry.mjs',
);
if (!vendorEntryOutput) {
throw new Error('Browser Studio vendor entry was not generated');
}
const transformersOutput = await build({
entrypoints: ['src/browser-studio-transformers-entry.ts'],
format: 'esm',
minify: true,
naming: '[name].mjs',
target: 'browser',
});
if (!transformersOutput.success) {
console.log(transformersOutput.logs.join('\n'));
process.exit(1);
}
const rspackBrowserEntry = fileURLToPath(
import.meta.resolve('@rspack/browser'),
);
const rspackWasm = Bun.file(View on GitHub (pinned to b2f4e34732)
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
Example fix
// before const vendorEntryOutput = vendorOutput.outputs.find( (file) => path.basename(file.path) === 'browser-studio-vendor-entry.mjs', ); // after (debug first) console.log(vendorOutput.outputs.map((o) => o.path)); const vendorEntryOutput = vendorOutput.outputs.find( (file) => path.basename(file.path) === 'browser-studio-vendor-entry.mjs', );
Defensive patterns
Strategy: try-catch
Validate before calling
// before consuming:
if (!vendorOutput.outputs.some((f) => path.basename(f.path) === 'browser-studio-vendor-entry.mjs')) {
console.error('vendor outputs:', vendorOutput.outputs.map((o) => o.path));
} Type guard
const isVendorEntry = (f: {path: string}) =>
path.basename(f.path) === 'browser-studio-vendor-entry.mjs'; Try / catch
try {
const vendorEntryOutput = vendorOutput.outputs.find(isVendorEntry);
if (!vendorEntryOutput) throw new Error('Browser Studio vendor entry was not generated');
} catch (err) {
console.error(err); process.exit(1);
} Prevention
- 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
When it happens
Trigger: 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.
Common situations: 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.
Understand the failure class
Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.
Related errors
- Browser Studio vendor entry was not generated
- The public directory was specified as "${p}", which is the r
- The public directory was specified as "${p}", and while this
- The public directory was specified as "${p}", but this folde
- Unsupported architecture on Windows: ${process.arch}
AI-assisted analysis of remotion-dev/remotion@b2f4e34732 (2026-09-09).
Data as JSON: /api/errors/bb4afdef1c45a6cb.
Report an issue: GitHub.