v4.0.0 Beta-1
Latestπ August 13, 2026
Plugin Synergy + test workflow
4.0.0-beta.1 Release
This beta introduces the new plugin virtual-module system and stronger runtime-plugin testing support.
Highlights
- Plugin virtual modules: plugins can now declare
virtualModulesdirectly. Frame-Master resolves and loads them centrally, so plugins no longer need boilerplateonResolveandonLoadhandlers just to expose source. - Cross-plugin imports: declared modules are available to all plugin build configurations and participate in the existing chained
onLoadpipeline. - Selective runtime injection: set
injectRuntime: trueper virtual module to expose only the required modules through the runtime loader. - Virtual-module compatibility proxy: opt into
pluginsOptions.virtualModuleFileProxyto let legacyBun.file(specifier)consumers read declared virtual-module source. Native file paths retain normalBun.filebehavior. - Clearer diagnostics and reload safety: duplicate declarations identify both plugin owners, and the virtual-module registry is rebuilt safely after config reloads.
Plugin Testing
- Runtime plugin preload helper:
loadRuntimePluginFromPlugins(plugins)is available fromframe-master/testingandframe-master/test-suite. - Production-like chaining in tests: runtime plugins are registered in declaration order using the same chained
onLoadbehavior as production. - Improved plugin scaffold:
frame-master plugin createnow generates:bunfig.tomlwith a test preloadtest/preload.tsfor runtime plugin registrationtest/plugin.test.ts
- The plugin scaffoldβs Bun configuration template is included in the published npm package.
Documentation
- Added plugin chaining and virtual-module guidance, including registry declarations, runtime injection, transform composition, collisions, and
Bun.filecompatibility. - Added runtime-plugin preload guidance to the test-suite and plugin-testing documentation.
Beta Notes
-
This prerelease is published under the npm
betadist-tag and does not replace the stablelatestrelease. -
Install with:
bun add frame-master@beta
