@openruntime/modern-plugin 0.1.0

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.
Files changed (62) hide show
  1. package/README.md +334 -0
  2. package/dist/business/ready.d.ts +13 -0
  3. package/dist/business/ready.d.ts.map +1 -0
  4. package/dist/business/ready.js +48 -0
  5. package/dist/business/ready.js.map +1 -0
  6. package/dist/garfish/plugin.d.ts +5 -0
  7. package/dist/garfish/plugin.d.ts.map +1 -0
  8. package/dist/garfish/plugin.js +181 -0
  9. package/dist/garfish/plugin.js.map +1 -0
  10. package/dist/garfish/reporter.d.ts +6 -0
  11. package/dist/garfish/reporter.d.ts.map +1 -0
  12. package/dist/garfish/reporter.js +338 -0
  13. package/dist/garfish/reporter.js.map +1 -0
  14. package/dist/garfish/types.d.ts +111 -0
  15. package/dist/garfish/types.d.ts.map +1 -0
  16. package/dist/garfish/types.js +25 -0
  17. package/dist/garfish/types.js.map +1 -0
  18. package/dist/index.d.ts +11 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +8 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/modern/events.d.ts +124 -0
  23. package/dist/modern/events.d.ts.map +1 -0
  24. package/dist/modern/events.js +2 -0
  25. package/dist/modern/events.js.map +1 -0
  26. package/dist/modern/handlers.d.ts +10 -0
  27. package/dist/modern/handlers.d.ts.map +1 -0
  28. package/dist/modern/handlers.js +355 -0
  29. package/dist/modern/handlers.js.map +1 -0
  30. package/dist/modern/serialize.d.ts +9 -0
  31. package/dist/modern/serialize.d.ts.map +1 -0
  32. package/dist/modern/serialize.js +84 -0
  33. package/dist/modern/serialize.js.map +1 -0
  34. package/dist/modern/stream-ssr.d.ts +5 -0
  35. package/dist/modern/stream-ssr.d.ts.map +1 -0
  36. package/dist/modern/stream-ssr.js +90 -0
  37. package/dist/modern/stream-ssr.js.map +1 -0
  38. package/dist/plugin/create-plugin.d.ts +3 -0
  39. package/dist/plugin/create-plugin.d.ts.map +1 -0
  40. package/dist/plugin/create-plugin.js +32 -0
  41. package/dist/plugin/create-plugin.js.map +1 -0
  42. package/dist/plugin/runtime-state.d.ts +60 -0
  43. package/dist/plugin/runtime-state.d.ts.map +1 -0
  44. package/dist/plugin/runtime-state.js +453 -0
  45. package/dist/plugin/runtime-state.js.map +1 -0
  46. package/dist/plugin/types.d.ts +24 -0
  47. package/dist/plugin/types.d.ts.map +1 -0
  48. package/dist/plugin/types.js +2 -0
  49. package/dist/plugin/types.js.map +1 -0
  50. package/dist/runtime/render-context.d.ts +11 -0
  51. package/dist/runtime/render-context.d.ts.map +1 -0
  52. package/dist/runtime/render-context.js +51 -0
  53. package/dist/runtime/render-context.js.map +1 -0
  54. package/dist/runtime/resolve-runtime.d.ts +9 -0
  55. package/dist/runtime/resolve-runtime.d.ts.map +1 -0
  56. package/dist/runtime/resolve-runtime.js +31 -0
  57. package/dist/runtime/resolve-runtime.js.map +1 -0
  58. package/dist/runtime/targets.d.ts +51 -0
  59. package/dist/runtime/targets.d.ts.map +1 -0
  60. package/dist/runtime/targets.js +176 -0
  61. package/dist/runtime/targets.js.map +1 -0
  62. package/package.json +41 -0
