@bleedingdev/modern-js-renderer-solid 0.0.0-stage → 3.9.3-ultramodern.10
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/dist/esm/actions.js +282 -0
- package/dist/esm/application-router.js +30 -0
- package/dist/esm/client.js +49 -0
- package/dist/esm/entry-application.js +60 -0
- package/dist/esm/entry-client.js +24 -0
- package/dist/esm/federation-context.js +25 -0
- package/dist/esm/federation-ssr.js +92 -0
- package/dist/esm/federation.js +87 -0
- package/dist/esm/i18n/I18nProvider.js +33 -0
- package/dist/esm/i18n/LocalizedLink.js +52 -0
- package/dist/esm/i18n/context.js +3 -0
- package/dist/esm/i18n/index.js +8 -0
- package/dist/esm/i18n/languageSync.js +50 -0
- package/dist/esm/i18n/types.js +0 -0
- package/dist/esm/i18n/useI18n.js +74 -0
- package/dist/esm/index.js +58 -0
- package/dist/esm/manifest.js +150 -0
- package/dist/esm/route-completion.js +151 -0
- package/dist/esm/route-data-error.js +108 -0
- package/dist/esm/router-binding/Asset.js +202 -0
- package/dist/esm/router-binding/CatchBoundary.js +94 -0
- package/dist/esm/router-binding/ClientOnly.js +26 -0
- package/dist/esm/router-binding/HeadContent.js +8 -0
- package/dist/esm/router-binding/LICENSE +21 -0
- package/dist/esm/router-binding/Match.js +319 -0
- package/dist/esm/router-binding/Matches.js +124 -0
- package/dist/esm/router-binding/PROVENANCE.json +94 -0
- package/dist/esm/router-binding/RouterProvider.js +52 -0
- package/dist/esm/router-binding/SafeFragment.js +5 -0
- package/dist/esm/router-binding/ScriptOnce.js +15 -0
- package/dist/esm/router-binding/Scripts.js +30 -0
- package/dist/esm/router-binding/ScrollRestoration.js +16 -0
- package/dist/esm/router-binding/Transitioner.js +109 -0
- package/dist/esm/router-binding/awaited.js +48 -0
- package/dist/esm/router-binding/fileRoute.js +83 -0
- package/dist/esm/router-binding/flightData.js +23 -0
- package/dist/esm/router-binding/headContentUtils.js +168 -0
- package/dist/esm/router-binding/history.js +0 -0
- package/dist/esm/router-binding/index.js +35 -0
- package/dist/esm/router-binding/lazyRouteComponent.js +30 -0
- package/dist/esm/router-binding/link.js +387 -0
- package/dist/esm/router-binding/matchContext.js +7 -0
- package/dist/esm/router-binding/nonRouteComponentContext.js +13 -0
- package/dist/esm/router-binding/not-found.js +35 -0
- package/dist/esm/router-binding/publicMatchData.js +447 -0
- package/dist/esm/router-binding/registryTransfer.js +223 -0
- package/dist/esm/router-binding/renderRouteNotFound.js +23 -0
- package/dist/esm/router-binding/route.js +143 -0
- package/dist/esm/router-binding/router.js +14 -0
- package/dist/esm/router-binding/routerContext.js +3 -0
- package/dist/esm/router-binding/routerOptions.js +0 -0
- package/dist/esm/router-binding/routerStores.js +50 -0
- package/dist/esm/router-binding/scroll-restoration.js +13 -0
- package/dist/esm/router-binding/typePrimitives.js +0 -0
- package/dist/esm/router-binding/useBlocker.js +152 -0
- package/dist/esm/router-binding/useCanGoBack.js +7 -0
- package/dist/esm/router-binding/useLoaderData.js +8 -0
- package/dist/esm/router-binding/useLoaderDeps.js +8 -0
- package/dist/esm/router-binding/useLocation.js +14 -0
- package/dist/esm/router-binding/useMatch.js +28 -0
- package/dist/esm/router-binding/useNavigate.js +25 -0
- package/dist/esm/router-binding/useParams.js +11 -0
- package/dist/esm/router-binding/useRouteContext.js +8 -0
- package/dist/esm/router-binding/useRouter.js +10 -0
- package/dist/esm/router-binding/useRouterState.js +19 -0
- package/dist/esm/router-binding/useSearch.js +11 -0
- package/dist/esm/router-binding/utils.js +23 -0
- package/dist/esm/router.js +187 -0
- package/dist/esm-node/actions.js +263 -0
- package/dist/esm-node/application-router.js +30 -0
- package/dist/esm-node/client.js +49 -0
- package/dist/esm-node/entry-application.js +110 -0
- package/dist/esm-node/entry-client.js +24 -0
- package/dist/esm-node/entry-server.js +47 -0
- package/dist/esm-node/federation-context.js +25 -0
- package/dist/esm-node/federation-ssr.js +92 -0
- package/dist/esm-node/federation.js +87 -0
- package/dist/esm-node/i18n/I18nProvider.js +42 -0
- package/dist/esm-node/i18n/LocalizedLink.js +88 -0
- package/dist/esm-node/i18n/context.js +3 -0
- package/dist/esm-node/i18n/index.js +8 -0
- package/dist/esm-node/i18n/languageSync.js +50 -0
- package/dist/esm-node/i18n/types.js +1 -0
- package/dist/esm-node/i18n/useI18n.js +74 -0
- package/dist/esm-node/index.js +58 -0
- package/dist/esm-node/manifest.js +150 -0
- package/dist/esm-node/native-promise-serialization.js +113 -0
- package/dist/esm-node/plugin/compiler.js +209 -0
- package/dist/esm-node/plugin/create.js +236 -0
- package/dist/esm-node/plugin/index.js +70 -0
- package/dist/esm-node/plugin/profile.js +51 -0
- package/dist/esm-node/route-completion.js +161 -0
- package/dist/esm-node/route-data-error.js +108 -0
- package/dist/esm-node/router-binding/Asset.js +172 -0
- package/dist/esm-node/router-binding/CatchBoundary.js +136 -0
- package/dist/esm-node/router-binding/ClientOnly.js +46 -0
- package/dist/esm-node/router-binding/HeadContent.js +8 -0
- package/dist/esm-node/router-binding/LICENSE +21 -0
- package/dist/esm-node/router-binding/Match.js +660 -0
- package/dist/esm-node/router-binding/Matches.js +161 -0
- package/dist/esm-node/router-binding/PROVENANCE.json +94 -0
- package/dist/esm-node/router-binding/RouterProvider.js +88 -0
- package/dist/esm-node/router-binding/SafeFragment.js +5 -0
- package/dist/esm-node/router-binding/ScriptOnce.js +16 -0
- package/dist/esm-node/router-binding/Scripts.js +49 -0
- package/dist/esm-node/router-binding/ScrollRestoration.js +16 -0
- package/dist/esm-node/router-binding/Transitioner.js +109 -0
- package/dist/esm-node/router-binding/awaited.js +75 -0
- package/dist/esm-node/router-binding/fileRoute.js +83 -0
- package/dist/esm-node/router-binding/flightData.js +23 -0
- package/dist/esm-node/router-binding/headContentUtils.js +168 -0
- package/dist/esm-node/router-binding/history.js +1 -0
- package/dist/esm-node/router-binding/index.js +35 -0
- package/dist/esm-node/router-binding/lazyRouteComponent.js +30 -0
- package/dist/esm-node/router-binding/link.js +399 -0
- package/dist/esm-node/router-binding/matchContext.js +7 -0
- package/dist/esm-node/router-binding/nonRouteComponentContext.js +22 -0
- package/dist/esm-node/router-binding/not-found.js +49 -0
- package/dist/esm-node/router-binding/publicMatchData.js +447 -0
- package/dist/esm-node/router-binding/registryTransfer.js +223 -0
- package/dist/esm-node/router-binding/renderRouteNotFound.js +22 -0
- package/dist/esm-node/router-binding/route.js +162 -0
- package/dist/esm-node/router-binding/router.js +14 -0
- package/dist/esm-node/router-binding/routerContext.js +3 -0
- package/dist/esm-node/router-binding/routerOptions.js +1 -0
- package/dist/esm-node/router-binding/routerStores.js +50 -0
- package/dist/esm-node/router-binding/scroll-restoration.js +12 -0
- package/dist/esm-node/router-binding/typePrimitives.js +1 -0
- package/dist/esm-node/router-binding/useBlocker.js +152 -0
- package/dist/esm-node/router-binding/useCanGoBack.js +7 -0
- package/dist/esm-node/router-binding/useLoaderData.js +8 -0
- package/dist/esm-node/router-binding/useLoaderDeps.js +8 -0
- package/dist/esm-node/router-binding/useLocation.js +14 -0
- package/dist/esm-node/router-binding/useMatch.js +28 -0
- package/dist/esm-node/router-binding/useNavigate.js +25 -0
- package/dist/esm-node/router-binding/useParams.js +11 -0
- package/dist/esm-node/router-binding/useRouteContext.js +8 -0
- package/dist/esm-node/router-binding/useRouter.js +10 -0
- package/dist/esm-node/router-binding/useRouterState.js +19 -0
- package/dist/esm-node/router-binding/useSearch.js +11 -0
- package/dist/esm-node/router-binding/utils.js +23 -0
- package/dist/esm-node/router.js +187 -0
- package/dist/esm-node/server.js +396 -0
- package/dist/types/actions.d.ts +45 -0
- package/dist/types/application-router.d.ts +5 -0
- package/dist/types/client.d.ts +23 -0
- package/dist/types/entry-application.d.ts +10 -0
- package/dist/types/entry-client.d.ts +5 -0
- package/dist/types/entry-server.d.ts +5 -0
- package/dist/types/federation-context.d.ts +16 -0
- package/dist/types/federation-ssr.d.ts +19 -0
- package/dist/types/federation.d.ts +30 -0
- package/dist/types/i18n/I18nProvider.d.ts +21 -0
- package/dist/types/i18n/LocalizedLink.d.ts +15 -0
- package/dist/types/i18n/context.d.ts +11 -0
- package/dist/types/i18n/index.d.ts +9 -0
- package/dist/types/i18n/languageSync.d.ts +31 -0
- package/dist/types/i18n/types.d.ts +33 -0
- package/dist/types/i18n/useI18n.d.ts +24 -0
- package/dist/types/index.d.ts +41 -0
- package/dist/types/manifest.d.ts +55 -0
- package/dist/types/native-promise-serialization.d.ts +9 -0
- package/dist/types/plugin/compiler.d.ts +6 -0
- package/dist/types/plugin/create.d.ts +21 -0
- package/dist/types/plugin/index.d.ts +3 -0
- package/dist/types/plugin/lazy-modules.d.cts +15 -0
- package/dist/types/plugin/preserve-import-loader.d.cts +3 -0
- package/dist/types/plugin/profile.d.ts +2 -0
- package/dist/types/plugin/solid-loader.d.cts +2 -0
- package/dist/types/plugin/svg-component-template.d.cts +6 -0
- package/dist/types/route-completion.d.ts +21 -0
- package/dist/types/route-data-error.d.ts +17 -0
- package/dist/types/router-binding/Asset.d.ts +3 -0
- package/dist/types/router-binding/CatchBoundary.d.ts +13 -0
- package/dist/types/router-binding/ClientOnly.d.ts +31 -0
- package/dist/types/router-binding/HeadContent.d.ts +13 -0
- package/dist/types/router-binding/Match.d.ts +6 -0
- package/dist/types/router-binding/Matches.d.ts +26 -0
- package/dist/types/router-binding/RouterProvider.d.ts +11 -0
- package/dist/types/router-binding/SafeFragment.d.ts +2 -0
- package/dist/types/router-binding/ScriptOnce.d.ts +6 -0
- package/dist/types/router-binding/Scripts.d.ts +2 -0
- package/dist/types/router-binding/ScrollRestoration.d.ts +14 -0
- package/dist/types/router-binding/Transitioner.d.ts +2 -0
- package/dist/types/router-binding/awaited.d.ts +11 -0
- package/dist/types/router-binding/fileRoute.d.ts +54 -0
- package/dist/types/router-binding/flightData.d.ts +38 -0
- package/dist/types/router-binding/headContentUtils.d.ts +15 -0
- package/dist/types/router-binding/history.d.ts +8 -0
- package/dist/types/router-binding/index.d.ts +46 -0
- package/dist/types/router-binding/lazyRouteComponent.d.ts +2 -0
- package/dist/types/router-binding/link.d.ts +43 -0
- package/dist/types/router-binding/matchContext.d.ts +7 -0
- package/dist/types/router-binding/nonRouteComponentContext.d.ts +5 -0
- package/dist/types/router-binding/not-found.d.ts +11 -0
- package/dist/types/router-binding/publicMatchData.d.ts +19 -0
- package/dist/types/router-binding/registryTransfer.d.ts +49 -0
- package/dist/types/router-binding/renderRouteNotFound.d.ts +11 -0
- package/dist/types/router-binding/route.d.ts +105 -0
- package/dist/types/router-binding/router.d.ts +70 -0
- package/dist/types/router-binding/routerContext.d.ts +3 -0
- package/dist/types/router-binding/routerOptions.d.ts +6 -0
- package/dist/types/router-binding/routerStores.d.ts +2 -0
- package/dist/types/router-binding/scroll-restoration.d.ts +2 -0
- package/dist/types/router-binding/typePrimitives.d.ts +10 -0
- package/dist/types/router-binding/useBlocker.d.ts +70 -0
- package/dist/types/router-binding/useCanGoBack.d.ts +2 -0
- package/dist/types/router-binding/useLoaderData.d.ts +8 -0
- package/dist/types/router-binding/useLoaderDeps.d.ts +8 -0
- package/dist/types/router-binding/useLocation.d.ts +7 -0
- package/dist/types/router-binding/useMatch.d.ts +10 -0
- package/dist/types/router-binding/useNavigate.d.ts +5 -0
- package/dist/types/router-binding/useParams.d.ts +9 -0
- package/dist/types/router-binding/useRouteContext.d.ts +4 -0
- package/dist/types/router-binding/useRouter.d.ts +4 -0
- package/dist/types/router-binding/useRouterState.d.ts +8 -0
- package/dist/types/router-binding/useSearch.d.ts +9 -0
- package/dist/types/router-binding/utils.d.ts +25 -0
- package/dist/types/router.d.ts +31 -0
- package/dist/types/server.d.ts +47 -0
- package/package.json +130 -4
- package/src/actions.tsx +441 -0
- package/src/application-router.tsx +47 -0
- package/src/client.ts +106 -0
- package/src/entry-application.tsx +73 -0
- package/src/entry-client.tsx +49 -0
- package/src/entry-server.tsx +85 -0
- package/src/federation-context.ts +47 -0
- package/src/federation-ssr.ts +136 -0
- package/src/federation.tsx +197 -0
- package/src/i18n/I18nProvider.tsx +54 -0
- package/src/i18n/LocalizedLink.tsx +83 -0
- package/src/i18n/context.ts +13 -0
- package/src/i18n/index.ts +31 -0
- package/src/i18n/languageSync.ts +113 -0
- package/src/i18n/types.ts +35 -0
- package/src/i18n/useI18n.ts +121 -0
- package/src/index.ts +41 -0
- package/src/manifest.ts +337 -0
- package/src/native-promise-serialization.ts +167 -0
- package/src/plugin/compiler.ts +320 -0
- package/src/plugin/create.ts +271 -0
- package/src/plugin/index.ts +69 -0
- package/src/plugin/lazy-modules.cjs +146 -0
- package/src/plugin/preserve-import-loader.cjs +46 -0
- package/src/plugin/profile.ts +42 -0
- package/src/plugin/solid-loader.cjs +83 -0
- package/src/plugin/svg-component-template.cjs +19 -0
- package/src/route-completion.tsx +226 -0
- package/src/route-data-error.ts +175 -0
- package/src/router-binding/Asset.tsx +284 -0
- package/src/router-binding/CatchBoundary.tsx +130 -0
- package/src/router-binding/ClientOnly.tsx +76 -0
- package/src/router-binding/HeadContent.tsx +23 -0
- package/src/router-binding/LICENSE +21 -0
- package/src/router-binding/Match.tsx +397 -0
- package/src/router-binding/Matches.tsx +242 -0
- package/src/router-binding/PROVENANCE.json +94 -0
- package/src/router-binding/RouterProvider.tsx +128 -0
- package/src/router-binding/SafeFragment.tsx +5 -0
- package/src/router-binding/ScriptOnce.tsx +23 -0
- package/src/router-binding/Scripts.tsx +44 -0
- package/src/router-binding/ScrollRestoration.tsx +49 -0
- package/src/router-binding/Transitioner.tsx +177 -0
- package/src/router-binding/awaited.tsx +71 -0
- package/src/router-binding/fileRoute.ts +268 -0
- package/src/router-binding/flightData.ts +90 -0
- package/src/router-binding/headContentUtils.tsx +292 -0
- package/src/router-binding/history.ts +9 -0
- package/src/router-binding/index.tsx +315 -0
- package/src/router-binding/lazyRouteComponent.tsx +70 -0
- package/src/router-binding/link.tsx +865 -0
- package/src/router-binding/matchContext.tsx +15 -0
- package/src/router-binding/nonRouteComponentContext.tsx +23 -0
- package/src/router-binding/not-found.tsx +65 -0
- package/src/router-binding/publicMatchData.ts +674 -0
- package/src/router-binding/registryTransfer.ts +400 -0
- package/src/router-binding/renderRouteNotFound.tsx +53 -0
- package/src/router-binding/route.tsx +665 -0
- package/src/router-binding/router.ts +123 -0
- package/src/router-binding/routerContext.tsx +6 -0
- package/src/router-binding/routerOptions.ts +26 -0
- package/src/router-binding/routerStores.ts +85 -0
- package/src/router-binding/scroll-restoration.tsx +15 -0
- package/src/router-binding/typePrimitives.ts +74 -0
- package/src/router-binding/useBlocker.tsx +359 -0
- package/src/router-binding/useCanGoBack.ts +9 -0
- package/src/router-binding/useLoaderData.tsx +51 -0
- package/src/router-binding/useLoaderDeps.tsx +46 -0
- package/src/router-binding/useLocation.tsx +43 -0
- package/src/router-binding/useMatch.tsx +111 -0
- package/src/router-binding/useNavigate.tsx +45 -0
- package/src/router-binding/useParams.tsx +70 -0
- package/src/router-binding/useRouteContext.ts +30 -0
- package/src/router-binding/useRouter.tsx +17 -0
- package/src/router-binding/useRouterState.tsx +50 -0
- package/src/router-binding/useSearch.tsx +70 -0
- package/src/router-binding/utils.ts +59 -0
- package/src/router.ts +376 -0
- package/src/server.ts +645 -0
- package/README.md +0 -3
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { dataMetadataToDocumentPolicy, mergeDataResponseIntoResponse, mergeDataResponseMetadata } from "@modern-js/renderer-core/data";
|
|
2
|
+
import { createNativeServerEntry } from "@modern-js/renderer-core/entry-server";
|
|
3
|
+
import { createNativeRouter } from "@modern-js/renderer-core/router";
|
|
4
|
+
import { componentView, routerView, solidRouterFactory } from "./entry-application.js";
|
|
5
|
+
import { validateSolidModuleManifest } from "./manifest.js";
|
|
6
|
+
import { getApplicationStatus, resolveApplicationRedirect } from "./router.js";
|
|
7
|
+
import { prepareRouterMatchTransfer } from "./router-binding/index.js";
|
|
8
|
+
import { renderCSRDocument, renderDocumentApplication, respondApplicationResponse, runApplicationRequest } from "./server.js";
|
|
9
|
+
function entry_server_createNativeServerEntry(options) {
|
|
10
|
+
return createNativeServerEntry(options, {
|
|
11
|
+
document: (document, nativeManifest, identity)=>({
|
|
12
|
+
...document,
|
|
13
|
+
renderId: document.documentId,
|
|
14
|
+
manifest: validateSolidModuleManifest(nativeManifest, identity).modules
|
|
15
|
+
}),
|
|
16
|
+
run: (session, callback)=>runApplicationRequest(session, callback),
|
|
17
|
+
respond: respondApplicationResponse,
|
|
18
|
+
createRouter: (application, routerOptions)=>createNativeRouter(application, routerOptions, solidRouterFactory),
|
|
19
|
+
renderCSR: ({ session }, document)=>renderCSRDocument({
|
|
20
|
+
session,
|
|
21
|
+
document
|
|
22
|
+
}),
|
|
23
|
+
renderComponent: ({ session }, component, document, i18n)=>renderDocumentApplication({
|
|
24
|
+
session,
|
|
25
|
+
view: componentView(component, i18n),
|
|
26
|
+
document,
|
|
27
|
+
federation: options.federation
|
|
28
|
+
}),
|
|
29
|
+
async renderRoutes ({ context: { session }, router, outcomes, document, forbiddenValues, i18n }) {
|
|
30
|
+
await router.load();
|
|
31
|
+
prepareRouterMatchTransfer(router, session, forbiddenValues);
|
|
32
|
+
const metadata = mergeDataResponseMetadata(outcomes, {
|
|
33
|
+
status: getApplicationStatus(router)
|
|
34
|
+
});
|
|
35
|
+
const redirect = resolveApplicationRedirect(router);
|
|
36
|
+
if (redirect) return respondApplicationResponse(session, mergeDataResponseIntoResponse(redirect, metadata));
|
|
37
|
+
session.resolveResponse(dataMetadataToDocumentPolicy(metadata));
|
|
38
|
+
return renderDocumentApplication({
|
|
39
|
+
session,
|
|
40
|
+
view: routerView(router, i18n),
|
|
41
|
+
document,
|
|
42
|
+
federation: options.federation
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export { entry_server_createNativeServerEntry as createNativeServerEntry };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getFederationHost } from "@modern-js/renderer-core/federation";
|
|
2
|
+
import { createComponent, createContext } from "solid-js";
|
|
3
|
+
const FederationContext = createContext(Object.freeze({
|
|
4
|
+
instance: void 0
|
|
5
|
+
}));
|
|
6
|
+
function createFederationScope(binding) {
|
|
7
|
+
if (void 0 === binding) return;
|
|
8
|
+
const instance = getFederationHost(binding);
|
|
9
|
+
return void 0 === binding.hydrationModule ? {
|
|
10
|
+
instance
|
|
11
|
+
} : {
|
|
12
|
+
instance,
|
|
13
|
+
hydrationModule: binding.hydrationModule
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function provideFederation(scope, view) {
|
|
17
|
+
if (!scope) return view;
|
|
18
|
+
return ()=>createComponent(FederationContext, {
|
|
19
|
+
value: scope,
|
|
20
|
+
get children () {
|
|
21
|
+
return view();
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export { FederationContext, createFederationScope, provideFederation };
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
const FEDERATED_ASSET_PREFIX = "ultramodern-federation:";
|
|
2
|
+
const capturedAssets = new WeakMap();
|
|
3
|
+
function captureFederatedServerAssets(scope, id, assets) {
|
|
4
|
+
const instance = scope.instance;
|
|
5
|
+
if (!assets || !scope.hydrationModule || !instance?.name) return;
|
|
6
|
+
const hydration = `${scope.hydrationModule}?id=${encodeURIComponent(id)}&host=${encodeURIComponent(instance.name)}`;
|
|
7
|
+
let records = capturedAssets.get(scope);
|
|
8
|
+
if (!records) {
|
|
9
|
+
records = new Map();
|
|
10
|
+
capturedAssets.set(scope, records);
|
|
11
|
+
}
|
|
12
|
+
const baseKey = federatedAssetKey(id);
|
|
13
|
+
let key = baseKey;
|
|
14
|
+
for(let revision = 1; records.has(key); revision += 1)key = `${baseKey}:${revision}`;
|
|
15
|
+
records.set(key, {
|
|
16
|
+
hydration,
|
|
17
|
+
assets
|
|
18
|
+
});
|
|
19
|
+
return key;
|
|
20
|
+
}
|
|
21
|
+
function federatedAssetKey(id) {
|
|
22
|
+
return `${FEDERATED_ASSET_PREFIX}${id}`;
|
|
23
|
+
}
|
|
24
|
+
function joinAssetPath(base, file) {
|
|
25
|
+
if (/^(?:[a-z][a-z0-9+.-]*:)?\/\//iu.test(file)) return file;
|
|
26
|
+
let prefix = "string" == typeof base && base ? base : "/";
|
|
27
|
+
if (!prefix.endsWith("/")) prefix += "/";
|
|
28
|
+
return prefix + (file.startsWith("/") ? file.slice(1) : file);
|
|
29
|
+
}
|
|
30
|
+
function resolveStaticAssets(manifest, key) {
|
|
31
|
+
if ("_base" === key || !Object.hasOwn(manifest, key)) return null;
|
|
32
|
+
const base = manifest._base;
|
|
33
|
+
const js = [];
|
|
34
|
+
const css = [];
|
|
35
|
+
let preloads;
|
|
36
|
+
const visited = new Set();
|
|
37
|
+
const walk = (name)=>{
|
|
38
|
+
if (visited.has(name) || "_base" === name) return;
|
|
39
|
+
visited.add(name);
|
|
40
|
+
const chunk = manifest[name];
|
|
41
|
+
if (!chunk) return;
|
|
42
|
+
js.push(joinAssetPath(base, chunk.file));
|
|
43
|
+
for (const file of chunk.css ?? [])css.push(joinAssetPath(base, file));
|
|
44
|
+
for (const link of chunk.preloads ?? []){
|
|
45
|
+
const href = "string" == typeof link.href && link.href;
|
|
46
|
+
if (href || "string" == typeof link.imagesrcset) {
|
|
47
|
+
preloads ??= [];
|
|
48
|
+
if (href) preloads.push({
|
|
49
|
+
...link,
|
|
50
|
+
href: joinAssetPath(base, href)
|
|
51
|
+
});
|
|
52
|
+
else {
|
|
53
|
+
const { href: _ignored, ...rest } = link;
|
|
54
|
+
preloads.push(rest);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
for (const dependency of chunk.imports ?? [])walk(dependency);
|
|
59
|
+
};
|
|
60
|
+
walk(key);
|
|
61
|
+
return preloads ? {
|
|
62
|
+
js,
|
|
63
|
+
css,
|
|
64
|
+
preloads
|
|
65
|
+
} : {
|
|
66
|
+
js,
|
|
67
|
+
css
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function withFederatedAssets(manifest, scope) {
|
|
71
|
+
if (!scope?.hydrationModule || null === manifest || "object" != typeof manifest || "function" == typeof manifest.resolve) return manifest;
|
|
72
|
+
const modules = manifest;
|
|
73
|
+
const resolve = (key)=>{
|
|
74
|
+
if (!key.startsWith(FEDERATED_ASSET_PREFIX)) return resolveStaticAssets(modules, key);
|
|
75
|
+
const remote = capturedAssets.get(scope)?.get(key);
|
|
76
|
+
if (!remote) return null;
|
|
77
|
+
return {
|
|
78
|
+
js: [
|
|
79
|
+
joinAssetPath(modules._base, remote.hydration),
|
|
80
|
+
...remote.assets.js
|
|
81
|
+
],
|
|
82
|
+
css: [
|
|
83
|
+
...remote.assets.css
|
|
84
|
+
]
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
return {
|
|
88
|
+
resolve,
|
|
89
|
+
resolveSync: resolve
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export { FEDERATED_ASSET_PREFIX, captureFederatedServerAssets, federatedAssetKey, withFederatedAssets };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { loadFederatedModule } from "@modern-js/renderer-core/federation";
|
|
2
|
+
import { isServer } from "@solidjs/web";
|
|
3
|
+
import { FederationContext } from "./federation-context.js";
|
|
4
|
+
import { captureFederatedServerAssets } from "./federation-ssr.js";
|
|
5
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
6
|
+
const DEFAULT_SERVER_TIMEOUT = 3e3;
|
|
7
|
+
function withTimeout(promise, timeout, label) {
|
|
8
|
+
if (void 0 === timeout) return promise;
|
|
9
|
+
return new Promise((resolve, reject)=>{
|
|
10
|
+
const timer = setTimeout(()=>reject(new Error(`Remote module ${label} did not load within ${timeout}ms`)), timeout);
|
|
11
|
+
timer.unref?.();
|
|
12
|
+
promise.then((value)=>{
|
|
13
|
+
clearTimeout(timer);
|
|
14
|
+
resolve(value);
|
|
15
|
+
}, (error)=>{
|
|
16
|
+
clearTimeout(timer);
|
|
17
|
+
reject(error);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function afterHydration(callback) {
|
|
22
|
+
const { sharedConfig } = __rspack_external_solid_js_0ac0db99;
|
|
23
|
+
const onHydrationEnd = sharedConfig?.onHydrationEnd;
|
|
24
|
+
if (onHydrationEnd) onHydrationEnd(callback);
|
|
25
|
+
else queueMicrotask(callback);
|
|
26
|
+
}
|
|
27
|
+
function federatedComponent(remote, options = {}) {
|
|
28
|
+
if ("string" == typeof remote ? !/^[^/]+\/.+/u.test(remote) : "function" != typeof remote) throw new TypeError("federatedComponent requires a remote id such as 'remote/Widget' or a loader");
|
|
29
|
+
if (void 0 !== options.timeout && (!Number.isFinite(options.timeout) || options.timeout <= 0)) throw new TypeError("federatedComponent timeout must be a positive number of milliseconds");
|
|
30
|
+
const id = "string" == typeof remote ? remote : void 0;
|
|
31
|
+
const timeout = options.timeout ?? (isServer ? DEFAULT_SERVER_TIMEOUT : void 0);
|
|
32
|
+
const load = (scope)=>(0, __rspack_external_solid_js_0ac0db99.lazy)(async ()=>{
|
|
33
|
+
if (isServer && !id) throw new Error("A federatedComponent loader renders in the browser only; use a remote id to server-render it");
|
|
34
|
+
const { module, assets } = await withTimeout(Promise.resolve().then(()=>id ? loadFederatedModule(scope.instance, id) : remote().then((module)=>({
|
|
35
|
+
module,
|
|
36
|
+
assets: void 0
|
|
37
|
+
}))), timeout, id ?? "loader");
|
|
38
|
+
const component = module?.default;
|
|
39
|
+
if ("function" != typeof component) throw new TypeError("A federated Solid module must default-export a component");
|
|
40
|
+
if (!isServer || !id) return {
|
|
41
|
+
default: component
|
|
42
|
+
};
|
|
43
|
+
const assetKey = captureFederatedServerAssets(scope, id, assets);
|
|
44
|
+
if (!assetKey) throw new Error(`Cannot server-render ${id}: the host has no server federation state for its browser assets`);
|
|
45
|
+
return {
|
|
46
|
+
default: component,
|
|
47
|
+
$$moduleUrl: assetKey
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
const remotes = new WeakMap();
|
|
51
|
+
const fallback = ()=>options.fallback?.();
|
|
52
|
+
return (props)=>{
|
|
53
|
+
const scope = (0, __rspack_external_solid_js_0ac0db99.useContext)(FederationContext);
|
|
54
|
+
const Remote = remotes.get(scope) ?? load(scope);
|
|
55
|
+
remotes.set(scope, Remote);
|
|
56
|
+
const remoteView = ()=>(0, __rspack_external_solid_js_0ac0db99.createComponent)(Remote, props);
|
|
57
|
+
const [retried, retry] = (0, __rspack_external_solid_js_0ac0db99.createSignal)(false);
|
|
58
|
+
const recover = (error)=>{
|
|
59
|
+
if (isServer) return fallback();
|
|
60
|
+
if ((0, __rspack_external_solid_js_0ac0db99.isHydrating)()) {
|
|
61
|
+
let active = true;
|
|
62
|
+
(0, __rspack_external_solid_js_0ac0db99.onCleanup)(()=>{
|
|
63
|
+
active = false;
|
|
64
|
+
});
|
|
65
|
+
afterHydration(()=>{
|
|
66
|
+
if (active) retry(true);
|
|
67
|
+
});
|
|
68
|
+
return fallback();
|
|
69
|
+
}
|
|
70
|
+
throw error();
|
|
71
|
+
};
|
|
72
|
+
return (0, __rspack_external_solid_js_0ac0db99.createComponent)(__rspack_external_solid_js_0ac0db99.Loading, {
|
|
73
|
+
get fallback () {
|
|
74
|
+
return fallback();
|
|
75
|
+
},
|
|
76
|
+
get children () {
|
|
77
|
+
return retried() ? remoteView() : (0, __rspack_external_solid_js_0ac0db99.createComponent)(__rspack_external_solid_js_0ac0db99.Errored, {
|
|
78
|
+
fallback: recover,
|
|
79
|
+
get children () {
|
|
80
|
+
return remoteView();
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export { federatedComponent };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { I18nContext } from "./context.js";
|
|
2
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
3
|
+
var _m$ = Symbol();
|
|
4
|
+
var _d$ = {
|
|
5
|
+
get () {
|
|
6
|
+
const props = this[_m$];
|
|
7
|
+
return props.children;
|
|
8
|
+
},
|
|
9
|
+
enumerable: true,
|
|
10
|
+
configurable: true
|
|
11
|
+
};
|
|
12
|
+
function _P$(_p, _p2) {
|
|
13
|
+
this[_m$] = _p;
|
|
14
|
+
this.value = _p2;
|
|
15
|
+
Object.defineProperty(this, "children", _d$);
|
|
16
|
+
}
|
|
17
|
+
_P$.prototype = Object.prototype;
|
|
18
|
+
function I18nProvider(props) {
|
|
19
|
+
const [language, setLanguage] = __rspack_external_solid_js_0ac0db99.createSignal(props.instance.language);
|
|
20
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>props.instance, (instance)=>{
|
|
21
|
+
setLanguage(instance.language);
|
|
22
|
+
const handleLanguageChanged = (lng)=>setLanguage(lng);
|
|
23
|
+
instance.on?.("languageChanged", handleLanguageChanged);
|
|
24
|
+
return ()=>{
|
|
25
|
+
instance.off?.("languageChanged", handleLanguageChanged);
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
const value = {
|
|
29
|
+
get instance () {
|
|
30
|
+
return props.instance;
|
|
31
|
+
},
|
|
32
|
+
get languages () {
|
|
33
|
+
return props.languages;
|
|
34
|
+
},
|
|
35
|
+
get localisedUrls () {
|
|
36
|
+
return props.localisedUrls;
|
|
37
|
+
},
|
|
38
|
+
language
|
|
39
|
+
};
|
|
40
|
+
return I18nContext(new _P$(props, value));
|
|
41
|
+
}
|
|
42
|
+
export { I18nProvider };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { memo, mergeProps } from "@solidjs/web";
|
|
2
|
+
import { configuredLanguage, localizePath } from "@modern-js/i18n-runtime-extensions/paths";
|
|
3
|
+
import { Link, useLocation, useRouter } from "../router.js";
|
|
4
|
+
import { I18nContext } from "./context.js";
|
|
5
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
6
|
+
var _m$ = Symbol(), _m$2 = Symbol(), _m$3 = Symbol(), _m$4 = Symbol(), _m$5 = Symbol(), _m$6 = Symbol();
|
|
7
|
+
var _d$ = {
|
|
8
|
+
get () {
|
|
9
|
+
const router = this[_m$];
|
|
10
|
+
const props = this[_m$2];
|
|
11
|
+
const pathname = this[_m$3];
|
|
12
|
+
return memo(()=>!!router.options.rewrite)() ? props.to : pathname();
|
|
13
|
+
},
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true
|
|
16
|
+
}, _d$2 = {
|
|
17
|
+
get () {
|
|
18
|
+
const router = this[_m$];
|
|
19
|
+
const externalTarget = this[_m$4];
|
|
20
|
+
const pathname = this[_m$3];
|
|
21
|
+
const props = this[_m$2];
|
|
22
|
+
return memo(()=>!!(router.options.rewrite && !externalTarget()))() ? {
|
|
23
|
+
to: pathname(),
|
|
24
|
+
inheritSearch: true,
|
|
25
|
+
hash: props.hash,
|
|
26
|
+
state: props.state
|
|
27
|
+
} : void 0;
|
|
28
|
+
},
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true
|
|
31
|
+
}, _d$3 = {
|
|
32
|
+
get () {
|
|
33
|
+
const targetLanguage = this[_m$5];
|
|
34
|
+
const context = this[_m$6];
|
|
35
|
+
return memo(()=>targetLanguage() === context.language())() ? void 0 : targetLanguage();
|
|
36
|
+
},
|
|
37
|
+
enumerable: true,
|
|
38
|
+
configurable: true
|
|
39
|
+
}, _d$4 = {
|
|
40
|
+
get () {
|
|
41
|
+
const props = this[_m$2];
|
|
42
|
+
return props.children;
|
|
43
|
+
},
|
|
44
|
+
enumerable: true,
|
|
45
|
+
configurable: true
|
|
46
|
+
};
|
|
47
|
+
function _P$(_p, _p2, _p3, _p4, _p5, _p6) {
|
|
48
|
+
this[_m$] = _p;
|
|
49
|
+
this[_m$2] = _p2;
|
|
50
|
+
this[_m$3] = _p3;
|
|
51
|
+
this[_m$4] = _p4;
|
|
52
|
+
this[_m$5] = _p5;
|
|
53
|
+
this[_m$6] = _p6;
|
|
54
|
+
Object.defineProperty(this, "to", _d$);
|
|
55
|
+
Object.defineProperty(this, "mask", _d$2);
|
|
56
|
+
Object.defineProperty(this, "hreflang", _d$3);
|
|
57
|
+
Object.defineProperty(this, "children", _d$4);
|
|
58
|
+
}
|
|
59
|
+
_P$.prototype = Object.prototype;
|
|
60
|
+
function LocalizedLink(props) {
|
|
61
|
+
const context = __rspack_external_solid_js_0ac0db99.useContext(I18nContext);
|
|
62
|
+
const router = useRouter();
|
|
63
|
+
const location = useLocation();
|
|
64
|
+
const options = __rspack_external_solid_js_0ac0db99.omit(props, "to", "language", "children");
|
|
65
|
+
const targetLanguage = ()=>void 0 === props.language ? context.language() : configuredLanguage(props.language, context.languages);
|
|
66
|
+
const externalTarget = ()=>props.to.startsWith("//") || URL.canParse(props.to);
|
|
67
|
+
const canonicalTarget = ()=>({
|
|
68
|
+
to: props.to,
|
|
69
|
+
from: props.from,
|
|
70
|
+
params: props.params,
|
|
71
|
+
unsafeRelative: props.unsafeRelative
|
|
72
|
+
});
|
|
73
|
+
const pathname = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
74
|
+
if (externalTarget()) return props.to;
|
|
75
|
+
const target = router.buildLocation({
|
|
76
|
+
...canonicalTarget(),
|
|
77
|
+
_fromLocation: location()
|
|
78
|
+
});
|
|
79
|
+
return localizePath(target.pathname, targetLanguage(), {
|
|
80
|
+
languages: [
|
|
81
|
+
...context.languages
|
|
82
|
+
],
|
|
83
|
+
localisedUrls: context.localisedUrls
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
return Link(mergeProps(options, new _P$(router, props, pathname, externalTarget, targetLanguage, context)));
|
|
87
|
+
}
|
|
88
|
+
export { LocalizedLink };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { createRequestLanguageRedirect, detectRequestLanguage, languageFromPathname, resolveRequestLanguage } from "@modern-js/i18n-runtime-extensions/request-language";
|
|
2
|
+
export { I18N_SSR_HANDOFF_ELEMENT_ID, createI18nSsrHandoffInlineData, readI18nSsrHandoff } from "@modern-js/i18n-runtime-extensions/ssrLanguageHandoff";
|
|
3
|
+
export { createI18nUrlRewrite } from "@modern-js/i18n-runtime-extensions/urlRewrite";
|
|
4
|
+
export { I18nContext } from "./context.js";
|
|
5
|
+
export { I18nProvider } from "./I18nProvider.js";
|
|
6
|
+
export { LocalizedLink } from "./LocalizedLink.js";
|
|
7
|
+
export { createLatestLanguageSync } from "./languageSync.js";
|
|
8
|
+
export { useI18n } from "./useI18n.js";
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createLatestLanguageSyncBinding } from "@modern-js/i18n-runtime-extensions/language-sync/controller";
|
|
2
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
3
|
+
function createLatestLanguageSync(options) {
|
|
4
|
+
const binding = createLatestLanguageSyncBinding(options.policy);
|
|
5
|
+
const enabled = ()=>options.enabled?.() ?? true;
|
|
6
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>void 0, ()=>{
|
|
7
|
+
binding.updateCallbacks({
|
|
8
|
+
changeLanguage: options.changeLanguage,
|
|
9
|
+
commitLanguage: options.commitLanguage,
|
|
10
|
+
readLanguage: options.readLanguage,
|
|
11
|
+
reportFailure: options.reportFailure
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>enabled() ? options.target() : void 0, (target)=>{
|
|
15
|
+
if (!target) return;
|
|
16
|
+
binding.activate(target);
|
|
17
|
+
return ()=>binding.deactivate();
|
|
18
|
+
});
|
|
19
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>enabled() ? [
|
|
20
|
+
options.target(),
|
|
21
|
+
options.desiredLanguage()
|
|
22
|
+
] : [
|
|
23
|
+
void 0,
|
|
24
|
+
void 0
|
|
25
|
+
], ([target, desiredLanguage])=>{
|
|
26
|
+
if (!target || !desiredLanguage) return void binding.clearRequest();
|
|
27
|
+
binding.request(desiredLanguage);
|
|
28
|
+
});
|
|
29
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>enabled() && "u" > typeof window ? [
|
|
30
|
+
options.target(),
|
|
31
|
+
options.desiredLanguage()
|
|
32
|
+
] : [
|
|
33
|
+
void 0,
|
|
34
|
+
void 0
|
|
35
|
+
], ([target, desiredLanguage])=>{
|
|
36
|
+
if (!target || !desiredLanguage) return;
|
|
37
|
+
const retryCurrentIntent = ()=>binding.request(desiredLanguage);
|
|
38
|
+
const retryVisibleIntent = ()=>{
|
|
39
|
+
if ("visible" === document.visibilityState) retryCurrentIntent();
|
|
40
|
+
};
|
|
41
|
+
window.addEventListener("online", retryCurrentIntent);
|
|
42
|
+
document.addEventListener("visibilitychange", retryVisibleIntent);
|
|
43
|
+
return ()=>{
|
|
44
|
+
window.removeEventListener("online", retryCurrentIntent);
|
|
45
|
+
document.removeEventListener("visibilitychange", retryVisibleIntent);
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
return (language)=>binding.request(language);
|
|
49
|
+
}
|
|
50
|
+
export { createLatestLanguageSync };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { configuredLanguage, localizePath } from "@modern-js/i18n-runtime-extensions/paths";
|
|
2
|
+
import { languageFromPathname } from "@modern-js/i18n-runtime-extensions/request-language";
|
|
3
|
+
import { useRouter } from "../router.js";
|
|
4
|
+
import { I18nContext } from "./context.js";
|
|
5
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
6
|
+
const languageSwitches = new WeakMap();
|
|
7
|
+
function useI18n() {
|
|
8
|
+
const context = __rspack_external_solid_js_0ac0db99.useContext(I18nContext);
|
|
9
|
+
const { instance, languages, localisedUrls, language } = context;
|
|
10
|
+
const t = (key, options)=>{
|
|
11
|
+
language();
|
|
12
|
+
return instance.t(key, options);
|
|
13
|
+
};
|
|
14
|
+
const router = useRouter({
|
|
15
|
+
warn: false
|
|
16
|
+
});
|
|
17
|
+
const changeLanguage = (requested)=>{
|
|
18
|
+
let nextLanguage;
|
|
19
|
+
try {
|
|
20
|
+
nextLanguage = configuredLanguage(requested, languages);
|
|
21
|
+
} catch (error) {
|
|
22
|
+
return Promise.reject(error);
|
|
23
|
+
}
|
|
24
|
+
const state = languageSwitches.get(instance) ?? {
|
|
25
|
+
latest: 0,
|
|
26
|
+
queue: Promise.resolve()
|
|
27
|
+
};
|
|
28
|
+
languageSwitches.set(instance, state);
|
|
29
|
+
const generation = ++state.latest;
|
|
30
|
+
const run = state.queue.then(async ()=>{
|
|
31
|
+
if (state.latest !== generation) return;
|
|
32
|
+
const committed = instance.language;
|
|
33
|
+
const publicLanguage = ()=>router ? languageFromPathname(new URL(router.state.location.publicHref, "http://localhost").pathname, languages, router.options.basepath) : void 0;
|
|
34
|
+
const reconcile = async ()=>{
|
|
35
|
+
const language = publicLanguage() ?? committed;
|
|
36
|
+
if (instance.language !== language) await instance.changeLanguage?.(language);
|
|
37
|
+
};
|
|
38
|
+
try {
|
|
39
|
+
await instance.changeLanguage?.(nextLanguage);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
await reconcile();
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
if (!router) return;
|
|
45
|
+
const href = localizePath(router.state.location.href, nextLanguage, {
|
|
46
|
+
languages: [
|
|
47
|
+
...languages
|
|
48
|
+
],
|
|
49
|
+
localisedUrls
|
|
50
|
+
});
|
|
51
|
+
try {
|
|
52
|
+
await router.navigate({
|
|
53
|
+
to: ".",
|
|
54
|
+
href,
|
|
55
|
+
replace: true
|
|
56
|
+
});
|
|
57
|
+
} catch (error) {
|
|
58
|
+
await reconcile();
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
if (publicLanguage() !== nextLanguage) await reconcile();
|
|
62
|
+
});
|
|
63
|
+
state.queue = run.catch(()=>{});
|
|
64
|
+
return run;
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
t,
|
|
68
|
+
language,
|
|
69
|
+
languages,
|
|
70
|
+
instance,
|
|
71
|
+
changeLanguage
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export { useI18n };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const SOLID_RENDERER_PROFILE = {
|
|
2
|
+
renderer: "solid",
|
|
3
|
+
solid: "2.0.0-rc.15",
|
|
4
|
+
web: "2.0.0-rc.15",
|
|
5
|
+
router: "@modern-js/renderer-solid/router@3.8.3",
|
|
6
|
+
routerSource: "4fbd65c5c3b40be87a6248867c22021c1c19bba8",
|
|
7
|
+
routerCore: "1.171.38",
|
|
8
|
+
history: "1.162.5",
|
|
9
|
+
publicRouteData: {
|
|
10
|
+
containers: [
|
|
11
|
+
"plain-record",
|
|
12
|
+
"null-record",
|
|
13
|
+
"array"
|
|
14
|
+
],
|
|
15
|
+
values: "canonical-scalars",
|
|
16
|
+
deferred: "checked-top-level-native-promises",
|
|
17
|
+
mutation: "immutable-public-snapshot",
|
|
18
|
+
unsupported: [
|
|
19
|
+
"Date",
|
|
20
|
+
"RegExp",
|
|
21
|
+
"Map",
|
|
22
|
+
"Set",
|
|
23
|
+
"AsyncIterable"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
publicContext: {
|
|
27
|
+
source: "managed-constructor-route-context-and-before-load",
|
|
28
|
+
providerOverrides: "unsupported"
|
|
29
|
+
},
|
|
30
|
+
nativePromiseMetadata: {
|
|
31
|
+
runtime: "2.0.0-rc.15",
|
|
32
|
+
fields: [
|
|
33
|
+
"s",
|
|
34
|
+
"v"
|
|
35
|
+
],
|
|
36
|
+
status: [
|
|
37
|
+
0,
|
|
38
|
+
1,
|
|
39
|
+
2
|
|
40
|
+
],
|
|
41
|
+
handle: "sealed-with-checked-metadata"
|
|
42
|
+
},
|
|
43
|
+
nativeRegistry: {
|
|
44
|
+
source: "managed-router-match-transfer",
|
|
45
|
+
rawRejectedMatchInjection: "unsupported"
|
|
46
|
+
},
|
|
47
|
+
nativeRequestContext: {
|
|
48
|
+
scope: "complete-native-request-handler",
|
|
49
|
+
event: "one-per-request-session"
|
|
50
|
+
},
|
|
51
|
+
nativeResponseHead: {
|
|
52
|
+
statusText: "fetch-response-status-text",
|
|
53
|
+
terminalOutcome: "authoritative",
|
|
54
|
+
cache: "intersect-with-session-policy"
|
|
55
|
+
},
|
|
56
|
+
dataHttpTransport: "renderer-core-rich-public-data"
|
|
57
|
+
};
|
|
58
|
+
export { SOLID_RENDERER_PROFILE };
|