@bleedingdev/modern-js-renderer-octane 0.0.0-stage → 3.9.3-ultramodern.1
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/LICENSE +21 -0
- package/bin/octane-tsc.mjs +4 -0
- package/dist/cjs/bootstrap.js +68 -0
- package/dist/cjs/client.js +371 -0
- package/dist/cjs/entry-application.js +83 -0
- package/dist/cjs/entry-client.js +92 -0
- package/dist/cjs/entry-server.js +127 -0
- package/dist/cjs/federation-context.js +72 -0
- package/dist/cjs/federation.js +103 -0
- package/dist/cjs/i18n/I18nProvider.js +67 -0
- package/dist/cjs/i18n/LocalizedLink.js +89 -0
- package/dist/cjs/i18n/context.js +41 -0
- package/dist/cjs/i18n/index.js +86 -0
- package/dist/cjs/i18n/languageSync.js +99 -0
- package/dist/cjs/i18n/types.js +18 -0
- package/dist/cjs/i18n/useI18n.js +110 -0
- package/dist/cjs/index.js +46 -0
- package/dist/cjs/manifest.js +167 -0
- package/dist/cjs/plugin/compiler.js +125 -0
- package/dist/cjs/plugin/create.js +265 -0
- package/dist/cjs/plugin/index.js +151 -0
- package/dist/cjs/plugin/profile.js +89 -0
- package/dist/cjs/plugin/source.js +56 -0
- package/dist/cjs/router-client.js +139 -0
- package/dist/cjs/router-handler.js +168 -0
- package/dist/cjs/router-injection.js +139 -0
- package/dist/cjs/router-server-cleanup.js +46 -0
- package/dist/cjs/router-server-snapshot.js +405 -0
- package/dist/cjs/router-server.js +108 -0
- package/dist/cjs/router-snapshot.js +270 -0
- package/dist/cjs/router.js +218 -0
- package/dist/cjs/routes.js +187 -0
- package/dist/cjs/server.js +224 -0
- package/dist/cjs/typecheck.js +615 -0
- package/dist/esm/bootstrap.mjs +24 -0
- package/dist/esm/client.mjs +327 -0
- package/dist/esm/entry-application.mjs +39 -0
- package/dist/esm/entry-client.mjs +54 -0
- package/dist/esm/entry-server.mjs +86 -0
- package/dist/esm/federation-context.mjs +25 -0
- package/dist/esm/federation.mjs +65 -0
- package/dist/esm/i18n/I18nProvider.mjs +29 -0
- package/dist/esm/i18n/LocalizedLink.mjs +48 -0
- package/dist/esm/i18n/context.mjs +3 -0
- package/dist/esm/i18n/index.mjs +8 -0
- package/dist/esm/i18n/languageSync.mjs +61 -0
- package/dist/esm/i18n/types.mjs +0 -0
- package/dist/esm/i18n/useI18n.mjs +72 -0
- package/dist/esm/index.mjs +8 -0
- package/dist/esm/manifest.mjs +117 -0
- package/dist/esm/router-client.mjs +98 -0
- package/dist/esm/router-handler.mjs +130 -0
- package/dist/esm/router-injection.mjs +101 -0
- package/dist/esm/router-server-cleanup.mjs +8 -0
- package/dist/esm/router-server-snapshot.mjs +367 -0
- package/dist/esm/router-server.mjs +12 -0
- package/dist/esm/router-snapshot.mjs +199 -0
- package/dist/esm/router.mjs +94 -0
- package/dist/esm/routes.mjs +134 -0
- package/dist/esm/server.mjs +183 -0
- package/dist/esm-node/bootstrap.mjs +24 -0
- package/dist/esm-node/manifest.mjs +117 -0
- package/dist/esm-node/plugin/compiler.mjs +70 -0
- package/dist/esm-node/plugin/create.mjs +227 -0
- package/dist/esm-node/plugin/index.mjs +103 -0
- package/dist/esm-node/plugin/profile.mjs +51 -0
- package/dist/esm-node/plugin/source.mjs +7 -0
- package/dist/esm-node/typecheck.mjs +560 -0
- package/dist/types/bootstrap.d.ts +10 -0
- package/dist/types/client.d.ts +36 -0
- package/dist/types/entry-application.d.ts +19 -0
- package/dist/types/entry-client.d.ts +8 -0
- package/dist/types/entry-server.d.ts +11 -0
- package/dist/types/federation-context.d.ts +28 -0
- package/dist/types/federation.d.ts +18 -0
- package/dist/types/i18n/I18nProvider.d.ts +8 -0
- package/dist/types/i18n/LocalizedLink.d.ts +41 -0
- package/dist/types/i18n/context.d.ts +9 -0
- package/dist/types/i18n/index.d.ts +9 -0
- package/dist/types/i18n/languageSync.d.ts +26 -0
- package/dist/types/i18n/types.d.ts +34 -0
- package/dist/types/i18n/useI18n.d.ts +21 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/manifest.d.ts +34 -0
- package/dist/types/plugin/compiler-manifest.d.cts +10 -0
- package/dist/types/plugin/compiler.d.ts +5 -0
- package/dist/types/plugin/create.d.ts +23 -0
- package/dist/types/plugin/index.d.ts +3 -0
- package/dist/types/plugin/profile.d.ts +2 -0
- package/dist/types/plugin/source.d.ts +1 -0
- package/dist/types/plugin/svg-component-template.d.cts +6 -0
- package/dist/types/router-client.d.ts +12 -0
- package/dist/types/router-handler.d.ts +13 -0
- package/dist/types/router-injection.d.ts +8 -0
- package/dist/types/router-server-cleanup.d.ts +3 -0
- package/dist/types/router-server-snapshot.d.ts +15 -0
- package/dist/types/router-server.d.ts +13 -0
- package/dist/types/router-snapshot.d.ts +14 -0
- package/dist/types/router.d.ts +30 -0
- package/dist/types/routes.d.ts +18 -0
- package/dist/types/server.d.ts +41 -0
- package/dist/types/typecheck.d.ts +31 -0
- package/package.json +216 -4
- package/src/bootstrap.ts +60 -0
- package/src/client.ts +485 -0
- package/src/entry-application.ts +72 -0
- package/src/entry-client.ts +80 -0
- package/src/entry-server.ts +142 -0
- package/src/federation-context.ts +53 -0
- package/src/federation.ts +158 -0
- package/src/i18n/I18nProvider.ts +56 -0
- package/src/i18n/LocalizedLink.ts +112 -0
- package/src/i18n/context.ts +12 -0
- package/src/i18n/index.ts +35 -0
- package/src/i18n/languageSync.ts +132 -0
- package/src/i18n/types.ts +36 -0
- package/src/i18n/useI18n.ts +119 -0
- package/src/index.ts +10 -0
- package/src/manifest.ts +253 -0
- package/src/plugin/compiler-manifest.cjs +178 -0
- package/src/plugin/compiler.ts +112 -0
- package/src/plugin/create.ts +272 -0
- package/src/plugin/index.ts +105 -0
- package/src/plugin/profile.ts +46 -0
- package/src/plugin/source.ts +16 -0
- package/src/plugin/svg-component-template.cjs +17 -0
- package/src/router-client.ts +144 -0
- package/src/router-handler.ts +182 -0
- package/src/router-injection.ts +145 -0
- package/src/router-server-cleanup.ts +11 -0
- package/src/router-server-snapshot.ts +564 -0
- package/src/router-server.ts +23 -0
- package/src/router-snapshot.ts +251 -0
- package/src/router.ts +192 -0
- package/src/routes.ts +263 -0
- package/src/server.ts +300 -0
- package/src/typecheck.ts +723 -0
- package/README.md +0 -3
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
createNativeServerEntry: ()=>createNativeServerEntry,
|
|
32
|
+
withOctaneDocumentFields: ()=>withOctaneDocumentFields
|
|
33
|
+
});
|
|
34
|
+
const data_namespaceObject = require("@modern-js/renderer-core/data");
|
|
35
|
+
const entry_server_namespaceObject = require("@modern-js/renderer-core/entry-server");
|
|
36
|
+
const router_namespaceObject = require("@modern-js/renderer-core/router");
|
|
37
|
+
const external_entry_application_js_namespaceObject = require("./entry-application.js");
|
|
38
|
+
const external_manifest_js_namespaceObject = require("./manifest.js");
|
|
39
|
+
const external_router_server_js_namespaceObject = require("./router-server.js");
|
|
40
|
+
const external_server_js_namespaceObject = require("./server.js");
|
|
41
|
+
const OCTANE_DOCUMENT_FIELDS = new Set([
|
|
42
|
+
'content-language',
|
|
43
|
+
'content-location',
|
|
44
|
+
'content-disposition'
|
|
45
|
+
]);
|
|
46
|
+
function withOctaneDocumentFields(policy, responseHeaders) {
|
|
47
|
+
const fields = (0, data_namespaceObject.collectDataHeaders)(responseHeaders).filter(([name])=>OCTANE_DOCUMENT_FIELDS.has(name.toLowerCase()));
|
|
48
|
+
return fields.length ? {
|
|
49
|
+
...policy,
|
|
50
|
+
headers: [
|
|
51
|
+
...policy.headers,
|
|
52
|
+
...fields
|
|
53
|
+
]
|
|
54
|
+
} : policy;
|
|
55
|
+
}
|
|
56
|
+
const LocalizedRouterServer = (0, external_entry_application_js_namespaceObject.localizedRouterRoot)(external_router_server_js_namespaceObject.OctaneRouterServer);
|
|
57
|
+
function createNativeServerEntry(options) {
|
|
58
|
+
return (0, entry_server_namespaceObject.createNativeServerEntry)(options, {
|
|
59
|
+
document: (document, nativeManifest, identity)=>({
|
|
60
|
+
...document,
|
|
61
|
+
nativeHydrationBuildId: (0, external_manifest_js_namespaceObject.validateOctaneModuleManifest)(nativeManifest, identity).nativeHydrationBuildId
|
|
62
|
+
}),
|
|
63
|
+
run: (_session, callback)=>callback(),
|
|
64
|
+
respond: (_session, response)=>response,
|
|
65
|
+
createRouter: (application, routerOptions)=>(0, router_namespaceObject.createNativeRouter)(application, routerOptions, external_entry_application_js_namespaceObject.octaneRouterFactory),
|
|
66
|
+
renderCSR: ({ session }, document)=>(0, external_server_js_namespaceObject.renderOctaneCSRDocument)({
|
|
67
|
+
session,
|
|
68
|
+
document
|
|
69
|
+
}),
|
|
70
|
+
renderComponent: ({ session }, component, document, i18n)=>(0, external_server_js_namespaceObject.renderOctaneApplication)({
|
|
71
|
+
session,
|
|
72
|
+
App: (0, external_entry_application_js_namespaceObject.componentView)(component, i18n),
|
|
73
|
+
document,
|
|
74
|
+
federation: options.federation
|
|
75
|
+
}),
|
|
76
|
+
async renderRoutes ({ request, context: { session }, router, outcomes, document, forbiddenValues, i18n }) {
|
|
77
|
+
const response = await (0, external_router_server_js_namespaceObject.createOctaneRequestHandler)({
|
|
78
|
+
request,
|
|
79
|
+
session,
|
|
80
|
+
createRouter: ()=>router,
|
|
81
|
+
serialization: {
|
|
82
|
+
forbiddenValues
|
|
83
|
+
}
|
|
84
|
+
})(async ({ router, responseHeaders })=>{
|
|
85
|
+
const metadata = (0, data_namespaceObject.mergeDataResponseMetadata)(outcomes, {
|
|
86
|
+
status: router.state.statusCode ?? 200
|
|
87
|
+
});
|
|
88
|
+
const policy = (0, data_namespaceObject.dataMetadataToDocumentPolicy)({
|
|
89
|
+
...metadata,
|
|
90
|
+
headers: (0, data_namespaceObject.mergeHeaderFields)((0, data_namespaceObject.collectDataHeaders)(responseHeaders), metadata.headers)
|
|
91
|
+
});
|
|
92
|
+
session.resolveResponse(withOctaneDocumentFields(policy, responseHeaders));
|
|
93
|
+
const rendered = await (0, external_server_js_namespaceObject.renderOctaneApplication)({
|
|
94
|
+
session,
|
|
95
|
+
...i18n ? {
|
|
96
|
+
App: LocalizedRouterServer,
|
|
97
|
+
props: {
|
|
98
|
+
router,
|
|
99
|
+
i18n
|
|
100
|
+
}
|
|
101
|
+
} : {
|
|
102
|
+
App: external_router_server_js_namespaceObject.OctaneRouterServer,
|
|
103
|
+
props: {
|
|
104
|
+
router
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
document,
|
|
108
|
+
federation: options.federation,
|
|
109
|
+
injection: (0, external_router_server_js_namespaceObject.createOctaneRouterInjection)(router, session)
|
|
110
|
+
});
|
|
111
|
+
return (0, external_router_server_js_namespaceObject.createSsrStreamResponse)(router, rendered);
|
|
112
|
+
});
|
|
113
|
+
return session.committedPolicy ? response : (0, data_namespaceObject.mergeDataResponseIntoResponse)(response, (0, data_namespaceObject.mergeDataResponseMetadata)(outcomes, {
|
|
114
|
+
status: response.status
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
exports.createNativeServerEntry = __webpack_exports__.createNativeServerEntry;
|
|
120
|
+
exports.withOctaneDocumentFields = __webpack_exports__.withOctaneDocumentFields;
|
|
121
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
122
|
+
"createNativeServerEntry",
|
|
123
|
+
"withOctaneDocumentFields"
|
|
124
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
125
|
+
Object.defineProperty(exports, '__esModule', {
|
|
126
|
+
value: true
|
|
127
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
FederationApplication: ()=>FederationApplication,
|
|
32
|
+
FederationContext: ()=>FederationContext,
|
|
33
|
+
FederationRoot: ()=>FederationRoot,
|
|
34
|
+
createFederationScope: ()=>createFederationScope
|
|
35
|
+
});
|
|
36
|
+
const federation_namespaceObject = require("@modern-js/renderer-core/federation");
|
|
37
|
+
const external_octane_namespaceObject = require("octane");
|
|
38
|
+
const FederationContext = (0, external_octane_namespaceObject.createContext)(null);
|
|
39
|
+
function createFederationScope(binding, server, nonce) {
|
|
40
|
+
return {
|
|
41
|
+
instance: (0, federation_namespaceObject.getFederationHost)(binding),
|
|
42
|
+
server,
|
|
43
|
+
...void 0 === nonce ? {} : {
|
|
44
|
+
nonce
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function FederationRoot(props) {
|
|
49
|
+
return (0, external_octane_namespaceObject.createElement)(FederationContext, {
|
|
50
|
+
value: props.scope,
|
|
51
|
+
children: props.children
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function FederationApplication(props) {
|
|
55
|
+
return (0, external_octane_namespaceObject.createElement)(FederationRoot, {
|
|
56
|
+
scope: props.scope,
|
|
57
|
+
children: (0, external_octane_namespaceObject.createElement)(props.application.default, props.application.props)
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
exports.FederationApplication = __webpack_exports__.FederationApplication;
|
|
61
|
+
exports.FederationContext = __webpack_exports__.FederationContext;
|
|
62
|
+
exports.FederationRoot = __webpack_exports__.FederationRoot;
|
|
63
|
+
exports.createFederationScope = __webpack_exports__.createFederationScope;
|
|
64
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
65
|
+
"FederationApplication",
|
|
66
|
+
"FederationContext",
|
|
67
|
+
"FederationRoot",
|
|
68
|
+
"createFederationScope"
|
|
69
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
70
|
+
Object.defineProperty(exports, '__esModule', {
|
|
71
|
+
value: true
|
|
72
|
+
});
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
federatedComponent: ()=>federatedComponent
|
|
32
|
+
});
|
|
33
|
+
const federation_namespaceObject = require("@modern-js/renderer-core/federation");
|
|
34
|
+
const external_octane_namespaceObject = require("octane");
|
|
35
|
+
const external_federation_context_js_namespaceObject = require("./federation-context.js");
|
|
36
|
+
function withTimeout(promise, timeout, label) {
|
|
37
|
+
if (void 0 === timeout) return promise;
|
|
38
|
+
return new Promise((resolve, reject)=>{
|
|
39
|
+
const timer = setTimeout(()=>reject(new Error(`Remote module ${label} did not load within ${timeout}ms`)), timeout);
|
|
40
|
+
timer.unref?.();
|
|
41
|
+
promise.then((value)=>{
|
|
42
|
+
clearTimeout(timer);
|
|
43
|
+
resolve(value);
|
|
44
|
+
}, (error)=>{
|
|
45
|
+
clearTimeout(timer);
|
|
46
|
+
reject(error);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function federatedComponent(remote, options = {}) {
|
|
51
|
+
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");
|
|
52
|
+
if (void 0 !== options.timeout && (!Number.isFinite(options.timeout) || options.timeout <= 0)) throw new TypeError('federatedComponent timeout must be a positive number of milliseconds');
|
|
53
|
+
const id = 'string' == typeof remote ? remote : void 0;
|
|
54
|
+
const standalone = {
|
|
55
|
+
instance: void 0,
|
|
56
|
+
server: "u" < typeof document
|
|
57
|
+
};
|
|
58
|
+
const components = new WeakMap();
|
|
59
|
+
return (props)=>{
|
|
60
|
+
const context = (0, external_octane_namespaceObject.useContext)(external_federation_context_js_namespaceObject.FederationContext) ?? standalone;
|
|
61
|
+
let Remote = components.get(context);
|
|
62
|
+
if (!Remote) {
|
|
63
|
+
Remote = (0, external_octane_namespaceObject.lazy)(async ()=>{
|
|
64
|
+
try {
|
|
65
|
+
if (context.server && !id) throw new Error('A federatedComponent loader renders in the browser only; use a remote id to server-render it');
|
|
66
|
+
const module = await withTimeout(Promise.resolve().then(()=>id ? (0, federation_namespaceObject.loadFederatedModule)(context.instance, id) : remote()), options.timeout ?? (context.server ? 3000 : void 0), id ?? 'loader');
|
|
67
|
+
if ('function' != typeof module?.default) throw new TypeError('A federated Octane module must default-export a native component');
|
|
68
|
+
const assets = id && context.instance ? (0, federation_namespaceObject.remoteBrowserAssets)(context.instance, id) : void 0;
|
|
69
|
+
if (context.server && !assets) throw new Error(`Cannot server-render ${id}: the host has no browser assets for this remote`);
|
|
70
|
+
const component = module.default;
|
|
71
|
+
const Loaded = (props)=>{
|
|
72
|
+
for (const href of assets?.css ?? [])(0, external_octane_namespaceObject.preinit)(href, {
|
|
73
|
+
as: 'style',
|
|
74
|
+
precedence: 'federated',
|
|
75
|
+
...void 0 === context.nonce ? {} : {
|
|
76
|
+
nonce: context.nonce
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return (0, external_octane_namespaceObject.createElement)(component, props);
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
default: Loaded
|
|
83
|
+
};
|
|
84
|
+
} catch (error) {
|
|
85
|
+
if (!context.server) components.delete(context);
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
components.set(context, Remote);
|
|
90
|
+
}
|
|
91
|
+
return (0, external_octane_namespaceObject.createElement)(external_octane_namespaceObject.Suspense, {
|
|
92
|
+
fallback: options.fallback,
|
|
93
|
+
children: (0, external_octane_namespaceObject.createElement)(Remote, props)
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
exports.federatedComponent = __webpack_exports__.federatedComponent;
|
|
98
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
99
|
+
"federatedComponent"
|
|
100
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
101
|
+
Object.defineProperty(exports, '__esModule', {
|
|
102
|
+
value: true
|
|
103
|
+
});
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
I18nProvider: ()=>I18nProvider
|
|
32
|
+
});
|
|
33
|
+
const external_octane_namespaceObject = require("octane");
|
|
34
|
+
const external_context_js_namespaceObject = require("./context.js");
|
|
35
|
+
const languageStateSlot = Symbol((0, external_octane_namespaceObject.hookSlots)(1));
|
|
36
|
+
const languageSubscriptionSlot = Symbol((0, external_octane_namespaceObject.hookSlots)(1));
|
|
37
|
+
function I18nProvider(props) {
|
|
38
|
+
const [language, setLanguage] = (0, external_octane_namespaceObject.useState)(()=>props.instance.language, languageStateSlot);
|
|
39
|
+
(0, external_octane_namespaceObject.useEffect)(()=>{
|
|
40
|
+
const instance = props.instance;
|
|
41
|
+
setLanguage(instance.language);
|
|
42
|
+
const handleLanguageChanged = (lng)=>setLanguage(lng);
|
|
43
|
+
instance.on?.('languageChanged', handleLanguageChanged);
|
|
44
|
+
return ()=>{
|
|
45
|
+
instance.off?.('languageChanged', handleLanguageChanged);
|
|
46
|
+
};
|
|
47
|
+
}, [
|
|
48
|
+
props.instance
|
|
49
|
+
], languageSubscriptionSlot);
|
|
50
|
+
const value = {
|
|
51
|
+
instance: props.instance,
|
|
52
|
+
languages: props.languages,
|
|
53
|
+
localisedUrls: props.localisedUrls,
|
|
54
|
+
language
|
|
55
|
+
};
|
|
56
|
+
return (0, external_octane_namespaceObject.createElement)(external_context_js_namespaceObject.I18nContext, {
|
|
57
|
+
value,
|
|
58
|
+
children: props.children
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
exports.I18nProvider = __webpack_exports__.I18nProvider;
|
|
62
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
63
|
+
"I18nProvider"
|
|
64
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
65
|
+
Object.defineProperty(exports, '__esModule', {
|
|
66
|
+
value: true
|
|
67
|
+
});
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
LocalizedLink: ()=>LocalizedLink,
|
|
32
|
+
useIsLocalizedActive: ()=>useIsLocalizedActive
|
|
33
|
+
});
|
|
34
|
+
const paths_namespaceObject = require("@modern-js/i18n-runtime-extensions/paths");
|
|
35
|
+
const external_octane_namespaceObject = require("octane");
|
|
36
|
+
const external_router_js_namespaceObject = require("../router.js");
|
|
37
|
+
const external_context_js_namespaceObject = require("./context.js");
|
|
38
|
+
const locationSlot = Symbol((0, external_octane_namespaceObject.hookSlots)(1));
|
|
39
|
+
function LocalizedLink(props) {
|
|
40
|
+
const context = (0, external_octane_namespaceObject.useContext)(external_context_js_namespaceObject.I18nContext);
|
|
41
|
+
if (!context) throw new Error('[renderer-octane] LocalizedLink was used outside of an I18nProvider.');
|
|
42
|
+
const router = (0, external_router_js_namespaceObject.useRouter)();
|
|
43
|
+
const language = void 0 === props.language ? context.language : (0, paths_namespaceObject.configuredLanguage)(props.language, context.languages);
|
|
44
|
+
const href = (0, paths_namespaceObject.localizePath)(props.to, language, {
|
|
45
|
+
languages: [
|
|
46
|
+
...context.languages
|
|
47
|
+
],
|
|
48
|
+
localisedUrls: context.localisedUrls
|
|
49
|
+
});
|
|
50
|
+
const crossLanguage = language !== context.language;
|
|
51
|
+
const rewrite = Boolean(router.options.rewrite);
|
|
52
|
+
return (0, external_octane_namespaceObject.createElement)(external_router_js_namespaceObject.Link, {
|
|
53
|
+
to: rewrite ? props.to : href,
|
|
54
|
+
...rewrite && crossLanguage ? {
|
|
55
|
+
mask: {
|
|
56
|
+
to: href
|
|
57
|
+
}
|
|
58
|
+
} : {},
|
|
59
|
+
...crossLanguage ? {
|
|
60
|
+
hreflang: language
|
|
61
|
+
} : {},
|
|
62
|
+
class: props.class,
|
|
63
|
+
activeProps: props.activeProps,
|
|
64
|
+
inactiveProps: props.inactiveProps,
|
|
65
|
+
activeOptions: props.activeOptions,
|
|
66
|
+
replace: props.replace,
|
|
67
|
+
preload: props.preload
|
|
68
|
+
}, props.children);
|
|
69
|
+
}
|
|
70
|
+
function useIsLocalizedActive(canonicalTarget) {
|
|
71
|
+
const context = (0, external_octane_namespaceObject.useContext)(external_context_js_namespaceObject.I18nContext);
|
|
72
|
+
if (!context) throw new Error('[renderer-octane] useIsLocalizedActive was used outside of an I18nProvider.');
|
|
73
|
+
const location = (0, external_router_js_namespaceObject.useLocation)(void 0, locationSlot);
|
|
74
|
+
return (0, paths_namespaceObject.canonicalPath)(location.pathname, {
|
|
75
|
+
languages: [
|
|
76
|
+
...context.languages
|
|
77
|
+
],
|
|
78
|
+
localisedUrls: context.localisedUrls
|
|
79
|
+
}) === canonicalTarget;
|
|
80
|
+
}
|
|
81
|
+
exports.LocalizedLink = __webpack_exports__.LocalizedLink;
|
|
82
|
+
exports.useIsLocalizedActive = __webpack_exports__.useIsLocalizedActive;
|
|
83
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
84
|
+
"LocalizedLink",
|
|
85
|
+
"useIsLocalizedActive"
|
|
86
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
87
|
+
Object.defineProperty(exports, '__esModule', {
|
|
88
|
+
value: true
|
|
89
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
I18nContext: ()=>I18nContext
|
|
32
|
+
});
|
|
33
|
+
const external_octane_namespaceObject = require("octane");
|
|
34
|
+
const I18nContext = (0, external_octane_namespaceObject.createContext)(null);
|
|
35
|
+
exports.I18nContext = __webpack_exports__.I18nContext;
|
|
36
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
37
|
+
"I18nContext"
|
|
38
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
39
|
+
Object.defineProperty(exports, '__esModule', {
|
|
40
|
+
value: true
|
|
41
|
+
});
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
I18N_SSR_HANDOFF_ELEMENT_ID: ()=>ssrLanguageHandoff_namespaceObject.I18N_SSR_HANDOFF_ELEMENT_ID,
|
|
32
|
+
I18nContext: ()=>external_context_js_namespaceObject.I18nContext,
|
|
33
|
+
I18nProvider: ()=>external_I18nProvider_js_namespaceObject.I18nProvider,
|
|
34
|
+
LocalizedLink: ()=>external_LocalizedLink_js_namespaceObject.LocalizedLink,
|
|
35
|
+
createI18nSsrHandoffInlineData: ()=>ssrLanguageHandoff_namespaceObject.createI18nSsrHandoffInlineData,
|
|
36
|
+
createI18nUrlRewrite: ()=>urlRewrite_namespaceObject.createI18nUrlRewrite,
|
|
37
|
+
createRequestLanguageRedirect: ()=>request_language_namespaceObject.createRequestLanguageRedirect,
|
|
38
|
+
detectRequestLanguage: ()=>request_language_namespaceObject.detectRequestLanguage,
|
|
39
|
+
languageFromPathname: ()=>request_language_namespaceObject.languageFromPathname,
|
|
40
|
+
readI18nSsrHandoff: ()=>ssrLanguageHandoff_namespaceObject.readI18nSsrHandoff,
|
|
41
|
+
resolveRequestLanguage: ()=>request_language_namespaceObject.resolveRequestLanguage,
|
|
42
|
+
useI18n: ()=>external_useI18n_js_namespaceObject.useI18n,
|
|
43
|
+
useIsLocalizedActive: ()=>external_LocalizedLink_js_namespaceObject.useIsLocalizedActive,
|
|
44
|
+
useLatestLanguageSync: ()=>external_languageSync_js_namespaceObject.useLatestLanguageSync
|
|
45
|
+
});
|
|
46
|
+
const request_language_namespaceObject = require("@modern-js/i18n-runtime-extensions/request-language");
|
|
47
|
+
const ssrLanguageHandoff_namespaceObject = require("@modern-js/i18n-runtime-extensions/ssrLanguageHandoff");
|
|
48
|
+
const urlRewrite_namespaceObject = require("@modern-js/i18n-runtime-extensions/urlRewrite");
|
|
49
|
+
const external_context_js_namespaceObject = require("./context.js");
|
|
50
|
+
const external_I18nProvider_js_namespaceObject = require("./I18nProvider.js");
|
|
51
|
+
const external_LocalizedLink_js_namespaceObject = require("./LocalizedLink.js");
|
|
52
|
+
const external_languageSync_js_namespaceObject = require("./languageSync.js");
|
|
53
|
+
const external_useI18n_js_namespaceObject = require("./useI18n.js");
|
|
54
|
+
exports.I18N_SSR_HANDOFF_ELEMENT_ID = __webpack_exports__.I18N_SSR_HANDOFF_ELEMENT_ID;
|
|
55
|
+
exports.I18nContext = __webpack_exports__.I18nContext;
|
|
56
|
+
exports.I18nProvider = __webpack_exports__.I18nProvider;
|
|
57
|
+
exports.LocalizedLink = __webpack_exports__.LocalizedLink;
|
|
58
|
+
exports.createI18nSsrHandoffInlineData = __webpack_exports__.createI18nSsrHandoffInlineData;
|
|
59
|
+
exports.createI18nUrlRewrite = __webpack_exports__.createI18nUrlRewrite;
|
|
60
|
+
exports.createRequestLanguageRedirect = __webpack_exports__.createRequestLanguageRedirect;
|
|
61
|
+
exports.detectRequestLanguage = __webpack_exports__.detectRequestLanguage;
|
|
62
|
+
exports.languageFromPathname = __webpack_exports__.languageFromPathname;
|
|
63
|
+
exports.readI18nSsrHandoff = __webpack_exports__.readI18nSsrHandoff;
|
|
64
|
+
exports.resolveRequestLanguage = __webpack_exports__.resolveRequestLanguage;
|
|
65
|
+
exports.useI18n = __webpack_exports__.useI18n;
|
|
66
|
+
exports.useIsLocalizedActive = __webpack_exports__.useIsLocalizedActive;
|
|
67
|
+
exports.useLatestLanguageSync = __webpack_exports__.useLatestLanguageSync;
|
|
68
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
69
|
+
"I18N_SSR_HANDOFF_ELEMENT_ID",
|
|
70
|
+
"I18nContext",
|
|
71
|
+
"I18nProvider",
|
|
72
|
+
"LocalizedLink",
|
|
73
|
+
"createI18nSsrHandoffInlineData",
|
|
74
|
+
"createI18nUrlRewrite",
|
|
75
|
+
"createRequestLanguageRedirect",
|
|
76
|
+
"detectRequestLanguage",
|
|
77
|
+
"languageFromPathname",
|
|
78
|
+
"readI18nSsrHandoff",
|
|
79
|
+
"resolveRequestLanguage",
|
|
80
|
+
"useI18n",
|
|
81
|
+
"useIsLocalizedActive",
|
|
82
|
+
"useLatestLanguageSync"
|
|
83
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
84
|
+
Object.defineProperty(exports, '__esModule', {
|
|
85
|
+
value: true
|
|
86
|
+
});
|