@owlmeans/client 0.1.18-rc.49 → 0.1.18-rc.50
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.
- package/README.md +2 -2
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/client/SKILL.md +1 -1
- package/build/consts.local.d.ts +10 -0
- package/build/consts.local.d.ts.map +1 -0
- package/build/consts.local.js +19 -0
- package/build/consts.local.js.map +1 -0
- package/build/context.d.ts +2 -2
- package/build/context.d.ts.map +1 -1
- package/build/context.js +1 -11
- package/build/context.js.map +1 -1
- package/build/helper.d.ts +1 -1
- package/build/helper.d.ts.map +1 -1
- package/build/helper.js.map +1 -1
- package/build/lazy-retry.d.ts.map +1 -1
- package/build/lazy-retry.js +1 -7
- package/build/lazy-retry.js.map +1 -1
- package/build/lazy.d.ts.map +1 -1
- package/build/lazy.js.map +1 -1
- package/build/router.d.ts +1 -1
- package/build/router.d.ts.map +1 -1
- package/build/router.js.map +1 -1
- package/build/types.local.d.ts +29 -0
- package/build/types.local.d.ts.map +1 -0
- package/build/types.local.js +2 -0
- package/build/types.local.js.map +1 -0
- package/build/utils/entrypoint.d.ts.map +1 -1
- package/build/utils/entrypoint.js.map +1 -1
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/route.d.ts +2 -14
- package/build/utils/route.d.ts.map +1 -1
- package/build/utils/route.js.map +1 -1
- package/build/utils/router.d.ts +2 -12
- package/build/utils/router.d.ts.map +1 -1
- package/build/utils/router.js.map +1 -1
- package/build/utils/types.d.ts +15 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/types.js +2 -0
- package/build/utils/types.js.map +1 -0
- package/build/utils/types.local.d.ts +6 -0
- package/build/utils/types.local.d.ts.map +1 -0
- package/build/utils/types.local.js +2 -0
- package/build/utils/types.local.js.map +1 -0
- package/package.json +19 -19
- package/src/consts.local.ts +22 -0
- package/src/context.ts +4 -18
- package/src/helper.tsx +3 -7
- package/src/lazy-retry.ts +1 -9
- package/src/lazy.tsx +2 -22
- package/src/router.ts +2 -6
- package/src/types.local.ts +32 -0
- package/src/utils/entrypoint.ts +2 -4
- package/src/utils/index.ts +1 -0
- package/src/utils/route.tsx +4 -17
- package/src/utils/router.ts +2 -10
- package/src/utils/types.local.ts +6 -0
- package/src/utils/types.ts +18 -0
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ imports everything from here. Server code never uses this package; its equivalen
|
|
|
14
14
|
## Installation
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
bun add @owlmeans/client@^0.1.18-rc.
|
|
17
|
+
bun add @owlmeans/client@^0.1.18-rc.50
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
`react` and `@remix-run/router` are peer dependencies.
|
|
@@ -273,7 +273,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
273
273
|
your project's skill store (`.agents/skills/`):
|
|
274
274
|
|
|
275
275
|
```sh
|
|
276
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
276
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.48
|
|
277
277
|
```
|
|
278
278
|
|
|
279
279
|
The embedded files are version-matched to this package release. Do not edit them
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/client",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-10-
|
|
4
|
+
"version": "0.1.18-rc.50",
|
|
5
|
+
"generatedAt": "2026-10-05T08:32:19.112Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/client
|
|
9
9
|
|
|
10
10
|
**Layer:** Client
|
|
11
|
-
**Install:** `"@owlmeans/client": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/client": "^0.1.18-rc.50"` in `dependencies`
|
|
12
12
|
|
|
13
13
|
The React substrate `@owlmeans/web-client` (browser) and the native equivalent are built on. A
|
|
14
14
|
cross-platform package imports from here; an application normally imports from the platform
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
2
|
+
export declare const defaultCfg: ClientConfig;
|
|
3
|
+
/**
|
|
4
|
+
* What a browser says when a dynamic `import()` could not fetch its module — Chromium, Safari and
|
|
5
|
+
* Firefox, in that order — and what Vite's preload helper says when a chunk's stylesheet could not.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CHUNK_FAILURE: RegExp;
|
|
8
|
+
/** The module URL a Chromium or Firefox import failure names; Safari's message names none. */
|
|
9
|
+
export declare const FAILED_URL: RegExp;
|
|
10
|
+
//# sourceMappingURL=consts.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../src/consts.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D,eAAO,MAAM,UAAU,EAAE,YASxB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAkJ,CAAA;AAE5K,8FAA8F;AAC9F,eAAO,MAAM,UAAU,QAA2C,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AppType, CONFIG_RECORD } from '@owlmeans/context';
|
|
2
|
+
export const defaultCfg = {
|
|
3
|
+
services: {},
|
|
4
|
+
brand: {},
|
|
5
|
+
trusted: [],
|
|
6
|
+
[CONFIG_RECORD]: [],
|
|
7
|
+
ready: false,
|
|
8
|
+
service: '',
|
|
9
|
+
debug: {},
|
|
10
|
+
type: AppType.Frontend,
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* What a browser says when a dynamic `import()` could not fetch its module — Chromium, Safari and
|
|
14
|
+
* Firefox, in that order — and what Vite's preload helper says when a chunk's stylesheet could not.
|
|
15
|
+
*/
|
|
16
|
+
export const CHUNK_FAILURE = /failed to fetch dynamically imported module|importing a module script failed|error loading dynamically imported module|unable to preload css/i;
|
|
17
|
+
/** The module URL a Chromium or Firefox import failure names; Safari's message names none. */
|
|
18
|
+
export const FAILED_URL = /dynamically imported module:?\s+(\S+)/i;
|
|
19
|
+
//# sourceMappingURL=consts.local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../src/consts.local.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,CAAC,aAAa,CAAC,EAAE,EAAE;IACnB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,OAAO,CAAC,QAAQ;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,+IAA+I,CAAA;AAE5K,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,wCAAwC,CAAA"}
|
package/build/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import { type Context as ReactContext } from 'react';
|
|
2
|
+
import { type ClientConfig } from '@owlmeans/client-context';
|
|
3
3
|
import type { ClientContext } from './types.js';
|
|
4
4
|
export declare const makeClientContext: <C extends ClientConfig, T extends ClientContext<C> = ClientContext<C>>(cfg: C) => T;
|
|
5
5
|
export declare const ClientContextContainer: ReactContext<ClientContext<ClientConfig>>;
|
package/build/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAuC,KAAK,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AACzF,OAAO,EAAkD,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAQ/C,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAG,CA4BjH,CAAA;AAED,eAAO,MAAM,sBAAsB,2CAA+C,CAAA;AAElF,eAAO,MAAM,OAAO,uDAAkC,CAAA;AAEtD,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,QAE5E,CAAA"}
|
package/build/context.js
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { createContext, useContext as useCtx } from 'react';
|
|
2
2
|
import { makeClientContext as makeBasicContext, PLUGINS } from '@owlmeans/client-context';
|
|
3
|
-
import { AppType, CONFIG_RECORD } from '@owlmeans/context';
|
|
4
3
|
import { appendStateResource } from '@owlmeans/state';
|
|
5
4
|
import { appendModalService } from './components/modal.js';
|
|
6
5
|
import { appendDebugService } from './services/debug.js';
|
|
7
6
|
import { appendConfigResource, PLUGIN_RECORD } from '@owlmeans/config';
|
|
8
7
|
import { ROUTER_SERVICE } from '@owlmeans/router';
|
|
9
|
-
|
|
10
|
-
services: {},
|
|
11
|
-
brand: {},
|
|
12
|
-
trusted: [],
|
|
13
|
-
[CONFIG_RECORD]: [],
|
|
14
|
-
ready: false,
|
|
15
|
-
service: '',
|
|
16
|
-
debug: {},
|
|
17
|
-
type: AppType.Frontend,
|
|
18
|
-
};
|
|
8
|
+
import { defaultCfg } from './consts.local.js';
|
|
19
9
|
export const makeClientContext = (cfg) => {
|
|
20
10
|
const context = makeBasicContext(cfg);
|
|
21
11
|
appendStateResource(context);
|
package/build/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,MAAM,EAAgC,MAAM,OAAO,CAAA;AACzF,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,OAAO,EAAqB,MAAM,0BAA0B,CAAA;AAE5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAsB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAwE,GAAM,EAAK,EAAE;IACpH,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAM,CAAA;IAC1C,mBAAmB,CAAO,OAAO,CAAC,CAAA;IAClC,kBAAkB,CAAO,OAAO,CAAC,CAAA;IACjC,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,oBAAoB,CAAO,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IAC3D,kBAAkB,CAAO,OAAO,CAAC,CAAA;IAEjC,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,WAAW,GAAuB,EAAE,CAAA;QAE1C,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC,EAAE;YACtC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1B,OAAO,GAAG,EAAE;gBACV,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC3C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC,CAAA;QACH,CAAC,CAAA;QACD,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE;YACtB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7C,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAgB,cAAc,CAAC,CAAA;IAErE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAA;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAuD,EAAE,CAAC,MAAM,CACxF,sBAAoD,CACrD,CAAA"}
|
package/build/helper.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RefedEntrypointHandler } from '@owlmeans/client-entrypoint';
|
|
2
|
-
import { HandledRenderer } from './utils/
|
|
2
|
+
import type { HandledRenderer } from './utils/types.js';
|
|
3
3
|
export declare const handler: <T extends {}>(Component: HandledRenderer<T>, preprender?: boolean) => RefedEntrypointHandler<T>;
|
|
4
4
|
//# sourceMappingURL=helper.d.ts.map
|
package/build/helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAOvD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,EAAE,aACvB,eAAe,CAAC,CAAC,CAAC,eAAe,OAAO,KAClD,sBAAsB,CAAC,CAAC,CAiC1B,CAAA"}
|
package/build/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAIjD,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,SAA6B,EAAE,UAAoB,EACxB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAGrC,GAAM,EAAE,GAAM,EAAO,EAAE;IACvB,MAAM,QAAQ,GAAG,kBAAkB,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,SAAS,EAAE,CAAA;IAChE,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,WAAW,CAAC,kCAAkC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAkB,GAAG,CAAC,GAAG,CAAC,GAAc,EAAE,QAAQ,CAAC,CAAA;IAC5E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,WAAW,CAAC,gCAAgC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,SAAoC,CAAA;QACrD,MAAM,OAAO,GAAG,KAAC,QAAQ,OAAK,GAAG,EAAE,OAAO,EAAE,GAAG,GAAI,CAAA;QACnD,GAAG,CAAC,OAAO,CAAC,OAA6B,CAAC,CAAA;QAE1C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAAoB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,SAAoC,CAAA;QACrD,OAAO,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC7C,KAAC,QAAQ,OAAK,KAAK,YAAG,QAAQ,GAAY,GACf,CAAA;IAC/B,CAAC,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-retry.d.ts","sourceRoot":"","sources":["../src/lazy-retry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"lazy-retry.d.ts","sourceRoot":"","sources":["../src/lazy-retry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAGpD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,OAUjD,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,MAAM,GAAG,IAgBpD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAU,MAAM,QAAO,MAAM,KAAgB,MAIvE,CAAA;AAKD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,QAAQ,MAAM,OAAO,CAAC,CAAC,CAAC,SAAS,kBAAkB,KAAG,OAAO,CAAC,CAAC,CAsBjG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,YAAY,MAAM,KAAG,OAoB1D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAO,OAA+D,CAAA"}
|
package/build/lazy-retry.js
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { CHUNK_RELOAD_KEY, CHUNK_RELOAD_WINDOW_MS, DEF_IMPORT_RETRY_ATTEMPTS, DEF_IMPORT_RETRY_DELAYS_MS } from './consts.js';
|
|
2
|
-
|
|
3
|
-
* What a browser says when a dynamic `import()` could not fetch its module — Chromium, Safari and
|
|
4
|
-
* Firefox, in that order — and what Vite's preload helper says when a chunk's stylesheet could not.
|
|
5
|
-
*/
|
|
6
|
-
const CHUNK_FAILURE = /failed to fetch dynamically imported module|importing a module script failed|error loading dynamically imported module|unable to preload css/i;
|
|
2
|
+
import { CHUNK_FAILURE, FAILED_URL } from './consts.local.js';
|
|
7
3
|
/**
|
|
8
4
|
* Whether `error` is a chunk that could not be FETCHED: a browser's failed dynamic import, Vite's
|
|
9
5
|
* stylesheet preload failure, webpack's `ChunkLoadError`, Vite's `vite:preloadError` event, or
|
|
@@ -22,8 +18,6 @@ export const isChunkLoadError = (error) => {
|
|
|
22
18
|
return name === 'ChunkLoadError' || (typeof message === 'string' && CHUNK_FAILURE.test(message));
|
|
23
19
|
};
|
|
24
20
|
const pause = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
25
|
-
/** The module URL a Chromium or Firefox import failure names; Safari's message names none. */
|
|
26
|
-
const FAILED_URL = /dynamically imported module:?\s+(\S+)/i;
|
|
27
21
|
/**
|
|
28
22
|
* The URL of the chunk a failed dynamic import tried to fetch, when the browser's error names it
|
|
29
23
|
* and it is an http(s) URL of this page's origin — never an arbitrary URL out of a message. `null`
|
package/build/lazy-retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-retry.js","sourceRoot":"","sources":["../src/lazy-retry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,0BAA0B,EAChG,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"lazy-retry.js","sourceRoot":"","sources":["../src/lazy-retry.ts"],"names":[],"mappings":"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"}
|
package/build/lazy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAC/E,MAAM,YAAY,CAAA;AAInB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,QACrD,MAAM,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,oBAAoB,KACjE,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAgDjC,CAAA;AA6CD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,QACnD,MAAM,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,oBAAoB,KACjE,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAK/B,CAAA"}
|
package/build/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.tsx"],"names":[],"mappings":"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"}
|
package/build/router.d.ts
CHANGED
package/build/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAA8C,MAAM,OAAO,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAA;AAiB1E,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAkClC,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,WA6BlC,CAAA"}
|
package/build/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
2
|
+
import type { EntrypointContextParams, RoutedComponent, ClientContext, LazyComponentOptions } from './types.js';
|
|
3
|
+
import type { HandledRenderer } from './utils/types.js';
|
|
4
|
+
import type { PropsWithChildren, ComponentType, ReactNode } from 'react';
|
|
5
|
+
export type Config = ClientConfig;
|
|
6
|
+
export interface Context<C extends Config = Config> extends ClientContext<C> {
|
|
7
|
+
}
|
|
8
|
+
export type RendererType = HandledRenderer<PropsWithChildren<EntrypointContextParams>> & RoutedComponent;
|
|
9
|
+
export type Loaded = ComponentType<any>;
|
|
10
|
+
export type LazyModule = {
|
|
11
|
+
default: Loaded;
|
|
12
|
+
};
|
|
13
|
+
export interface LazyErrorBoundaryProps {
|
|
14
|
+
error: LazyComponentOptions['error'];
|
|
15
|
+
/** Start the guarded reload for a chunk failure even though `error` is given. */
|
|
16
|
+
reload: boolean;
|
|
17
|
+
fallback: ReactNode;
|
|
18
|
+
props: Record<string, unknown>;
|
|
19
|
+
/** Swap the failed lazy for the recreated one — batched with the boundary's own reset. */
|
|
20
|
+
onRetry: () => void;
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export interface LazyErrorBoundaryState {
|
|
24
|
+
failed: boolean;
|
|
25
|
+
error: unknown;
|
|
26
|
+
/** A guarded reload has started: keep the fallback up until the new document replaces this one. */
|
|
27
|
+
reloading?: boolean;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=types.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC/G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExE,MAAM,MAAM,MAAM,GAAG,YAAY,CAAA;AAEjC,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;CAAI;AAEhF,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,GAAG,eAAe,CAAA;AAExG,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;AAEvC,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5C,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACpC,iFAAiF;IACjF,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,0FAA0F;IAC1F,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,mGAAmG;IACnG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.js","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/utils/entrypoint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/utils/entrypoint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAI1D,eAAO,MAAM,iBAAiB,sDAK5B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../../src/utils/entrypoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../../src/utils/entrypoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAKrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAA0B;IACtE,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAa;CACvB,CAAC,CAAA"}
|
package/build/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA"}
|
package/build/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAE3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA"}
|
package/build/utils/route.d.ts
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
3
|
-
import type { ClientEntrypoint } from '@owlmeans/client-entrypoint';
|
|
4
|
-
import type { ClientConfig } from '@owlmeans/client-context';
|
|
5
|
-
type Config = ClientConfig;
|
|
6
|
-
interface Context<C extends Config = Config> extends ClientContext<C> {
|
|
7
|
-
}
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { RendererParams } from './types.js';
|
|
8
3
|
export declare const createRouteRenderer: (params: RendererParams) => FC;
|
|
9
|
-
export type HandledRenderer<T extends {}> = FC<PropsWithChildren<T> | T> | ReactElement;
|
|
10
|
-
interface RendererParams {
|
|
11
|
-
context: Context;
|
|
12
|
-
module: ClientEntrypoint<unknown>;
|
|
13
|
-
hasChildren: boolean;
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
16
4
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/utils/route.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/utils/route.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAA2D,MAAM,OAAO,CAAA;AAKxF,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAA;AAGjE,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,EAgE7D,CAAA"}
|
package/build/utils/route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/utils/route.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/utils/route.tsx"],"names":[],"mappings":"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"}
|
package/build/utils/router.d.ts
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type { ClientContext } from '../types.js';
|
|
4
|
-
type Config = ClientConfig;
|
|
5
|
-
interface Context<C extends Config = Config> extends ClientContext<C> {
|
|
6
|
-
}
|
|
1
|
+
import type { Config, Context } from './types.local.js';
|
|
2
|
+
import type { EntrypointTree, EntrypointTreeVisitor } from './types.js';
|
|
7
3
|
export declare const buildEntrypointTree: <R, C extends Config = Config, T extends Context<C> = Context<C>>(context: T) => EntrypointTree<R>;
|
|
8
4
|
export declare const visitEntrypointTree: <T, R>(tree: EntrypointTree<T>, visitor: EntrypointTreeVisitor<T, R>) => Promise<R[]>;
|
|
9
5
|
export declare const initializeRouter: (context: Context) => Promise<import("@owlmeans/router").RouteObject[]>;
|
|
10
|
-
export interface EntrypointTreeVisitor<T, R> {
|
|
11
|
-
(module: ClientEntrypoint<T>, children: R[], alone: boolean): Promise<R>;
|
|
12
|
-
}
|
|
13
|
-
interface EntrypointTree<T> extends Map<ClientEntrypoint<T>, EntrypointTree<T>> {
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
16
6
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/utils/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/utils/router.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGvE,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAG,cAAc,CAAC,CAAC,CA2BjI,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,CAAC,EAAE,CAAC,QAAQ,cAAc,CAAC,CAAC,CAAC,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,EAAE,CAKhG,CAAA;AAE3B,eAAO,MAAM,gBAAgB,YAAmB,OAAO,sDAOtD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/utils/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/utils/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAK9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAkE,OAAU,EAAqB,EAAE;IACpI,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAuB,CAAC,MAAM,CACnE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ;WACjD,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI;eAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAC3D,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8C,CAAA;IACtE,MAAM,KAAK,GAA0B,EAAE,CAAA;IAEvC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAA;QAC7C,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAsB,WAAW,CAAC,CAAA;YACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACjB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,CAAC,WAAkC,EAAqB,EAAE,CAAC,WAAW,CAAC,MAAM,CACrG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAC7F,CAAA;IAED,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAQ,IAAuB,EAAE,OAAoC,EAAgB,EAAE,CAC7H,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAC/B,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAC3C,GAAG,CAAC,MAAM,MAAM,CAAC;IACjB,MAAM,OAAO,CAAC,MAAM,EAAE,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;CACrF,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;IACzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAA;QAChC,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAA;IACpC,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;IAC/B,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { FC, PropsWithChildren, ReactElement } from 'react';
|
|
2
|
+
import type { ClientEntrypoint } from '@owlmeans/client-entrypoint';
|
|
3
|
+
import type { Context } from './types.local.js';
|
|
4
|
+
export type HandledRenderer<T extends {}> = FC<PropsWithChildren<T> | T> | ReactElement;
|
|
5
|
+
export interface RendererParams {
|
|
6
|
+
context: Context;
|
|
7
|
+
module: ClientEntrypoint<unknown>;
|
|
8
|
+
hasChildren: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface EntrypointTreeVisitor<T, R> {
|
|
11
|
+
(module: ClientEntrypoint<T>, children: R[], alone: boolean): Promise<R>;
|
|
12
|
+
}
|
|
13
|
+
export interface EntrypointTree<T> extends Map<ClientEntrypoint<T>, EntrypointTree<T>> {
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAA;AAEvF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACzE;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACrF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
2
|
+
import type { ClientContext } from '../types.js';
|
|
3
|
+
export type Config = ClientConfig;
|
|
4
|
+
export interface Context<C extends Config = Config> extends ClientContext<C> {
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=types.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../../src/utils/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,MAAM,MAAM,GAAG,YAAY,CAAA;AAEjC,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;CAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.js","sourceRoot":"","sources":["../../src/utils/types.local.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/client",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.50",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -29,17 +29,17 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@owlmeans/auth": "^0.1.18-rc.
|
|
33
|
-
"@owlmeans/client-context": "^0.1.18-rc.
|
|
34
|
-
"@owlmeans/client-entrypoint": "^0.1.18-rc.
|
|
35
|
-
"@owlmeans/client-resource": "^0.1.18-rc.
|
|
36
|
-
"@owlmeans/config": "^0.1.18-rc.
|
|
37
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
38
|
-
"@owlmeans/error": "^0.1.18-rc.
|
|
39
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
40
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
41
|
-
"@owlmeans/router": "^0.1.18-rc.
|
|
42
|
-
"@owlmeans/state": "^0.1.18-rc.
|
|
32
|
+
"@owlmeans/auth": "^0.1.18-rc.39",
|
|
33
|
+
"@owlmeans/client-context": "^0.1.18-rc.47",
|
|
34
|
+
"@owlmeans/client-entrypoint": "^0.1.18-rc.46",
|
|
35
|
+
"@owlmeans/client-resource": "^0.1.18-rc.46",
|
|
36
|
+
"@owlmeans/config": "^0.1.18-rc.43",
|
|
37
|
+
"@owlmeans/context": "^0.1.18-rc.33",
|
|
38
|
+
"@owlmeans/error": "^0.1.18-rc.37",
|
|
39
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.40",
|
|
40
|
+
"@owlmeans/resource": "^0.1.18-rc.39",
|
|
41
|
+
"@owlmeans/router": "^0.1.18-rc.32",
|
|
42
|
+
"@owlmeans/state": "^0.1.18-rc.38"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@remix-run/router": "*",
|
|
@@ -52,15 +52,15 @@
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@owlmeans/dep-config": "workspace:*",
|
|
55
|
-
"@owlmeans/test-ui": "^0.1.18-rc.
|
|
56
|
-
"@types/react": "^19.
|
|
57
|
-
"@vitejs/plugin-react": "^6.
|
|
55
|
+
"@owlmeans/test-ui": "^0.1.18-rc.48",
|
|
56
|
+
"@types/react": "^19.3.0",
|
|
57
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
58
58
|
"nodemon": "^3.1.14",
|
|
59
|
-
"playwright": "^1.
|
|
60
|
-
"react": "^19.
|
|
61
|
-
"react-dom": "^19.
|
|
59
|
+
"playwright": "^1.63.0",
|
|
60
|
+
"react": "^19.3.0",
|
|
61
|
+
"react-dom": "^19.3.0",
|
|
62
62
|
"typescript": "^7.0.2",
|
|
63
|
-
"vite": "^8.
|
|
63
|
+
"vite": "^8.3.2"
|
|
64
64
|
},
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ClientConfig } from '@owlmeans/client-context'
|
|
2
|
+
import { AppType, CONFIG_RECORD } from '@owlmeans/context'
|
|
3
|
+
|
|
4
|
+
export const defaultCfg: ClientConfig = {
|
|
5
|
+
services: {},
|
|
6
|
+
brand: {},
|
|
7
|
+
trusted: [],
|
|
8
|
+
[CONFIG_RECORD]: [],
|
|
9
|
+
ready: false,
|
|
10
|
+
service: '',
|
|
11
|
+
debug: {},
|
|
12
|
+
type: AppType.Frontend,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* What a browser says when a dynamic `import()` could not fetch its module — Chromium, Safari and
|
|
17
|
+
* Firefox, in that order — and what Vite's preload helper says when a chunk's stylesheet could not.
|
|
18
|
+
*/
|
|
19
|
+
export const CHUNK_FAILURE = /failed to fetch dynamically imported module|importing a module script failed|error loading dynamically imported module|unable to preload css/i
|
|
20
|
+
|
|
21
|
+
/** The module URL a Chromium or Firefox import failure names; Safari's message names none. */
|
|
22
|
+
export const FAILED_URL = /dynamically imported module:?\s+(\S+)/i
|
package/src/context.ts
CHANGED
|
@@ -1,27 +1,13 @@
|
|
|
1
1
|
|
|
2
|
-
import { createContext, useContext as useCtx } from 'react'
|
|
3
|
-
import
|
|
4
|
-
import { makeClientContext as makeBasicContext, PLUGINS } from '@owlmeans/client-context'
|
|
5
|
-
import type { ClientConfig } from '@owlmeans/client-context'
|
|
6
|
-
import { AppType, CONFIG_RECORD } from '@owlmeans/context'
|
|
2
|
+
import { createContext, useContext as useCtx, type Context as ReactContext } from 'react'
|
|
3
|
+
import { makeClientContext as makeBasicContext, PLUGINS, type ClientConfig } from '@owlmeans/client-context'
|
|
7
4
|
import type { ClientContext } from './types.js'
|
|
8
5
|
import { appendStateResource } from '@owlmeans/state'
|
|
9
6
|
import { appendModalService } from './components/modal.js'
|
|
10
7
|
import { appendDebugService } from './services/debug.js'
|
|
11
8
|
import { appendConfigResource, PLUGIN_RECORD } from '@owlmeans/config'
|
|
12
|
-
import type
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
const defaultCfg: ClientConfig = {
|
|
16
|
-
services: {},
|
|
17
|
-
brand: {},
|
|
18
|
-
trusted: [],
|
|
19
|
-
[CONFIG_RECORD]: [],
|
|
20
|
-
ready: false,
|
|
21
|
-
service: '',
|
|
22
|
-
debug: {},
|
|
23
|
-
type: AppType.Frontend,
|
|
24
|
-
}
|
|
9
|
+
import { type RouterService, ROUTER_SERVICE } from '@owlmeans/router'
|
|
10
|
+
import { defaultCfg } from './consts.local.js'
|
|
25
11
|
|
|
26
12
|
export const makeClientContext = <C extends ClientConfig, T extends ClientContext<C> = ClientContext<C>>(cfg: C): T => {
|
|
27
13
|
const context = makeBasicContext(cfg) as T
|
package/src/helper.tsx
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import type { AbstractRequest, AbstractResponse } from '@owlmeans/entrypoint'
|
|
2
|
-
import type {
|
|
2
|
+
import type { RoutedComponent } from './types.js'
|
|
3
3
|
import type { RefedEntrypointHandler } from '@owlmeans/client-entrypoint'
|
|
4
|
-
import { HandledRenderer } from './utils/
|
|
4
|
+
import type { HandledRenderer } from './utils/types.js'
|
|
5
5
|
import { isValidElement } from 'react'
|
|
6
|
-
import type { PropsWithChildren } from 'react'
|
|
7
6
|
import { EntrypointContext } from './utils/entrypoint.js'
|
|
8
|
-
import type { ClientConfig } from '@owlmeans/client-context'
|
|
9
7
|
import { assertContext } from '@owlmeans/context'
|
|
8
|
+
import type { Config, Context, RendererType } from './types.local.js'
|
|
10
9
|
|
|
11
|
-
type Config = ClientConfig
|
|
12
|
-
interface Context<C extends Config = Config> extends ClientContext<C> { }
|
|
13
10
|
|
|
14
11
|
export const handler = <T extends {}>(
|
|
15
12
|
Component: HandledRenderer<T>, preprender?: boolean
|
|
@@ -48,4 +45,3 @@ export const handler = <T extends {}>(
|
|
|
48
45
|
return Renderer
|
|
49
46
|
}
|
|
50
47
|
|
|
51
|
-
type RendererType = HandledRenderer<PropsWithChildren<EntrypointContextParams>> & RoutedComponent
|
package/src/lazy-retry.ts
CHANGED
|
@@ -2,12 +2,7 @@ import {
|
|
|
2
2
|
CHUNK_RELOAD_KEY, CHUNK_RELOAD_WINDOW_MS, DEF_IMPORT_RETRY_ATTEMPTS, DEF_IMPORT_RETRY_DELAYS_MS
|
|
3
3
|
} from './consts.js'
|
|
4
4
|
import type { RetryImportOptions } from './types.js'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* What a browser says when a dynamic `import()` could not fetch its module — Chromium, Safari and
|
|
8
|
-
* Firefox, in that order — and what Vite's preload helper says when a chunk's stylesheet could not.
|
|
9
|
-
*/
|
|
10
|
-
const CHUNK_FAILURE = /failed to fetch dynamically imported module|importing a module script failed|error loading dynamically imported module|unable to preload css/i
|
|
5
|
+
import { CHUNK_FAILURE, FAILED_URL } from './consts.local.js'
|
|
11
6
|
|
|
12
7
|
/**
|
|
13
8
|
* Whether `error` is a chunk that could not be FETCHED: a browser's failed dynamic import, Vite's
|
|
@@ -30,9 +25,6 @@ export const isChunkLoadError = (error: unknown): boolean => {
|
|
|
30
25
|
|
|
31
26
|
const pause = (ms: number): Promise<void> => new Promise(resolve => setTimeout(resolve, ms))
|
|
32
27
|
|
|
33
|
-
/** The module URL a Chromium or Firefox import failure names; Safari's message names none. */
|
|
34
|
-
const FAILED_URL = /dynamically imported module:?\s+(\S+)/i
|
|
35
|
-
|
|
36
28
|
/**
|
|
37
29
|
* The URL of the chunk a failed dynamic import tried to fetch, when the browser's error names it
|
|
38
30
|
* and it is an http(s) URL of this page's origin — never an arbitrary URL out of a message. `null`
|
package/src/lazy.tsx
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { lazy, Suspense, Component, useState } from 'react'
|
|
2
|
-
import type { ComponentType, ReactNode } from 'react'
|
|
3
2
|
import { handler } from './helper.js'
|
|
4
3
|
import { isChunkLoadError, recoverFromChunkError, retryImport } from './lazy-retry.js'
|
|
5
|
-
import type { HandledRenderer } from './utils/
|
|
4
|
+
import type { HandledRenderer } from './utils/types.js'
|
|
6
5
|
import type {
|
|
7
6
|
ComponentExport, ExportProps, LazyComponent, LazyComponentOptions, LazyHandler
|
|
8
7
|
} from './types.js'
|
|
8
|
+
import type { LazyErrorBoundaryProps, LazyErrorBoundaryState, LazyModule, Loaded } from './types.local.js'
|
|
9
9
|
|
|
10
|
-
type Loaded = ComponentType<any>
|
|
11
|
-
type LazyModule = { default: Loaded }
|
|
12
10
|
|
|
13
11
|
/**
|
|
14
12
|
* Wrap an async module import as a stable lazily-loaded component with a `.preload()`.
|
|
@@ -83,24 +81,6 @@ export const lazyComponent = <M, K extends ComponentExport<M>>(
|
|
|
83
81
|
return Object.assign(Lazy, { preload }) as unknown as LazyComponent<ExportProps<M, K>>
|
|
84
82
|
}
|
|
85
83
|
|
|
86
|
-
interface LazyErrorBoundaryProps {
|
|
87
|
-
error: LazyComponentOptions['error']
|
|
88
|
-
/** Start the guarded reload for a chunk failure even though `error` is given. */
|
|
89
|
-
reload: boolean
|
|
90
|
-
fallback: ReactNode
|
|
91
|
-
props: Record<string, unknown>
|
|
92
|
-
/** Swap the failed lazy for the recreated one — batched with the boundary's own reset. */
|
|
93
|
-
onRetry: () => void
|
|
94
|
-
children: ReactNode
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
interface LazyErrorBoundaryState {
|
|
98
|
-
failed: boolean
|
|
99
|
-
error: unknown
|
|
100
|
-
/** A guarded reload has started: keep the fallback up until the new document replaces this one. */
|
|
101
|
-
reloading?: boolean
|
|
102
|
-
}
|
|
103
|
-
|
|
104
84
|
class LazyErrorBoundary extends Component<LazyErrorBoundaryProps, LazyErrorBoundaryState> {
|
|
105
85
|
override state: LazyErrorBoundaryState = { failed: false, error: undefined }
|
|
106
86
|
|
package/src/router.ts
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type FC, createElement, useEffect, useRef, useState } from 'react'
|
|
2
2
|
import type { RouterModel, RouterProps, RouterProvider } from './types.js'
|
|
3
|
-
import { createElement, useEffect, useRef, useState } from 'react'
|
|
4
3
|
import { buildEntrypointTree, initializeRouter, visitEntrypointTree } from './utils/router.js'
|
|
5
4
|
import { createRouteRenderer } from './utils/route.js'
|
|
6
5
|
import { useContext } from './context.js'
|
|
7
|
-
import type { ClientConfig } from '@owlmeans/client-context'
|
|
8
|
-
import type { ClientContext } from './types.js'
|
|
9
6
|
import { assertContext } from '@owlmeans/context'
|
|
10
7
|
import type { LibraryRouter, RouteObject } from '@owlmeans/router'
|
|
8
|
+
import type { Config, Context } from './types.local.js'
|
|
11
9
|
|
|
12
|
-
type Config = ClientConfig
|
|
13
|
-
interface Context<C extends Config = Config> extends ClientContext<C> { }
|
|
14
10
|
|
|
15
11
|
/** A child path that keeps its leading separator reads as absolute, and the router rejects it. */
|
|
16
12
|
const relative = (segment: string): string => {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ClientConfig } from '@owlmeans/client-context'
|
|
2
|
+
import type { EntrypointContextParams, RoutedComponent, ClientContext, LazyComponentOptions } from './types.js'
|
|
3
|
+
import type { HandledRenderer } from './utils/types.js'
|
|
4
|
+
import type { PropsWithChildren, ComponentType, ReactNode } from 'react'
|
|
5
|
+
|
|
6
|
+
export type Config = ClientConfig
|
|
7
|
+
|
|
8
|
+
export interface Context<C extends Config = Config> extends ClientContext<C> { }
|
|
9
|
+
|
|
10
|
+
export type RendererType = HandledRenderer<PropsWithChildren<EntrypointContextParams>> & RoutedComponent
|
|
11
|
+
|
|
12
|
+
export type Loaded = ComponentType<any>
|
|
13
|
+
|
|
14
|
+
export type LazyModule = { default: Loaded }
|
|
15
|
+
|
|
16
|
+
export interface LazyErrorBoundaryProps {
|
|
17
|
+
error: LazyComponentOptions['error']
|
|
18
|
+
/** Start the guarded reload for a chunk failure even though `error` is given. */
|
|
19
|
+
reload: boolean
|
|
20
|
+
fallback: ReactNode
|
|
21
|
+
props: Record<string, unknown>
|
|
22
|
+
/** Swap the failed lazy for the recreated one — batched with the boundary's own reset. */
|
|
23
|
+
onRetry: () => void
|
|
24
|
+
children: ReactNode
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface LazyErrorBoundaryState {
|
|
28
|
+
failed: boolean
|
|
29
|
+
error: unknown
|
|
30
|
+
/** A guarded reload has started: keep the fallback up until the new document replaces this one. */
|
|
31
|
+
reloading?: boolean
|
|
32
|
+
}
|
package/src/utils/entrypoint.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import { createContext } from 'react'
|
|
3
|
-
import type { EntrypointContextParams
|
|
4
|
-
import type {
|
|
3
|
+
import type { EntrypointContextParams } from '../types.js'
|
|
4
|
+
import type { Context } from './types.local.js'
|
|
5
5
|
|
|
6
|
-
type Config = ClientConfig
|
|
7
|
-
interface Context<C extends Config = Config> extends ClientContext<C> { }
|
|
8
6
|
|
|
9
7
|
export const EntrypointContext = createContext<EntrypointContextParams>({
|
|
10
8
|
alias: '',
|
package/src/utils/index.ts
CHANGED
package/src/utils/route.tsx
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { EntrypointContextParams, RoutedComponent
|
|
3
|
-
import { isValidElement, memo, useEffect } from 'react'
|
|
4
|
-
import type { ClientEntrypoint } from '@owlmeans/client-entrypoint'
|
|
1
|
+
import { type FC, type PropsWithChildren, isValidElement, memo, useEffect } from 'react'
|
|
2
|
+
import type { EntrypointContextParams, RoutedComponent } from '../types.js'
|
|
5
3
|
import { provideRequest } from '@owlmeans/client-entrypoint'
|
|
6
|
-
import { provideResponse } from '@owlmeans/entrypoint'
|
|
7
|
-
import type { GuardService } from '@owlmeans/entrypoint'
|
|
4
|
+
import { provideResponse, type GuardService } from '@owlmeans/entrypoint'
|
|
8
5
|
import { AuthorizationError } from '@owlmeans/auth'
|
|
9
|
-
import type {
|
|
6
|
+
import type { HandledRenderer, RendererParams } from './types.js'
|
|
10
7
|
|
|
11
|
-
type Config = ClientConfig
|
|
12
|
-
interface Context<C extends Config = Config> extends ClientContext<C> { }
|
|
13
8
|
|
|
14
9
|
export const createRouteRenderer: (params: RendererParams) => FC = ({ context, module, hasChildren }) => () => {
|
|
15
10
|
const params = context.router().useParams()
|
|
@@ -77,13 +72,5 @@ export const createRouteRenderer: (params: RendererParams) => FC = ({ context, m
|
|
|
77
72
|
return undefined
|
|
78
73
|
}
|
|
79
74
|
|
|
80
|
-
export type HandledRenderer<T extends {}> = FC<PropsWithChildren<T> | T> | ReactElement
|
|
81
|
-
|
|
82
|
-
interface RendererParams {
|
|
83
|
-
context: Context,
|
|
84
|
-
module: ClientEntrypoint<unknown>
|
|
85
|
-
hasChildren: boolean
|
|
86
|
-
}
|
|
87
|
-
|
|
88
75
|
const isComponent = <T extends {}>(element: HandledRenderer<T>): element is FC<PropsWithChildren<T> | T | unknown> =>
|
|
89
76
|
element != null && typeof element === 'function' && !isValidElement(element)
|
package/src/utils/router.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import type { ClientEntrypoint } from '@owlmeans/client-entrypoint'
|
|
2
2
|
import { AppType } from '@owlmeans/context'
|
|
3
3
|
import { makeRouterModel } from '../router.js'
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
4
|
+
import type { Config, Context } from './types.local.js'
|
|
5
|
+
import type { EntrypointTree, EntrypointTreeVisitor } from './types.js'
|
|
6
6
|
|
|
7
|
-
type Config = ClientConfig
|
|
8
|
-
interface Context<C extends Config = Config> extends ClientContext<C> { }
|
|
9
7
|
|
|
10
8
|
export const buildEntrypointTree = <R, C extends Config = Config, T extends Context<C> = Context<C>>(context: T): EntrypointTree<R> => {
|
|
11
9
|
const entrypoints = context.entrypoints<ClientEntrypoint<R>>().filter(
|
|
@@ -52,9 +50,3 @@ export const initializeRouter = async (context: Context) => {
|
|
|
52
50
|
return await model.resolve(context)
|
|
53
51
|
}
|
|
54
52
|
|
|
55
|
-
export interface EntrypointTreeVisitor<T, R> {
|
|
56
|
-
(module: ClientEntrypoint<T>, children: R[], alone: boolean): Promise<R>
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
interface EntrypointTree<T> extends Map<ClientEntrypoint<T>, EntrypointTree<T>> {
|
|
60
|
-
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FC, PropsWithChildren, ReactElement } from 'react'
|
|
2
|
+
import type { ClientEntrypoint } from '@owlmeans/client-entrypoint'
|
|
3
|
+
import type { Context } from './types.local.js'
|
|
4
|
+
|
|
5
|
+
export type HandledRenderer<T extends {}> = FC<PropsWithChildren<T> | T> | ReactElement
|
|
6
|
+
|
|
7
|
+
export interface RendererParams {
|
|
8
|
+
context: Context,
|
|
9
|
+
module: ClientEntrypoint<unknown>
|
|
10
|
+
hasChildren: boolean
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface EntrypointTreeVisitor<T, R> {
|
|
14
|
+
(module: ClientEntrypoint<T>, children: R[], alone: boolean): Promise<R>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface EntrypointTree<T> extends Map<ClientEntrypoint<T>, EntrypointTree<T>> {
|
|
18
|
+
}
|