@@ -0,0 +1,338 @@
1
+ import { resolveOpenRuntime } from "../runtime/resolve-runtime.js";
2
+ import { modernGarfishStatuses, modernGarfishTargetIds, modernGarfishTargetTypes } from "./types.js";
3
+ export function createOpenRuntimeGarfishReporter(options = {}) {
4
+ return new OpenRuntimeGarfishReporterImpl(options);
5
+ }
6
+ class OpenRuntimeGarfishReporterImpl {
7
+ #options;
8
+ #source;
9
+ #apps = new Map();
10
+ #runtime;
11
+ constructor(options) {
12
+ this.#options = options;
13
+ this.#source = options.source ?? "modern.js";
14
+ }
15
+ registerApp(appInfo) {
16
+ this.updateApp(appInfo, "registered", {
17
+ lifecycle: "registerApp",
18
+ phase: "register"
19
+ });
20
+ }
21
+ updateApp(appInfo, status, details = {}) {
22
+ const name = getAppName(appInfo);
23
+ if (name === undefined) {
24
+ return;
25
+ }
26
+ const runtime = this.#getRuntime();
27
+ const targetId = modernGarfishTargetIds.app(name);
28
+ registerGarfishAppTarget(runtime, this.#source, name, targetId);
29
+ const now = Date.now();
30
+ const previous = this.#apps.get(name);
31
+ const update = {
32
+ status,
33
+ phase: details.phase ?? status,
34
+ updatedAt: now
35
+ };
36
+ if (details.lifecycle !== undefined) {
37
+ update.lifecycle = details.lifecycle;
38
+ }
39
+ if (details.basename !== undefined) {
40
+ update.basename = details.basename;
41
+ }
42
+ if (details.scriptUrl !== undefined) {
43
+ update.scriptUrl = details.scriptUrl;
44
+ }
45
+ if (details.execOptions !== undefined) {
46
+ update.execOptions = getExecOptionsData(details.execOptions);
47
+ }
48
+ if (details.appInstance !== undefined && details.appInstance !== null) {
49
+ update.appInstance = getAppInstanceData(details.appInstance);
50
+ }
51
+ const next = mergeAppRuntimeData(previous, appInfo, update);
52
+ this.#apps.set(name, next);
53
+ runtime.updateSnapshot({
54
+ id: targetId,
55
+ status,
56
+ source: this.#source,
57
+ data: next,
58
+ ...(details.error === undefined ? {} : { error: details.error })
59
+ });
60
+ this.#syncRoot(details.error);
61
+ }
62
+ markProviderRenderCalled(appInfo, payload) {
63
+ const resolved = mergeAppInfo(appInfo, payload);
64
+ const name = getAppName(resolved);
65
+ if (name === undefined) {
66
+ return;
67
+ }
68
+ const previous = this.#apps.get(name);
69
+ this.#apps.set(name, {
70
+ ...mergeAppRuntimeData(previous, resolved, {
71
+ status: "rendering",
72
+ phase: "provider.render",
73
+ updatedAt: Date.now(),
74
+ lifecycle: "customLoader.mount"
75
+ }),
76
+ provider: {
77
+ ...previous?.provider,
78
+ renderCalled: true,
79
+ renderCallCount: (previous?.provider?.renderCallCount ?? 0) + 1
80
+ }
81
+ });
82
+ this.updateApp(resolved, "rendering", {
83
+ lifecycle: "customLoader.mount",
84
+ phase: "provider.render"
85
+ });
86
+ }
87
+ markProviderDestroyCalled(appInfo, payload) {
88
+ const resolved = mergeAppInfo(appInfo, payload);
89
+ const name = getAppName(resolved);
90
+ if (name === undefined) {
91
+ return;
92
+ }
93
+ const previous = this.#apps.get(name);
94
+ this.#apps.set(name, {
95
+ ...mergeAppRuntimeData(previous, resolved, {
96
+ status: "unmounting",
97
+ phase: "provider.destroy",
98
+ updatedAt: Date.now(),
99
+ lifecycle: "customLoader.unmount"
100
+ }),
101
+ provider: {
102
+ ...previous?.provider,
103
+ destroyCalled: true,
104
+ destroyCallCount: (previous?.provider?.destroyCallCount ?? 0) + 1
105
+ }
106
+ });
107
+ this.updateApp(resolved, "unmounting", {
108
+ lifecycle: "customLoader.unmount",
109
+ phase: "provider.destroy"
110
+ });
111
+ }
112
+ #getRuntime() {
113
+ this.#runtime ??= resolveOpenRuntime({
114
+ ...this.#options,
115
+ beforeConnect: (runtime) => registerGarfishRootTarget(runtime, this.#source)
116
+ });
117
+ registerGarfishRootTarget(this.#runtime, this.#source);
118
+ this.#ensureRootSnapshot();
119
+ return this.#runtime;
120
+ }
121
+ #ensureRootSnapshot() {
122
+ const runtime = this.#runtime;
123
+ if (runtime === undefined) {
124
+ return;
125
+ }
126
+ if (runtime.getSnapshot({ id: modernGarfishTargetIds.root }).targets[modernGarfishTargetIds.root] !== undefined) {
127
+ return;
128
+ }
129
+ runtime.updateSnapshot({
130
+ id: modernGarfishTargetIds.root,
131
+ status: "idle",
132
+ source: this.#source,
133
+ data: this.#getRootSnapshotData()
134
+ });
135
+ }
136
+ #syncRoot(error) {
137
+ const runtime = this.#getRuntime();
138
+ runtime.updateSnapshot({
139
+ id: modernGarfishTargetIds.root,
140
+ status: getRootStatus([...this.#apps.values()]),
141
+ source: this.#source,
142
+ data: this.#getRootSnapshotData(),
143
+ ...(error === undefined ? {} : { error })
144
+ });
145
+ }
146
+ #getRootSnapshotData() {
147
+ const apps = [...this.#apps.values()].sort((a, b) => a.name.localeCompare(b.name));
148
+ return {
149
+ apps,
150
+ appCount: apps.length,
151
+ errorAppNames: apps.filter((app) => app.status === "error").map((app) => app.name),
152
+ mountedAppNames: apps.filter((app) => app.status === "mounted").map((app) => app.name)
153
+ };
154
+ }
155
+ }
156
+ export function toGarfishRuntimeError(error, code) {
157
+ if (error instanceof Error) {
158
+ const runtimeError = {
159
+ message: error.message,
160
+ code
161
+ };
162
+ if (error.stack !== undefined) {
163
+ runtimeError.stack = error.stack;
164
+ }
165
+ return runtimeError;
166
+ }
167
+ if (isRecord(error)) {
168
+ const message = typeof error.message === "string" ? error.message : String(error);
169
+ const runtimeError = {
170
+ message,
171
+ code: typeof error.code === "string" ? error.code : code
172
+ };
173
+ if (typeof error.stack === "string") {
174
+ runtimeError.stack = error.stack;
175
+ }
176
+ return runtimeError;
177
+ }
178
+ return {
179
+ message: String(error),
180
+ code
181
+ };
182
+ }
183
+ function registerGarfishRootTarget(runtime, source) {
184
+ runtime.registerTarget({
185
+ id: modernGarfishTargetIds.root,
186
+ type: modernGarfishTargetTypes.root,
187
+ source,
188
+ label: "Modern.js Garfish",
189
+ description: "Aggregate Garfish sub-application runtime state.",
190
+ statuses: [...modernGarfishStatuses]
191
+ });
192
+ }
193
+ function registerGarfishAppTarget(runtime, source, name, targetId) {
194
+ runtime.registerTarget({
195
+ id: targetId,
196
+ type: modernGarfishTargetTypes.app,
197
+ source,
198
+ label: `Garfish app ${name}`,
199
+ description: "Garfish sub-application runtime state.",
200
+ statuses: [...modernGarfishStatuses],
201
+ data: {
202
+ name
203
+ }
204
+ });
205
+ }
206
+ function mergeAppRuntimeData(previous, appInfo, next) {
207
+ const name = getAppName(appInfo) ?? previous?.name ?? "unknown";
208
+ return {
209
+ ...(previous ?? { name, status: "idle", phase: "init", updatedAt: next.updatedAt }),
210
+ name,
211
+ status: next.status,
212
+ phase: next.phase,
213
+ updatedAt: next.updatedAt,
214
+ ...(next.lifecycle === undefined ? {} : { lifecycle: next.lifecycle }),
215
+ ...getAppInfoData(appInfo),
216
+ ...(next.basename === undefined ? {} : { basename: next.basename }),
217
+ ...(next.scriptUrl === undefined ? {} : { scriptUrl: next.scriptUrl }),
218
+ ...(next.execOptions === undefined ? {} : { execOptions: next.execOptions }),
219
+ ...(next.appInstance === undefined ? {} : { appInstance: next.appInstance }),
220
+ ...(previous?.provider === undefined ? {} : { provider: previous.provider })
221
+ };
222
+ }
223
+ function getAppInfoData(appInfo) {
224
+ const data = {};
225
+ const entry = toStringValue(appInfo.entry);
226
+ const activeWhen = toActiveWhenValue(appInfo.activeWhen);
227
+ const basename = toStringValue(appInfo.basename);
228
+ const domGetter = toDomGetterValue(appInfo.domGetter);
229
+ if (entry !== undefined) {
230
+ data.entry = entry;
231
+ }
232
+ if (activeWhen !== undefined) {
233
+ data.activeWhen = activeWhen;
234
+ }
235
+ if (basename !== undefined) {
236
+ data.basename = basename;
237
+ }
238
+ if (domGetter !== undefined) {
239
+ data.domGetter = domGetter;
240
+ }
241
+ if (typeof appInfo.cache === "boolean") {
242
+ data.cache = appInfo.cache;
243
+ }
244
+ return data;
245
+ }
246
+ function getAppInstanceData(appInstance) {
247
+ const data = {};
248
+ const appId = toStringValue(appInstance.appId);
249
+ if (appId !== undefined) {
250
+ data.appId = appId;
251
+ }
252
+ if (typeof appInstance.mounted === "boolean") {
253
+ data.mounted = appInstance.mounted;
254
+ }
255
+ if (typeof appInstance.display === "boolean") {
256
+ data.display = appInstance.display;
257
+ }
258
+ if (typeof appInstance.active === "boolean") {
259
+ data.active = appInstance.active;
260
+ }
261
+ return data;
262
+ }
263
+ function getExecOptionsData(options) {
264
+ return {
265
+ ...(typeof options.async === "boolean" ? { async: options.async } : {}),
266
+ ...(typeof options.defer === "boolean" ? { defer: options.defer } : {}),
267
+ ...(typeof options.noEntry === "boolean" ? { noEntry: options.noEntry } : {}),
268
+ ...(typeof options.isInline === "boolean" ? { isInline: options.isInline } : {}),
269
+ ...(typeof options.isModule === "boolean" ? { isModule: options.isModule } : {})
270
+ };
271
+ }
272
+ function getRootStatus(apps) {
273
+ if (apps.length === 0)
274
+ return "idle";
275
+ if (apps.some((app) => app.status === "error"))
276
+ return "error";
277
+ const priority = [
278
+ "rendering",
279
+ "mounting",
280
+ "evaluating",
281
+ "loading",
282
+ "unmounting",
283
+ "mounted",
284
+ "loaded",
285
+ "evaluated",
286
+ "registered",
287
+ "unmounted"
288
+ ];
289
+ return priority.find((status) => apps.some((app) => app.status === status)) ?? "idle";
290
+ }
291
+ function getAppName(appInfo) {
292
+ if (typeof appInfo.name !== "string") {
293
+ return undefined;
294
+ }
295
+ const name = appInfo.name.trim();
296
+ return name === "" ? undefined : name;
297
+ }
298
+ function mergeAppInfo(appInfo, payload) {
299
+ if (!isRecord(payload)) {
300
+ return appInfo;
301
+ }
302
+ return {
303
+ ...appInfo,
304
+ ...(typeof payload.appName === "string" && typeof appInfo.name !== "string"
305
+ ? { name: payload.appName }
306
+ : {}),
307
+ ...(typeof payload.basename === "string" ? { basename: payload.basename } : {}),
308
+ ...(isRecord(payload.props) ? { props: payload.props } : {})
309
+ };
310
+ }
311
+ function toStringValue(value) {
312
+ return typeof value === "string" && value.trim() !== "" ? value : undefined;
313
+ }
314
+ function toActiveWhenValue(value) {
315
+ if (typeof value === "string" && value.trim() !== "") {
316
+ return value;
317
+ }
318
+ if (typeof value === "function") {
319
+ return "[function]";
320
+ }
321
+ return undefined;
322
+ }
323
+ function toDomGetterValue(value) {
324
+ if (typeof value === "string" && value.trim() !== "") {
325
+ return value;
326
+ }
327
+ if (typeof value === "function") {
328
+ return "[function]";
329
+ }
330
+ return undefined;
331
+ }
332
+ function isRecord(value) {
333
+ return typeof value === "object" && value !== null;
334
+ }
335
+ export function resolveRenderPayloadAppInfo(appInfo, payload) {
336
+ return mergeAppInfo(appInfo, payload);
337
+ }
338
+ //# sourceMappingURL=reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/garfish/reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import type { BridgeConnectOptions, OpenRuntimeCore, OpenRuntimeWindowHost, RuntimeError } from "@openruntime/core";
2
+ export declare const modernGarfishTargetTypes: {
3
+ readonly root: "modern.garfish";
4
+ readonly app: "modern.garfish.app";
5
+ };
6
+ export declare const modernGarfishTargetIds: {
7
+ readonly root: "modern:garfish";
8
+ readonly app: (name: string) => string;
9
+ };
10
+ export declare const modernGarfishStatuses: readonly ["idle", "registered", "loading", "loaded", "evaluating", "evaluated", "mounting", "rendering", "mounted", "unmounting", "unmounted", "error"];
11
+ export type ModernGarfishStatus = typeof modernGarfishStatuses[number];
12
+ export interface OpenRuntimeGarfishReporterOptions {
13
+ runtime?: OpenRuntimeCore;
14
+ source?: string;
15
+ bridge?: false | BridgeConnectOptions;
16
+ host?: OpenRuntimeWindowHost;
17
+ }
18
+ export interface OpenRuntimeGarfishPluginOptions extends OpenRuntimeGarfishReporterOptions {
19
+ reporter?: OpenRuntimeGarfishReporter;
20
+ }
21
+ export interface OpenRuntimeGarfishCustomLoaderOptions extends OpenRuntimeGarfishReporterOptions {
22
+ reporter?: OpenRuntimeGarfishReporter;
23
+ loader?: GarfishCustomLoader;
24
+ }
25
+ export interface OpenRuntimeGarfishReporter {
26
+ registerApp(appInfo: GarfishAppInfoLike): void;
27
+ updateApp(appInfo: GarfishAppInfoLike, status: ModernGarfishStatus, details?: OpenRuntimeGarfishUpdateDetails): void;
28
+ markProviderRenderCalled(appInfo: GarfishAppInfoLike, payload?: unknown): void;
29
+ markProviderDestroyCalled(appInfo: GarfishAppInfoLike, payload?: unknown): void;
30
+ }
31
+ export interface OpenRuntimeGarfishUpdateDetails {
32
+ lifecycle?: string;
33
+ phase?: string;
34
+ basename?: string;
35
+ scriptUrl?: string;
36
+ appInstance?: GarfishAppInstanceLike | null;
37
+ execOptions?: GarfishExecOptionsLike;
38
+ error?: RuntimeError;
39
+ payload?: unknown;
40
+ }
41
+ export interface GarfishAppInfoLike {
42
+ name?: unknown;
43
+ entry?: unknown;
44
+ activeWhen?: unknown;
45
+ basename?: unknown;
46
+ domGetter?: unknown;
47
+ cache?: unknown;
48
+ props?: unknown;
49
+ [key: string]: unknown;
50
+ }
51
+ export interface GarfishAppInstanceLike {
52
+ appId?: unknown;
53
+ mounted?: unknown;
54
+ display?: unknown;
55
+ active?: unknown;
56
+ appInfo?: GarfishAppInfoLike;
57
+ [key: string]: unknown;
58
+ }
59
+ export interface GarfishExecOptionsLike {
60
+ async?: unknown;
61
+ defer?: unknown;
62
+ noEntry?: unknown;
63
+ isInline?: unknown;
64
+ isModule?: unknown;
65
+ [key: string]: unknown;
66
+ }
67
+ export interface GarfishProviderLike {
68
+ render?: (payload: GarfishProviderRenderPayload) => unknown;
69
+ destroy?: (payload: GarfishProviderDestroyPayload) => unknown;
70
+ [key: string]: unknown;
71
+ }
72
+ export interface GarfishProviderRenderPayload {
73
+ appName?: unknown;
74
+ dom?: unknown;
75
+ basename?: unknown;
76
+ appRenderInfo?: unknown;
77
+ props?: unknown;
78
+ [key: string]: unknown;
79
+ }
80
+ export interface GarfishProviderDestroyPayload {
81
+ appName?: unknown;
82
+ dom?: unknown;
83
+ appRenderInfo?: unknown;
84
+ props?: unknown;
85
+ [key: string]: unknown;
86
+ }
87
+ export interface GarfishLoaderResult {
88
+ mount?: (payload: GarfishProviderRenderPayload) => unknown;
89
+ unmount?: (payload: GarfishProviderDestroyPayload) => unknown;
90
+ }
91
+ export type GarfishCustomLoader = (provider: GarfishProviderLike, appInfo: GarfishAppInfoLike, basename?: string) => GarfishLoaderResult | undefined | Promise<GarfishLoaderResult | undefined>;
92
+ export interface OpenRuntimeGarfishPlugin {
93
+ name: string;
94
+ version?: string;
95
+ beforeRegisterApp?: (appInfo: GarfishAppInfoLike | GarfishAppInfoLike[]) => void;
96
+ registerApp?: (apps: Record<string, GarfishAppInfoLike> | GarfishAppInfoLike[]) => void;
97
+ beforeLoad?: (appInfo: GarfishAppInfoLike) => void;
98
+ afterLoad?: (appInfo: GarfishAppInfoLike, appInstance?: GarfishAppInstanceLike | null) => void;
99
+ errorLoadApp?: (error: unknown, appInfo: GarfishAppInfoLike) => void;
100
+ beforeEval?: (appInfo: GarfishAppInfoLike, code?: string, env?: Record<string, unknown>, scriptUrl?: string, execOptions?: GarfishExecOptionsLike) => void;
101
+ afterEval?: (appInfo: GarfishAppInfoLike, code?: string, env?: Record<string, unknown>, scriptUrl?: string, execOptions?: GarfishExecOptionsLike) => void;
102
+ errorExecCode?: (error: unknown, appInfo: GarfishAppInfoLike, code?: string, env?: Record<string, unknown>, scriptUrl?: string, execOptions?: GarfishExecOptionsLike) => void;
103
+ beforeMount?: (appInfo: GarfishAppInfoLike, appInstance?: GarfishAppInstanceLike, cacheMode?: boolean) => void;
104
+ afterMount?: (appInfo: GarfishAppInfoLike, appInstance?: GarfishAppInstanceLike, cacheMode?: boolean) => void;
105
+ errorMountApp?: (error: unknown, appInfo: GarfishAppInfoLike) => void;
106
+ beforeUnmount?: (appInfo: GarfishAppInfoLike, appInstance?: GarfishAppInstanceLike, cacheMode?: boolean) => void;
107
+ afterUnmount?: (appInfo: GarfishAppInfoLike, appInstance?: GarfishAppInstanceLike, cacheMode?: boolean) => void;
108
+ errorUnmountApp?: (error: unknown, appInfo: GarfishAppInfoLike) => void;
109
+ }
110
+ export type OpenRuntimeGarfishPluginFactory = (context: unknown) => OpenRuntimeGarfishPlugin;
111
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/garfish/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export const modernGarfishTargetTypes = {
2
+ root: "modern.garfish",
3
+ app: "modern.garfish.app"
4
+ };
5
+ export const modernGarfishTargetIds = {
6
+ root: "modern:garfish",
7
+ app(name) {
8
+ return `modern:garfish:app:${encodeURIComponent(name)}`;
9
+ }
10
+ };
11
+ export const modernGarfishStatuses = [
12
+ "idle",
13
+ "registered",
14
+ "loading",
15
+ "loaded",
16
+ "evaluating",
17
+ "evaluated",
18
+ "mounting",
19
+ "rendering",
20
+ "mounted",
21
+ "unmounting",
22
+ "unmounted",
23
+ "error"
24
+ ];
25
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/garfish/types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,gBAAgB;IACtB,GAAG,EAAE,oBAAoB;CACjB,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,gBAAgB;IACtB,GAAG,CAAC,IAAY;QACd,OAAO,sBAAsB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1D,CAAC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,UAAU;IACV,WAAW;IACX,SAAS;IACT,YAAY;IACZ,WAAW;IACX,OAAO;CACC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { openRuntimeModernPlugin } from "./plugin/create-plugin.js";
2
+ export type { ModernRuntimePlugin, ModernRuntimePluginApi, OpenRuntimeModernPluginOptions } from "./plugin/types.js";
3
+ export type { ModernDataRouter, ModernHydrationEvent, ModernNavigateOptions, ModernRenderContext, ModernRouteComponentEvent, ModernRouteLoaderEvent, ModernRouteMatch, ModernRouteObject, ModernRouterCreatedEvent, ModernRouterLocation, ModernRouterState, ModernRouterStateChangeEvent, ModernStreamSsrExtender } from "./modern/events.js";
4
+ export { markOpenRuntimeReady, markOpenRuntimeReadyError, registerOpenRuntimeReady, unregisterOpenRuntimeReady } from "./business/ready.js";
5
+ export type { RegisterOpenRuntimeReadyOptions } from "./business/ready.js";
6
+ export { createOpenRuntimeGarfishCustomLoader, createOpenRuntimeGarfishPlugin } from "./garfish/plugin.js";
7
+ export { createOpenRuntimeGarfishReporter } from "./garfish/reporter.js";
8
+ export { modernGarfishStatuses, modernGarfishTargetIds, modernGarfishTargetTypes } from "./garfish/types.js";
9
+ export type { GarfishAppInfoLike, GarfishAppInstanceLike, GarfishCustomLoader, GarfishExecOptionsLike, GarfishLoaderResult, GarfishProviderLike, ModernGarfishStatus, OpenRuntimeGarfishCustomLoaderOptions, OpenRuntimeGarfishPlugin, OpenRuntimeGarfishPluginFactory, OpenRuntimeGarfishPluginOptions, OpenRuntimeGarfishReporter, OpenRuntimeGarfishReporterOptions } from "./garfish/types.js";
10
+ export declare const modernPluginPackageInfo: import("@openruntime/core").OpenRuntimePackageInfo;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qCAAqC,EACrC,wBAAwB,EACxB,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,iCAAiC,EAClC,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,oDAGnC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ import { createPackageInfo } from "@openruntime/core";
2
+ export { openRuntimeModernPlugin } from "./plugin/create-plugin.js";
3
+ export { markOpenRuntimeReady, markOpenRuntimeReadyError, registerOpenRuntimeReady, unregisterOpenRuntimeReady } from "./business/ready.js";
4
+ export { createOpenRuntimeGarfishCustomLoader, createOpenRuntimeGarfishPlugin } from "./garfish/plugin.js";
5
+ export { createOpenRuntimeGarfishReporter } from "./garfish/reporter.js";
6
+ export { modernGarfishStatuses, modernGarfishTargetIds, modernGarfishTargetTypes } from "./garfish/types.js";
7
+ export const modernPluginPackageInfo = createPackageInfo("@openruntime/modern-plugin", "modern.js plugin");
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAqBpE,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAiB5B,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CACtD,4BAA4B,EAC5B,kBAAkB,CACnB,CAAC"}
@@ -0,0 +1,124 @@
1
+ export interface ModernRouteObject {
2
+ id?: string;
3
+ path?: string;
4
+ index?: boolean;
5
+ children?: ModernRouteObject[];
6
+ loader?: unknown;
7
+ hasLoader?: boolean;
8
+ Component?: unknown;
9
+ component?: unknown;
10
+ element?: unknown;
11
+ lazy?: unknown;
12
+ }
13
+ export interface ModernHydrationEvent {
14
+ type: "start" | "success" | "fallback" | "error" | "recoverable-error";
15
+ context?: unknown;
16
+ renderLevel?: unknown;
17
+ renderMode?: string;
18
+ reason?: string;
19
+ root?: unknown;
20
+ error?: unknown;
21
+ errorInfo?: unknown;
22
+ }
23
+ export interface ModernRouterCreatedEvent {
24
+ router: ModernDataRouter;
25
+ routes: ModernRouteObject[];
26
+ basename: string;
27
+ context?: unknown;
28
+ }
29
+ export interface ModernRouterStateChangeEvent {
30
+ router: ModernDataRouter;
31
+ routes: ModernRouteObject[];
32
+ state: ModernRouterState;
33
+ context?: unknown;
34
+ }
35
+ export type ModernRouteLoaderEvent = {
36
+ type: "start";
37
+ routeId: string;
38
+ args?: unknown;
39
+ } | {
40
+ type: "success";
41
+ routeId: string;
42
+ args?: unknown;
43
+ result?: unknown;
44
+ } | {
45
+ type: "redirect";
46
+ routeId: string;
47
+ args?: unknown;
48
+ response?: unknown;
49
+ } | {
50
+ type: "error";
51
+ routeId: string;
52
+ args?: unknown;
53
+ error?: unknown;
54
+ };
55
+ export type ModernRouteComponentEvent = {
56
+ type: "module-load";
57
+ routeId: string;
58
+ routeModule?: unknown;
59
+ } | {
60
+ type: "module-load-error";
61
+ routeId?: string;
62
+ error?: unknown;
63
+ } | {
64
+ type: "render-error";
65
+ routeId: string;
66
+ error?: unknown;
67
+ componentStack?: string;
68
+ } | {
69
+ type: "mount";
70
+ routeId: string;
71
+ };
72
+ export interface ModernDataRouter {
73
+ state?: ModernRouterState;
74
+ navigate?: (to: string, options?: ModernNavigateOptions) => unknown;
75
+ }
76
+ export interface ModernNavigateOptions {
77
+ replace?: boolean;
78
+ }
79
+ export interface ModernRouterState {
80
+ location?: ModernRouterLocation;
81
+ navigation?: ModernNavigationState;
82
+ matches?: ModernRouteMatch[];
83
+ errors?: Record<string, unknown> | null;
84
+ }
85
+ export interface ModernRouterLocation {
86
+ pathname?: string;
87
+ search?: string;
88
+ hash?: string;
89
+ key?: string;
90
+ }
91
+ export interface ModernNavigationState {
92
+ state?: string;
93
+ location?: ModernRouterLocation;
94
+ }
95
+ export interface ModernRouteMatch {
96
+ route?: {
97
+ id?: string;
98
+ };
99
+ id?: string;
100
+ pathname?: string;
101
+ }
102
+ export interface ModernRenderContext {
103
+ isBrowser?: boolean;
104
+ routes?: ModernRouteObject[];
105
+ router?: unknown;
106
+ ssrContext?: {
107
+ request?: {
108
+ pathname?: string;
109
+ host?: string;
110
+ url?: string;
111
+ };
112
+ htmlModifiers?: Array<(html: string) => string>;
113
+ };
114
+ }
115
+ export interface ModernStreamSsrExtender {
116
+ init?: (params: {
117
+ rootElement: unknown;
118
+ forceStream2String: boolean;
119
+ }) => void;
120
+ modifyRootElement?: (rootElement: unknown) => unknown;
121
+ getStyleTags?: () => string;
122
+ processStream?: (stream: unknown) => unknown;
123
+ }
124
+ //# sourceMappingURL=events.d.ts.map