@elliemae/pui-app-bridge 2.28.3 → 2.28.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,18 +49,18 @@ export declare class ScriptLoader {
49
49
  * @returns A promise that resolves with an array of script element IDs when all scripts are loaded
50
50
  * @remarks
51
51
  * This method:
52
- * - Preserves manifest order (CDN and local scripts stay in their original sequence)
52
+ * - Stages external (CDN) scripts before local guest-host scripts
53
+ * - Preserves manifest order within each origin group
53
54
  * - Creates modulepreload links for all assets for performance optimization
54
- * - Inserts script tags synchronously in batches so the browser can fetch in parallel
55
- * - Relies on module script execution order (document order) within each batch
56
- * - Waits for global.js before inserting dependent bundles, then syncs webpack public path
55
+ * - Inserts script tags synchronously per stage so the browser can fetch in parallel
56
+ * - Syncs webpack public path from hostUrl (or guest _ASSET_PATH) before local scripts run
57
57
  * @example
58
58
  * ```typescript
59
59
  * const scriptIds = await scriptLoader.load(
60
60
  * ['https://cdn.example.com/lib.js', 'global.js', 'runtime~app.js'],
61
61
  * {
62
62
  * name: 'myApp',
63
- * hostUrl: 'https://example.com',
63
+ * hostUrl: 'https://example.com/my-app/',
64
64
  * documentEle: document,
65
65
  * isESMModule: true
66
66
  * }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ export type ScriptRef = {
2
+ id: string;
3
+ href: string;
4
+ };
5
+ /**
6
+ * True when href is an absolute URL outside the guest app's hostUrl origin.
7
+ * @param {string} href - Resolved script URL.
8
+ * @param {string} hostUrl - Guest application base URL.
9
+ * @returns {boolean} Whether the script is hosted outside the guest app.
10
+ */
11
+ export declare const isExternalScriptHref: (href: string, hostUrl: string) => boolean;
12
+ /**
13
+ * Splits scripts into external (CDN) and local (guest host) groups while
14
+ * preserving manifest order within each group.
15
+ * @param {ScriptRef[]} scripts - Ordered script entries to partition.
16
+ * @param {string} hostUrl - Guest application base URL.
17
+ * @returns {{ external: ScriptRef[]; local: ScriptRef[] }} Partitioned script groups.
18
+ */
19
+ export declare const partitionScriptsByOrigin: (scripts: ScriptRef[], hostUrl: string) => {
20
+ external: ScriptRef[];
21
+ local: ScriptRef[];
22
+ };
@@ -2,5 +2,16 @@
2
2
  * @param {Window | null | undefined} [targetWindow] - Guest document defaultView whose webpack runtime should be synced.
3
3
  */
4
4
  export declare const syncWebpackPublicPathFromAssetPath: (targetWindow?: Window | null) => void;
5
- /** Matches guest global.js / global-prod.js URLs. */
6
- export declare const GLOBAL_SCRIPT_PATTERN: RegExp;
5
+ /**
6
+ * Derives webpack public path from the guest hostUrl when _ASSET_PATH is not yet available.
7
+ * @param {Window | null | undefined} [targetWindow] - Guest document defaultView.
8
+ * @param {string} [hostUrl] - Guest application base URL from load options.
9
+ */
10
+ export declare const syncWebpackPublicPathFromHost: (targetWindow?: Window | null, hostUrl?: string) => void;
11
+ /**
12
+ * Prefers guest _ASSET_PATH when present, otherwise falls back to hostUrl.
13
+ * @param {Window | null | undefined} [targetWindow] - Guest document defaultView.
14
+ * @param {string} [hostUrl] - Guest application base URL from load options.
15
+ * @returns {void}
16
+ */
17
+ export declare const syncWebpackPublicPath: (targetWindow?: Window | null, hostUrl?: string) => void;