fix(core): consolidate external asset and dependency preservation (#2410)

## Summary

- preserve external SVG fragment references during bundling
- preserve external module scripts and serve `.mjs` with a JavaScript MIME type
- retain template-head stylesheets when mounting sub-compositions
- add regression coverage across compiler runtime and file-server paths

Consolidates and replaces #2390, #2297, and #2375.

## Verification

- core compiler/runtime tests: 89 passed
- producer file-server tests: 48 passed
- core, producer, engine, and CLI typechecks passed
- `git diff --check`
This commit is contained in:
Miguel Ángel
2026-07-14 21:55:51 -04:00
committed by GitHub
parent 5d3a7404fa
commit 7382fabab9
12 changed files with 364 additions and 13 deletions
+2
View File
@@ -77,6 +77,7 @@ export type RuntimeState = {
beforeUnloadHandler: (() => void) | null;
injectedCompStyles: HTMLStyleElement[];
injectedCompScripts: HTMLScriptElement[];
injectedCompLinks: HTMLLinkElement[];
cachedTimedMediaEls: Array<HTMLVideoElement | HTMLAudioElement>;
cachedMediaClips: RuntimeMediaClip[];
cachedVideoClips: RuntimeMediaClip[];
@@ -116,6 +117,7 @@ export function createRuntimeState(): RuntimeState {
beforeUnloadHandler: null,
injectedCompStyles: [],
injectedCompScripts: [],
injectedCompLinks: [],
cachedTimedMediaEls: [],
cachedMediaClips: [],
cachedVideoClips: [],