@bleedingdev/modern-js-runtime 3.5.0-ultramodern.1 → 3.5.0-ultramodern.100

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 (153) hide show
  1. package/dist/cjs/boundary-debugger/index.js +13 -3
  2. package/dist/cjs/cli/index.js +1 -11
  3. package/dist/cjs/cli/registry.js +18 -0
  4. package/dist/cjs/cli/ssr/index.js +3 -2
  5. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +8 -4
  6. package/dist/cjs/core/browser/hydrate.js +16 -2
  7. package/dist/cjs/core/browser/index.js +19 -18
  8. package/dist/cjs/core/context/index.js +3 -0
  9. package/dist/cjs/core/context/public.js +49 -0
  10. package/dist/cjs/core/context/runtime.js +6 -8
  11. package/dist/cjs/core/react/wrapper.js +57 -0
  12. package/dist/cjs/core/server/federatedCss.js +7 -3
  13. package/dist/cjs/core/server/requestHandler.js +15 -45
  14. package/dist/cjs/core/server/requestResponse.js +83 -0
  15. package/dist/cjs/core/server/routerCleanup.js +16 -6
  16. package/dist/cjs/core/server/scriptOrder.js +13 -10
  17. package/dist/cjs/core/server/stream/afterTemplate.js +9 -5
  18. package/dist/cjs/core/server/stream/template.js +3 -3
  19. package/dist/cjs/core/server/string/index.js +3 -3
  20. package/dist/cjs/core/server/string/loadable.js +3 -11
  21. package/dist/cjs/index.js +7 -6
  22. package/dist/cjs/module-federation/consume-surface.js +199 -0
  23. package/dist/cjs/module-federation/distributed-ssr.js +134 -0
  24. package/dist/cjs/module-federation/index.js +258 -120
  25. package/dist/cjs/module-federation/last-known-good.js +124 -0
  26. package/dist/cjs/module-federation/manifest-recovery-runtime-plugin.js +140 -0
  27. package/dist/cjs/module-federation/surface-resolution-types.js +61 -0
  28. package/dist/cjs/router/cli/code/nestedRoutes.js +3 -0
  29. package/dist/cjs/router/cli/code/templates.js +3 -2
  30. package/dist/cjs/router/cli/constants.js +1 -0
  31. package/dist/cjs/router/cli/nestedRoutesSpec.js +3 -1
  32. package/dist/cjs/router/runtime/hooks.js +7 -6
  33. package/dist/cjs/router/runtime/internal.js +30 -16
  34. package/dist/cjs/router/runtime/plugin.js +6 -7
  35. package/dist/cjs/router/runtime/provider.js +58 -12
  36. package/dist/esm/boundary-debugger/index.mjs +13 -3
  37. package/dist/esm/cli/code.mjs +12 -12
  38. package/dist/esm/cli/index.mjs +2 -12
  39. package/dist/esm/cli/registry.mjs +0 -0
  40. package/dist/esm/cli/ssr/index.mjs +3 -2
  41. package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +8 -4
  42. package/dist/esm/core/browser/hydrate.mjs +15 -4
  43. package/dist/esm/core/browser/index.mjs +15 -17
  44. package/dist/esm/core/context/index.mjs +1 -1
  45. package/dist/esm/core/context/public.mjs +5 -0
  46. package/dist/esm/core/context/runtime.mjs +4 -6
  47. package/dist/esm/core/react/wrapper.mjs +58 -1
  48. package/dist/esm/core/server/federatedCss.mjs +7 -3
  49. package/dist/esm/core/server/requestHandler.mjs +15 -45
  50. package/dist/esm/core/server/requestResponse.mjs +39 -0
  51. package/dist/esm/core/server/routerCleanup.mjs +11 -4
  52. package/dist/esm/core/server/scriptOrder.mjs +11 -8
  53. package/dist/esm/core/server/stream/afterTemplate.mjs +10 -6
  54. package/dist/esm/core/server/stream/template.mjs +3 -3
  55. package/dist/esm/core/server/string/index.mjs +3 -3
  56. package/dist/esm/core/server/string/loadable.mjs +3 -8
  57. package/dist/esm/exports/loadable.mjs +3 -3
  58. package/dist/esm/index.mjs +2 -1
  59. package/dist/esm/module-federation/consume-surface.mjs +158 -0
  60. package/dist/esm/module-federation/distributed-ssr.mjs +81 -0
  61. package/dist/esm/module-federation/index.mjs +6 -0
  62. package/dist/esm/module-federation/last-known-good.mjs +80 -0
  63. package/dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs +100 -0
  64. package/dist/esm/module-federation/surface-resolution-types.mjs +8 -0
  65. package/dist/esm/router/cli/code/index.mjs +5 -5
  66. package/dist/esm/router/cli/code/nestedRoutes.mjs +3 -0
  67. package/dist/esm/router/cli/code/templates.mjs +3 -2
  68. package/dist/esm/router/cli/constants.mjs +1 -0
  69. package/dist/esm/router/cli/handler.mjs +3 -3
  70. package/dist/esm/router/cli/nestedRoutesSpec.mjs +3 -1
  71. package/dist/esm/router/runtime/hooks.mjs +7 -6
  72. package/dist/esm/router/runtime/internal.mjs +26 -18
  73. package/dist/esm/router/runtime/plugin.mjs +6 -7
  74. package/dist/esm/router/runtime/provider.mjs +56 -13
  75. package/dist/esm-node/boundary-debugger/index.mjs +13 -3
  76. package/dist/esm-node/cli/code.mjs +12 -12
  77. package/dist/esm-node/cli/index.mjs +2 -12
  78. package/dist/esm-node/cli/registry.mjs +1 -0
  79. package/dist/esm-node/cli/ssr/index.mjs +3 -2
  80. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +8 -4
  81. package/dist/esm-node/core/browser/hydrate.mjs +15 -4
  82. package/dist/esm-node/core/browser/index.mjs +15 -17
  83. package/dist/esm-node/core/context/index.mjs +1 -1
  84. package/dist/esm-node/core/context/public.mjs +6 -0
  85. package/dist/esm-node/core/context/runtime.mjs +4 -6
  86. package/dist/esm-node/core/react/wrapper.mjs +58 -1
  87. package/dist/esm-node/core/server/federatedCss.mjs +7 -3
  88. package/dist/esm-node/core/server/requestHandler.mjs +15 -45
  89. package/dist/esm-node/core/server/requestResponse.mjs +40 -0
  90. package/dist/esm-node/core/server/routerCleanup.mjs +11 -4
  91. package/dist/esm-node/core/server/scriptOrder.mjs +11 -8
  92. package/dist/esm-node/core/server/stream/afterTemplate.mjs +10 -6
  93. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +2 -2
  94. package/dist/esm-node/core/server/stream/template.mjs +3 -3
  95. package/dist/esm-node/core/server/string/index.mjs +3 -3
  96. package/dist/esm-node/core/server/string/loadable.mjs +5 -10
  97. package/dist/esm-node/exports/loadable.mjs +3 -3
  98. package/dist/esm-node/index.mjs +2 -1
  99. package/dist/esm-node/module-federation/consume-surface.mjs +159 -0
  100. package/dist/esm-node/module-federation/distributed-ssr.mjs +82 -0
  101. package/dist/esm-node/module-federation/index.mjs +6 -0
  102. package/dist/esm-node/module-federation/last-known-good.mjs +81 -0
  103. package/dist/esm-node/module-federation/manifest-recovery-runtime-plugin.mjs +101 -0
  104. package/dist/esm-node/module-federation/surface-resolution-types.mjs +9 -0
  105. package/dist/esm-node/router/cli/code/index.mjs +5 -5
  106. package/dist/esm-node/router/cli/code/nestedRoutes.mjs +3 -0
  107. package/dist/esm-node/router/cli/code/templates.mjs +3 -2
  108. package/dist/esm-node/router/cli/constants.mjs +1 -0
  109. package/dist/esm-node/router/cli/handler.mjs +3 -3
  110. package/dist/esm-node/router/cli/index.mjs +2 -2
  111. package/dist/esm-node/router/cli/nestedRoutesSpec.mjs +3 -1
  112. package/dist/esm-node/router/runtime/hooks.mjs +7 -6
  113. package/dist/esm-node/router/runtime/internal.mjs +26 -18
  114. package/dist/esm-node/router/runtime/plugin.mjs +6 -7
  115. package/dist/esm-node/router/runtime/provider.mjs +56 -13
  116. package/dist/types/boundary-debugger/index.d.ts +1 -1
  117. package/dist/types/cli/registry.d.ts +2 -0
  118. package/dist/types/common.d.ts +8 -1
  119. package/dist/types/core/browser/hydrate.d.ts +2 -1
  120. package/dist/types/core/browser/index.d.ts +4 -1
  121. package/dist/types/core/context/index.d.ts +26 -10
  122. package/dist/types/core/context/monitors/default.d.ts +10 -2
  123. package/dist/types/core/context/monitors/index.d.ts +1 -1
  124. package/dist/types/core/context/monitors/index.server.d.ts +2 -2
  125. package/dist/types/core/context/public.d.ts +27 -0
  126. package/dist/types/core/context/runtime.d.ts +12 -22
  127. package/dist/types/core/react/index.d.ts +1 -1
  128. package/dist/types/core/server/requestResponse.d.ts +15 -0
  129. package/dist/types/core/server/routerCleanup.d.ts +2 -1
  130. package/dist/types/core/server/scriptOrder.d.ts +1 -1
  131. package/dist/types/core/server/stream/shared.d.ts +2 -2
  132. package/dist/types/core/server/string/loadable.d.ts +0 -2
  133. package/dist/types/exports/head.d.ts +1 -1
  134. package/dist/types/index.d.ts +5 -5
  135. package/dist/types/internal.d.ts +0 -1
  136. package/dist/types/module-federation/consume-surface.d.ts +104 -0
  137. package/dist/types/module-federation/distributed-ssr.d.ts +61 -0
  138. package/dist/types/module-federation/index.d.ts +6 -0
  139. package/dist/types/module-federation/last-known-good.d.ts +72 -0
  140. package/dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts +25 -0
  141. package/dist/types/module-federation/surface-resolution-types.d.ts +23 -0
  142. package/dist/types/router/cli/constants.d.ts +1 -0
  143. package/dist/types/router/runtime/hooks.d.ts +10 -6
  144. package/dist/types/router/runtime/internal.d.ts +13 -3
  145. package/dist/types/router/runtime/plugin.d.ts +1 -1
  146. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  147. package/dist/types/router/runtime/provider.d.ts +28 -11
  148. package/dist/types/router/runtime/types.d.ts +27 -5
  149. package/package.json +47 -27
  150. package/dist/cjs/exports/tanstack-router.js +0 -83
  151. package/dist/esm/exports/tanstack-router.mjs +0 -30
  152. package/dist/esm-node/exports/tanstack-router.mjs +0 -31
  153. package/dist/types/exports/tanstack-router.d.ts +0 -88
