@bleedingdev/modern-js-renderer-octane 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.
Files changed (154) hide show
  1. package/LICENSE +21 -0
  2. package/bin/octane-tsc.mjs +4 -0
  3. package/dist/cjs/bootstrap.js +68 -0
  4. package/dist/cjs/client.js +421 -0
  5. package/dist/cjs/entry-application.js +88 -0
  6. package/dist/cjs/entry-client.js +95 -0
  7. package/dist/cjs/entry-server.js +135 -0
  8. package/dist/cjs/federation-context.js +72 -0
  9. package/dist/cjs/federation.js +205 -0
  10. package/dist/cjs/i18n/I18nProvider.js +59 -0
  11. package/dist/cjs/i18n/LocalizedLink.js +80 -0
  12. package/dist/cjs/i18n/context.js +41 -0
  13. package/dist/cjs/i18n/index.js +83 -0
  14. package/dist/cjs/i18n/languageSync.js +99 -0
  15. package/dist/cjs/i18n/types.js +18 -0
  16. package/dist/cjs/i18n/useI18n.js +110 -0
  17. package/dist/cjs/i18n-external-snapshot.js +645 -0
  18. package/dist/cjs/index.js +46 -0
  19. package/dist/cjs/manifest.js +167 -0
  20. package/dist/cjs/plugin/compiler.js +122 -0
  21. package/dist/cjs/plugin/create.js +266 -0
  22. package/dist/cjs/plugin/index.js +151 -0
  23. package/dist/cjs/plugin/profile.js +91 -0
  24. package/dist/cjs/plugin/source.js +56 -0
  25. package/dist/cjs/router-client.js +139 -0
  26. package/dist/cjs/router-external-snapshot.js +291 -0
  27. package/dist/cjs/router-handler.js +171 -0
  28. package/dist/cjs/router-server-cleanup.js +46 -0
  29. package/dist/cjs/router-server-snapshot.js +405 -0
  30. package/dist/cjs/router-server.js +100 -0
  31. package/dist/cjs/router-snapshot.js +270 -0
  32. package/dist/cjs/router.js +218 -0
  33. package/dist/cjs/routes.js +190 -0
  34. package/dist/cjs/server.js +245 -0
  35. package/dist/cjs/typecheck.js +615 -0
  36. package/dist/cjs/worker-federation-context.js +63 -0
  37. package/dist/cjs/worker-federation-contexts.js +97 -0
  38. package/dist/cjs/worker-federation.js +97 -0
  39. package/dist/esm/bootstrap.mjs +24 -0
  40. package/dist/esm/client.mjs +377 -0
  41. package/dist/esm/entry-application.mjs +44 -0
  42. package/dist/esm/entry-client.mjs +57 -0
  43. package/dist/esm/entry-server.mjs +91 -0
  44. package/dist/esm/federation-context.mjs +25 -0
  45. package/dist/esm/federation.mjs +167 -0
  46. package/dist/esm/i18n/I18nProvider.mjs +21 -0
  47. package/dist/esm/i18n/LocalizedLink.mjs +42 -0
  48. package/dist/esm/i18n/context.mjs +3 -0
  49. package/dist/esm/i18n/index.mjs +8 -0
  50. package/dist/esm/i18n/languageSync.mjs +61 -0
  51. package/dist/esm/i18n/types.mjs +0 -0
  52. package/dist/esm/i18n/useI18n.mjs +72 -0
  53. package/dist/esm/i18n-external-snapshot.mjs +576 -0
  54. package/dist/esm/index.mjs +8 -0
  55. package/dist/esm/manifest.mjs +117 -0
  56. package/dist/esm/router-client.mjs +98 -0
  57. package/dist/esm/router-external-snapshot.mjs +244 -0
  58. package/dist/esm/router-handler.mjs +133 -0
  59. package/dist/esm/router-server-cleanup.mjs +8 -0
  60. package/dist/esm/router-server-snapshot.mjs +367 -0
  61. package/dist/esm/router-server.mjs +11 -0
  62. package/dist/esm/router-snapshot.mjs +199 -0
  63. package/dist/esm/router.mjs +94 -0
  64. package/dist/esm/routes.mjs +134 -0
  65. package/dist/esm/server.mjs +204 -0
  66. package/dist/esm/worker-federation-context.mjs +19 -0
  67. package/dist/esm/worker-federation-contexts.mjs +47 -0
  68. package/dist/esm/worker-federation.mjs +59 -0
  69. package/dist/esm-node/bootstrap.mjs +24 -0
  70. package/dist/esm-node/manifest.mjs +117 -0
  71. package/dist/esm-node/plugin/compiler.mjs +67 -0
  72. package/dist/esm-node/plugin/create.mjs +228 -0
  73. package/dist/esm-node/plugin/index.mjs +103 -0
  74. package/dist/esm-node/plugin/profile.mjs +53 -0
  75. package/dist/esm-node/plugin/source.mjs +7 -0
  76. package/dist/esm-node/typecheck.mjs +560 -0
  77. package/dist/types/bootstrap.d.ts +10 -0
  78. package/dist/types/client.d.ts +40 -0
  79. package/dist/types/entry-application.d.ts +19 -0
  80. package/dist/types/entry-client.d.ts +10 -0
  81. package/dist/types/entry-server.d.ts +14 -0
  82. package/dist/types/federation-context.d.ts +28 -0
  83. package/dist/types/federation.d.ts +20 -0
  84. package/dist/types/i18n/I18nProvider.d.ts +8 -0
  85. package/dist/types/i18n/LocalizedLink.d.ts +14 -0
  86. package/dist/types/i18n/context.d.ts +9 -0
  87. package/dist/types/i18n/index.d.ts +9 -0
  88. package/dist/types/i18n/languageSync.d.ts +26 -0
  89. package/dist/types/i18n/types.d.ts +34 -0
  90. package/dist/types/i18n/useI18n.d.ts +21 -0
  91. package/dist/types/i18n-external-snapshot.d.ts +43 -0
  92. package/dist/types/index.d.ts +9 -0
  93. package/dist/types/manifest.d.ts +34 -0
  94. package/dist/types/plugin/compiler-manifest.d.cts +10 -0
  95. package/dist/types/plugin/compiler.d.ts +5 -0
  96. package/dist/types/plugin/create.d.ts +23 -0
  97. package/dist/types/plugin/index.d.ts +3 -0
  98. package/dist/types/plugin/profile.d.ts +2 -0
  99. package/dist/types/plugin/source.d.ts +1 -0
  100. package/dist/types/plugin/svg-component-template.d.cts +6 -0
  101. package/dist/types/router-client.d.ts +12 -0
  102. package/dist/types/router-external-snapshot.d.ts +10 -0
  103. package/dist/types/router-handler.d.ts +13 -0
  104. package/dist/types/router-server-cleanup.d.ts +3 -0
  105. package/dist/types/router-server-snapshot.d.ts +15 -0
  106. package/dist/types/router-server.d.ts +11 -0
  107. package/dist/types/router-snapshot.d.ts +14 -0
  108. package/dist/types/router.d.ts +30 -0
  109. package/dist/types/routes.d.ts +20 -0
  110. package/dist/types/server.d.ts +47 -0
  111. package/dist/types/typecheck.d.ts +31 -0
  112. package/dist/types/worker-federation-context.d.ts +34 -0
  113. package/dist/types/worker-federation-contexts.d.ts +25 -0
  114. package/dist/types/worker-federation.d.ts +20 -0
  115. package/package.json +278 -4
  116. package/src/bootstrap.ts +60 -0
  117. package/src/client.ts +568 -0
  118. package/src/entry-application.ts +76 -0
  119. package/src/entry-client.ts +90 -0
  120. package/src/entry-server.ts +153 -0
  121. package/src/federation-context.ts +53 -0
  122. package/src/federation.ts +307 -0
  123. package/src/i18n/I18nProvider.ts +47 -0
  124. package/src/i18n/LocalizedLink.ts +86 -0
  125. package/src/i18n/context.ts +12 -0
  126. package/src/i18n/index.ts +31 -0
  127. package/src/i18n/languageSync.ts +132 -0
  128. package/src/i18n/types.ts +36 -0
  129. package/src/i18n/useI18n.ts +119 -0
  130. package/src/i18n-external-snapshot.ts +803 -0
  131. package/src/index.ts +10 -0
  132. package/src/manifest.ts +253 -0
  133. package/src/plugin/compiler-manifest.cjs +204 -0
  134. package/src/plugin/compiler.ts +104 -0
  135. package/src/plugin/create.ts +273 -0
  136. package/src/plugin/index.ts +107 -0
  137. package/src/plugin/profile.ts +50 -0
  138. package/src/plugin/source.ts +16 -0
  139. package/src/plugin/svg-component-template.cjs +17 -0
  140. package/src/router-client.ts +144 -0
  141. package/src/router-external-snapshot.ts +363 -0
  142. package/src/router-handler.ts +185 -0
  143. package/src/router-server-cleanup.ts +11 -0
  144. package/src/router-server-snapshot.ts +564 -0
  145. package/src/router-server.ts +21 -0
  146. package/src/router-snapshot.ts +251 -0
  147. package/src/router.ts +192 -0
  148. package/src/routes.ts +274 -0
  149. package/src/server.ts +340 -0
  150. package/src/typecheck.ts +723 -0
  151. package/src/worker-federation-context.ts +51 -0
  152. package/src/worker-federation-contexts.ts +91 -0
  153. package/src/worker-federation.ts +120 -0
  154. package/README.md +0 -3
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ rendererAdapter: ()=>rendererAdapter
41
+ });
42
+ const external_node_path_namespaceObject = require("node:path");
43
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
44
+ const adapter_namespaceObject = require("@modern-js/renderer-core/adapter");
45
+ const external_manifest_js_namespaceObject = require("../manifest.js");
46
+ const external_compiler_js_namespaceObject = require("./compiler.js");
47
+ const external_create_js_namespaceObject = require("./create.js");
48
+ const external_profile_js_namespaceObject = require("./profile.js");
49
+ const external_source_js_namespaceObject = require("./source.js");
50
+ const rendererAdapter = (0, adapter_namespaceObject.defineRendererAdapter)({
51
+ name: 'octane',
52
+ kind: 'native',
53
+ profile: external_profile_js_namespaceObject.octaneProfile,
54
+ routerFrameworks: [
55
+ 'octane'
56
+ ],
57
+ runtime: {
58
+ package: 'octane',
59
+ bootstrap: '@modern-js/renderer-octane',
60
+ entryClient: '@modern-js/renderer-octane/entry-client',
61
+ entryServer: '@modern-js/renderer-octane/entry-server',
62
+ router: '@modern-js/renderer-octane/router',
63
+ i18n: '@modern-js/renderer-octane/i18n',
64
+ manifest: '@modern-js/renderer-octane/manifest'
65
+ },
66
+ federation: {
67
+ library: 'module',
68
+ ssr: true,
69
+ shared: [
70
+ 'octane',
71
+ 'octane/',
72
+ 'octane/internal/context',
73
+ 'octane/internal/signal-read',
74
+ 'octane/signals',
75
+ '@octanejs/tanstack-router',
76
+ '@octanejs/tanstack-router/',
77
+ '@modern-js/renderer-octane',
78
+ '@modern-js/renderer-octane/',
79
+ '@modern-js/renderer-octane/router',
80
+ '@modern-js/renderer-octane/federation',
81
+ '@modern-js/renderer-core',
82
+ '@modern-js/renderer-core/',
83
+ '@tanstack/router-core',
84
+ '@tanstack/history',
85
+ 'seroval',
86
+ 'seroval-plugins'
87
+ ],
88
+ sharedByEnvironment: {
89
+ client: {
90
+ 'octane/internal/client': 'octane/internal/client',
91
+ 'octane/signals/client': 'octane/signals/client',
92
+ 'octane/profiling': 'octane/profiling',
93
+ 'octane/hydration/streamed-signals': 'octane/hydration/streamed-signals',
94
+ '@modern-js/renderer-octane/client': '@modern-js/renderer-octane/client'
95
+ },
96
+ server: {
97
+ octane: 'octane/server',
98
+ 'octane/server': 'octane/server',
99
+ 'octane/internal/server': 'octane/internal/server',
100
+ 'octane/signals/server': 'octane/signals/server'
101
+ }
102
+ }
103
+ },
104
+ worker: {
105
+ nativeDocuments: true,
106
+ rsc: false
107
+ },
108
+ lazyStyles: 'document',
109
+ entryClient: {
110
+ declarations: 'declare const __webpack_hash__: string;\n',
111
+ fields: {
112
+ nativeHydrationBuildId: '__webpack_hash__'
113
+ }
114
+ },
115
+ svgComponentTemplate: ()=>external_node_path_default().join((0, external_compiler_js_namespaceObject.pluginSourceDirectory)(), 'svg-component-template.cjs'),
116
+ compiler: external_compiler_js_namespaceObject.createOctaneCompilerPlugin,
117
+ artifacts: external_manifest_js_namespaceObject.compilerArtifacts,
118
+ assertSupportedSource: external_source_js_namespaceObject.assertOctaneEntrySource,
119
+ create: {
120
+ templates: {
121
+ federation: true,
122
+ workers: true
123
+ },
124
+ dependencies: (profile, { typescriptVersion })=>({
125
+ frameworkDependencies: [
126
+ '@modern-js/renderer-core',
127
+ '@modern-js/renderer-octane'
128
+ ],
129
+ dependencies: (0, adapter_namespaceObject.nativeRendererDependencies)(profile),
130
+ devDependencies: {
131
+ [profile.compiler.name]: profile.dependencies[profile.compiler.name] ?? profile.compiler.version,
132
+ typescript: typescriptVersion
133
+ },
134
+ typecheckCommand: 'octane-tsc --noEmit --project tsconfig.json',
135
+ tsconfig: {
136
+ tsrx: {
137
+ compiler: 'octane/compiler/volar',
138
+ platform: 'web'
139
+ }
140
+ }
141
+ }),
142
+ generateAppSources: external_create_js_namespaceObject.generateOctaneAppSources
143
+ }
144
+ });
145
+ exports.rendererAdapter = __webpack_exports__.rendererAdapter;
146
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
147
+ "rendererAdapter"
148
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
149
+ Object.defineProperty(exports, '__esModule', {
150
+ value: true
151
+ });
@@ -0,0 +1,91 @@
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
+ const octaneProfile = {
31
+ renderer: 'octane',
32
+ status: 'preview',
33
+ protocolVersion: 1,
34
+ minimumNode: '26.12.0',
35
+ hmr: {
36
+ editedBoundary: 'may-reset',
37
+ unaffectedComponents: 'preserved',
38
+ document: 'preserved',
39
+ roots: 'single',
40
+ cleanup: 'exactly-once'
41
+ },
42
+ compiler: {
43
+ name: '@octanejs/rspack-plugin',
44
+ version: '0.2.4'
45
+ },
46
+ hydration: {
47
+ name: 'octane',
48
+ version: '0.13.8'
49
+ },
50
+ router: {
51
+ name: '@octanejs/tanstack-router',
52
+ version: '0.2.10',
53
+ coreName: '@tanstack/router-core',
54
+ coreVersion: '1.171.38'
55
+ },
56
+ sourceExtensions: [
57
+ '.tsx',
58
+ '.tsrx',
59
+ '.ts',
60
+ '.js'
61
+ ],
62
+ jsxImportSource: 'octane',
63
+ dependencies: {
64
+ '@tsrx/oxc': '0.20.0',
65
+ octane: 'https://github.com/BleedingDev/octane/releases/download/ultramodern-octane-2383d2ab1e70/octane-0.13.8.tgz',
66
+ '@octanejs/tanstack-router': 'https://github.com/BleedingDev/octane/releases/download/ultramodern-octane-2383d2ab1e70/octanejs-tanstack-router-0.2.10.tgz',
67
+ '@octanejs/rspack-plugin': 'https://github.com/BleedingDev/octane/releases/download/ultramodern-octane-2383d2ab1e70/octanejs-rspack-plugin-0.2.4.tgz',
68
+ '@tanstack/router-core': 'https://github.com/BleedingDev/router/releases/download/ultramodern-router-core-585d3233f7f5/tanstack-router-core-1.171.38.tgz',
69
+ '@modern-js/renderer-octane': '3.8.3',
70
+ seroval: '1.6.9',
71
+ 'seroval-plugins': '1.6.9'
72
+ },
73
+ capabilities: {
74
+ worker: true,
75
+ moduleFederation: true,
76
+ rsc: false,
77
+ ssg: true,
78
+ i18n: true,
79
+ svgComponent: true
80
+ }
81
+ };
82
+ __webpack_require__.d(__webpack_exports__, {}, {
83
+ octaneProfile: octaneProfile
84
+ });
85
+ exports.octaneProfile = __webpack_exports__.octaneProfile;
86
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
87
+ "octaneProfile"
88
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
89
+ Object.defineProperty(exports, '__esModule', {
90
+ value: true
91
+ });
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ assertOctaneEntrySource: ()=>assertOctaneEntrySource
41
+ });
42
+ const promises_namespaceObject = require("node:fs/promises");
43
+ var promises_default = /*#__PURE__*/ __webpack_require__.n(promises_namespaceObject);
44
+ const external_node_path_namespaceObject = require("node:path");
45
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
46
+ const external_profile_js_namespaceObject = require("./profile.js");
47
+ async function assertOctaneEntrySource(source) {
48
+ if (source && '.jsx' === external_node_path_default().extname(source).toLowerCase() && (await promises_default().stat(source)).isFile()) throw new Error(`unsupported-renderer-capability: Octane does not support .jsx source: ${source}. Supported source extensions: ${external_profile_js_namespaceObject.octaneProfile.sourceExtensions.join(', ')}.`);
49
+ }
50
+ exports.assertOctaneEntrySource = __webpack_exports__.assertOctaneEntrySource;
51
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
52
+ "assertOctaneEntrySource"
53
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
54
+ Object.defineProperty(exports, '__esModule', {
55
+ value: true
56
+ });
@@ -0,0 +1,139 @@
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
+ OctaneRouterRoot: ()=>OctaneRouterRoot,
32
+ prepareOctaneRouterHydration: ()=>prepareOctaneRouterHydration
33
+ });
34
+ const tanstack_router_namespaceObject = require("@octanejs/tanstack-router");
35
+ const client_namespaceObject = require("@octanejs/tanstack-router/ssr/client");
36
+ const external_octane_namespaceObject = require("octane");
37
+ const external_router_snapshot_js_namespaceObject = require("./router-snapshot.js");
38
+ const hydration = new WeakMap();
39
+ function abortReason(signal) {
40
+ return void 0 === signal.reason ? new DOMException('Octane router hydration aborted', 'AbortError') : signal.reason;
41
+ }
42
+ function awaitHydration(promise, signal) {
43
+ if (!signal) return promise;
44
+ signal.throwIfAborted();
45
+ return new Promise((resolve, reject)=>{
46
+ let settled = false;
47
+ const finish = (success, error)=>{
48
+ if (settled) return;
49
+ settled = true;
50
+ signal.removeEventListener('abort', onAbort);
51
+ if (success) resolve();
52
+ else reject(error);
53
+ };
54
+ const onAbort = ()=>finish(false, abortReason(signal));
55
+ signal.addEventListener('abort', onAbort, {
56
+ once: true
57
+ });
58
+ promise.then(()=>finish(true), (error)=>finish(false, error));
59
+ if (signal.aborted) onAbort();
60
+ });
61
+ }
62
+ function isReactiveMatchIds(value) {
63
+ return 'object' == typeof value && null !== value && 'function' == typeof Reflect.get(value, 'get') && 'function' == typeof Reflect.get(value, 'subscribe');
64
+ }
65
+ function waitForCommittedMatches(router, signal) {
66
+ signal?.throwIfAborted();
67
+ const matchesId = router.stores.ids;
68
+ if (matchesId.get().length > 0) return Promise.resolve();
69
+ if (!isReactiveMatchIds(matchesId)) throw new Error('Octane router hydration requires its native reactive match store');
70
+ return new Promise((resolve, reject)=>{
71
+ let subscription;
72
+ let settled = false;
73
+ const cleanup = ()=>{
74
+ subscription?.unsubscribe();
75
+ signal?.removeEventListener('abort', onAbort);
76
+ };
77
+ const finish = ()=>{
78
+ if (settled || 0 === matchesId.get().length) return;
79
+ settled = true;
80
+ cleanup();
81
+ resolve();
82
+ };
83
+ const onAbort = ()=>{
84
+ if (settled) return;
85
+ settled = true;
86
+ cleanup();
87
+ if (signal) reject(abortReason(signal));
88
+ };
89
+ signal?.addEventListener('abort', onAbort, {
90
+ once: true
91
+ });
92
+ if (signal?.aborted) return void onAbort();
93
+ subscription = matchesId.subscribe(finish);
94
+ if (settled) subscription.unsubscribe();
95
+ else finish();
96
+ });
97
+ }
98
+ async function prepareOctaneRouterHydration(router, options = {}) {
99
+ (0, external_octane_namespaceObject.initializeHydrationEventCapture)();
100
+ options.signal?.throwIfAborted();
101
+ const adapters = router.options.serializationAdapters ?? [];
102
+ if (!adapters.includes(external_router_snapshot_js_namespaceObject.octaneRouterSnapshotAdapter)) {
103
+ const nativeOptions = {
104
+ ...router.options,
105
+ serializationAdapters: [
106
+ external_router_snapshot_js_namespaceObject.octaneRouterSnapshotAdapter,
107
+ ...adapters
108
+ ]
109
+ };
110
+ router.update(nativeOptions);
111
+ }
112
+ let pending = hydration.get(router);
113
+ if (!pending) {
114
+ pending = Promise.resolve((0, client_namespaceObject.hydrate)(router)).then(()=>{});
115
+ pending.catch(()=>{});
116
+ hydration.set(router, pending);
117
+ }
118
+ await awaitHydration(pending, options.signal);
119
+ await waitForCommittedMatches(router, options.signal);
120
+ options.signal?.throwIfAborted();
121
+ }
122
+ const routerHydrationEffectSlot = Symbol((0, external_octane_namespaceObject.hookSlots)(1));
123
+ function OctaneRouterRoot({ router }) {
124
+ (0, external_octane_namespaceObject.useEffect)(()=>{
125
+ window.$_TSR?.h();
126
+ }, [], routerHydrationEffectSlot);
127
+ return (0, external_octane_namespaceObject.createElement)(tanstack_router_namespaceObject.RouterProvider, {
128
+ router
129
+ });
130
+ }
131
+ exports.OctaneRouterRoot = __webpack_exports__.OctaneRouterRoot;
132
+ exports.prepareOctaneRouterHydration = __webpack_exports__.prepareOctaneRouterHydration;
133
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
134
+ "OctaneRouterRoot",
135
+ "prepareOctaneRouterHydration"
136
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
137
+ Object.defineProperty(exports, '__esModule', {
138
+ value: true
139
+ });