The entry template source.
The build blueprint carrying the contributions.
Where the generated entry will be written. Contributed relative specifiers are
rewritten against it, because a plugin writes its files into .stone/tmp while
an entry lives there only for a production build; a development entry sits in
.stone, where ./plugins/x.mjs resolves to a file that is not there.
The transformed source.
Weave the plugin contributions stashed on the blueprint into a generated entry point.
Reads the modules and blueprint statements gathered by RunStonePluginsMiddleware (
stone.builder.pluginModules/pluginBlueprints) and applies both injectors. A no-op when no plugin contributed anything or the template lacks the relevant markers, so entry generators can call it unconditionally.