@@ -1,30 +0,0 @@
1
- import { createElement } from "react";
2
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
3
- function readCompatBindings() {
4
- return globalThis[COMPAT_BINDINGS_SLOT];
5
- }
6
- function resolveCompatBindings(exportName) {
7
- const bindings = readCompatBindings();
8
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
9
- return bindings;
10
- }
11
- const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
12
- const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
13
- const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
14
- const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
15
- function useFetcher() {
16
- return resolveCompatBindings('useFetcher').useFetcher();
17
- }
18
- function RouteActionResponseErrorPlaceholder() {}
19
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
20
- construct (_target, args) {
21
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
22
- return new RealError(...args);
23
- },
24
- get (target, property, receiver) {
25
- const RealError = readCompatBindings()?.RouteActionResponseError;
26
- if (void 0 !== RealError) return Reflect.get(RealError, property);
27
- return Reflect.get(target, property, receiver);
28
- }
29
- });
30
- export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
@@ -1,31 +0,0 @@
1
- import "node:module";
2
- import { createElement } from "react";
3
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
4
- function readCompatBindings() {
5
- return globalThis[COMPAT_BINDINGS_SLOT];
6
- }
7
- function resolveCompatBindings(exportName) {
8
- const bindings = readCompatBindings();
9
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
10
- return bindings;
11
- }
12
- const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
13
- const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
14
- const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
15
- const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
16
- function useFetcher() {
17
- return resolveCompatBindings('useFetcher').useFetcher();
18
- }
19
- function RouteActionResponseErrorPlaceholder() {}
20
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
21
- construct (_target, args) {
22
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
23
- return new RealError(...args);
24
- },
25
- get (target, property, receiver) {
26
- const RealError = readCompatBindings()?.RouteActionResponseError;
27
- if (void 0 !== RealError) return Reflect.get(RealError, property);
28
- return Reflect.get(target, property, receiver);
29
- }
30
- });
31
- export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
@@ -1,88 +0,0 @@
1
- /**
2
- * @deprecated Legacy alias kept so the published `@modern-js/runtime/tanstack-router`
3
- * subpath keeps resolving. Use `@modern-js/plugin-tanstack/runtime` instead.
4
- *
5
- * Only the Modern.js specific `Link`, `NavLink`, `Outlet`, `Form`,
6
- * `useFetcher` and `RouteActionResponseError` bindings are still exported from
7
- * here for compatibility. They are thin delegates: the real implementations
8
- * live in `@modern-js/plugin-tanstack` and are looked up at use time through a
9
- * `Symbol.for` slot that '@modern-js/plugin-tanstack/runtime' populates on
10
- * import. (`@modern-js/runtime` cannot import `@modern-js/plugin-tanstack`
11
- * directly — the package dependency points the other way.)
12
- */
13
- import type React from 'react';
14
- export type PrefetchBehavior = 'intent' | 'render' | 'viewport' | 'none';
15
- export type LinkProps<_TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
16
- prefetch?: PrefetchBehavior;
17
- from?: TFrom;
18
- mask?: {
19
- from?: TMaskFrom;
20
- to?: TMaskTo;
21
- };
22
- params?: unknown;
23
- search?: unknown;
24
- to?: TTo;
25
- };
26
- export type NavLinkProps<TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
27
- type LinkComponent = <TRouter = unknown, const TFrom extends string = string, const TTo extends string | undefined = undefined, const TMaskFrom extends string = TFrom, const TMaskTo extends string = ''>(props: LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>) => React.ReactElement;
28
- export type SubmitOptions = {
29
- action?: string;
30
- method?: string;
31
- encType?: string;
32
- };
33
- export type FetcherState = 'idle' | 'submitting' | 'loading';
34
- export type FetcherSubmitOptions = SubmitOptions;
35
- export type FormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'action'> & {
36
- action?: string;
37
- onSubmit?: React.FormEventHandler<HTMLFormElement>;
38
- reloadDocument?: boolean;
39
- };
40
- type SubmitTarget = HTMLFormElement | FormData | URLSearchParams | Record<string, string | number | boolean | null | undefined>;
41
- export type Fetcher = {
42
- state: FetcherState;
43
- data: unknown;
44
- error: unknown;
45
- Form: React.ComponentType<FormProps>;
46
- submit: (target: SubmitTarget, options?: FetcherSubmitOptions) => Promise<void>;
47
- };
48
- export interface RouteActionResponseError<TData = unknown> extends Error {
49
- readonly response: Response;
50
- readonly data: TData;
51
- }
52
- interface RouteActionResponseErrorConstructor {
53
- new <TData = unknown>(response: Response, data: TData): RouteActionResponseError<TData>;
54
- readonly prototype: RouteActionResponseError<unknown>;
55
- }
56
- /**
57
- * @deprecated Import `Link` from `@modern-js/plugin-tanstack/runtime` instead.
58
- */
59
- export declare const Link: LinkComponent;
60
- /**
61
- * @deprecated Import `NavLink` from `@modern-js/plugin-tanstack/runtime` instead.
62
- */
63
- export declare const NavLink: LinkComponent;
64
- /**
65
- * @deprecated Import `Outlet` from `@modern-js/plugin-tanstack/runtime` instead.
66
- */
67
- export declare const Outlet: React.ComponentType;
68
- /**
69
- * @deprecated Import `Form` from `@modern-js/plugin-tanstack/runtime` instead.
70
- */
71
- export declare const Form: React.ComponentType<FormProps>;
72
- /**
73
- * @deprecated Import `useFetcher` from `@modern-js/plugin-tanstack/runtime`
74
- * instead.
75
- */
76
- export declare function useFetcher(): Fetcher;
77
- /**
78
- * @deprecated Import `RouteActionResponseError` from
79
- * `@modern-js/plugin-tanstack/runtime` instead.
80
- *
81
- * Delegates to the real class registered by '@modern-js/plugin-tanstack/runtime'
82
- * so that `instanceof` checks observe the same class identity. Before the
83
- * registration happens no instance can exist, so `instanceof` is gracefully
84
- * `false`; constructing without @modern-js/plugin-tanstack installed throws an
85
- * actionable error.
86
- */
87
- export declare const RouteActionResponseError: RouteActionResponseErrorConstructor;
88
- export {};