@modern-js/runtime 2.5.0-alpha.0 → 2.6.0

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 (135) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/cli/index.js +9 -0
  3. package/dist/cjs/common.js +0 -6
  4. package/dist/cjs/core/app-config.js +5 -1
  5. package/dist/cjs/core/compatible.js +8 -7
  6. package/dist/cjs/core/loader/index.js +4 -0
  7. package/dist/cjs/core/loader/loaderManager.js +6 -0
  8. package/dist/cjs/core/loader/useLoader.js +4 -0
  9. package/dist/cjs/document/Body.js +6 -8
  10. package/dist/cjs/document/DocumentContext.js +4 -0
  11. package/dist/cjs/document/DocumentStructureContext.js +4 -0
  12. package/dist/cjs/document/Head.js +7 -11
  13. package/dist/cjs/document/Html.js +24 -22
  14. package/dist/cjs/document/Links.js +1 -3
  15. package/dist/cjs/document/Root.js +8 -14
  16. package/dist/cjs/document/Script.js +5 -7
  17. package/dist/cjs/document/Scripts.js +1 -3
  18. package/dist/cjs/document/cli/index.js +7 -1
  19. package/dist/cjs/exports/head.js +4 -0
  20. package/dist/cjs/exports/loadable.js +4 -0
  21. package/dist/cjs/exports/styled.js +4 -0
  22. package/dist/cjs/router/cli/index.js +3 -7
  23. package/dist/cjs/router/index.js +4 -0
  24. package/dist/cjs/router/runtime/DefaultNotFound.js +13 -10
  25. package/dist/cjs/router/runtime/index.js +3 -52
  26. package/dist/cjs/router/runtime/plugin.js +6 -14
  27. package/dist/cjs/router/runtime/plugin.node.js +54 -10
  28. package/dist/cjs/router/runtime/utils.js +80 -28
  29. package/dist/cjs/router/runtime/withRouter.js +9 -6
  30. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +4 -0
  31. package/dist/cjs/ssr/cli/index.js +4 -0
  32. package/dist/cjs/ssr/index.js +10 -24
  33. package/dist/cjs/ssr/index.node.js +4 -0
  34. package/dist/cjs/ssr/prefetch.js +3 -6
  35. package/dist/cjs/ssr/react/nossr/index.js +4 -0
  36. package/dist/cjs/ssr/react/prerender/index.js +4 -0
  37. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +19 -5
  38. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +5 -0
  39. package/dist/cjs/ssr/serverRender/renderToStream/index.js +4 -0
  40. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +7 -22
  41. package/dist/cjs/ssr/serverRender/renderToStream/template.js +1 -2
  42. package/dist/cjs/ssr/serverRender/renderToString/entry.js +14 -12
  43. package/dist/cjs/ssr/serverRender/renderToString/index.js +4 -0
  44. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +1 -1
  45. package/dist/cjs/ssr/serverRender/time.worker.js +1 -1
  46. package/dist/cjs/ssr/serverRender/utils.js +1 -1
  47. package/dist/cjs/ssr/utils.js +16 -4
  48. package/dist/cjs/state/index.js +4 -0
  49. package/dist/cjs/state/plugins.js +4 -0
  50. package/dist/cjs/state/runtime/index.js +4 -0
  51. package/dist/cjs/state/runtime/plugin.js +5 -7
  52. package/dist/esm/cli/index.js +5 -1
  53. package/dist/esm/common.js +1 -3
  54. package/dist/esm/core/app-config.js +3 -1
  55. package/dist/esm/core/compatible.js +3 -1
  56. package/dist/esm/core/loader/loaderManager.js +3 -1
  57. package/dist/esm/document/cli/index.js +3 -1
  58. package/dist/esm/router/cli/index.js +1 -5
  59. package/dist/esm/router/runtime/index.js +2 -3
  60. package/dist/esm/router/runtime/plugin.js +2 -5
  61. package/dist/esm/router/runtime/plugin.node.js +65 -8
  62. package/dist/esm/router/runtime/utils.js +106 -5
  63. package/dist/esm/ssr/prefetch.js +1 -0
  64. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +39 -8
  65. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
  66. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +8 -19
  67. package/dist/esm/ssr/serverRender/renderToStream/template.js +1 -2
  68. package/dist/esm/ssr/serverRender/renderToString/entry.js +29 -16
  69. package/dist/esm/ssr/serverRender/time.worker.js +1 -1
  70. package/dist/esm/ssr/utils.js +6 -4
  71. package/dist/esm-node/cli/index.js +5 -0
  72. package/dist/esm-node/common.js +0 -4
  73. package/dist/esm-node/core/app-config.js +5 -1
  74. package/dist/esm-node/core/compatible.js +4 -7
  75. package/dist/esm-node/core/loader/loaderManager.js +2 -0
  76. package/dist/esm-node/document/Body.js +6 -8
  77. package/dist/esm-node/document/Head.js +7 -11
  78. package/dist/esm-node/document/Html.js +24 -22
  79. package/dist/esm-node/document/Links.js +1 -3
  80. package/dist/esm-node/document/Root.js +8 -14
  81. package/dist/esm-node/document/Script.js +5 -7
  82. package/dist/esm-node/document/Scripts.js +1 -3
  83. package/dist/esm-node/document/cli/index.js +3 -1
  84. package/dist/esm-node/router/cli/index.js +2 -5
  85. package/dist/esm-node/router/runtime/DefaultNotFound.js +13 -10
  86. package/dist/esm-node/router/runtime/index.js +2 -51
  87. package/dist/esm-node/router/runtime/plugin.js +2 -14
  88. package/dist/esm-node/router/runtime/plugin.node.js +53 -10
  89. package/dist/esm-node/router/runtime/utils.js +80 -22
  90. package/dist/esm-node/router/runtime/withRouter.js +9 -6
  91. package/dist/esm-node/ssr/index.js +6 -24
  92. package/dist/esm-node/ssr/prefetch.js +3 -6
  93. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +9 -5
  94. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
  95. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +7 -22
  96. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +1 -2
  97. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +10 -12
  98. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +1 -1
  99. package/dist/esm-node/ssr/serverRender/time.worker.js +1 -1
  100. package/dist/esm-node/ssr/serverRender/utils.js +1 -1
  101. package/dist/esm-node/ssr/utils.js +6 -4
  102. package/dist/esm-node/state/runtime/plugin.js +1 -7
  103. package/dist/types/common.d.ts +1 -3
  104. package/dist/types/core/index.d.ts +0 -1
  105. package/dist/types/core/loader/index.d.ts +2 -1
  106. package/dist/types/core/loader/useLoader.d.ts +15 -1
  107. package/dist/types/router/runtime/index.d.ts +2 -4
  108. package/dist/types/runtime-context.d.ts +0 -2
  109. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -2
  110. package/dist/types/ssr/serverRender/renderToString/type.d.ts +1 -0
  111. package/package.json +17 -12
  112. package/dist/cjs/core/types.js +0 -15
  113. package/dist/cjs/router/index.node.js +0 -31
  114. package/dist/cjs/router/runtime/DeferredDataScripts.js +0 -148
  115. package/dist/cjs/ssr/prefetch.worker.js +0 -67
  116. package/dist/cjs/ssr/serverRender/renderToStream/index.worker.js +0 -64
  117. package/dist/cjs/ssr/serverRender/renderToString/index.worker.js +0 -58
  118. package/dist/esm/core/types.js +0 -1
  119. package/dist/esm/router/index.node.js +0 -4
  120. package/dist/esm/router/runtime/DeferredDataScripts.js +0 -158
  121. package/dist/esm/ssr/prefetch.worker.js +0 -191
  122. package/dist/esm/ssr/serverRender/renderToStream/index.worker.js +0 -32
  123. package/dist/esm/ssr/serverRender/renderToString/index.worker.js +0 -167
  124. package/dist/esm-node/core/types.js +0 -0
  125. package/dist/esm-node/router/index.node.js +0 -7
  126. package/dist/esm-node/router/runtime/DeferredDataScripts.js +0 -131
  127. package/dist/esm-node/ssr/prefetch.worker.js +0 -46
  128. package/dist/esm-node/ssr/serverRender/renderToStream/index.worker.js +0 -35
  129. package/dist/esm-node/ssr/serverRender/renderToString/index.worker.js +0 -29
  130. package/dist/types/core/types.d.ts +0 -21
  131. package/dist/types/router/index.node.d.ts +0 -3
  132. package/dist/types/router/runtime/DeferredDataScripts.d.ts +0 -8
  133. package/dist/types/ssr/prefetch.worker.d.ts +0 -13
  134. package/dist/types/ssr/serverRender/renderToStream/index.worker.d.ts +0 -6
  135. package/dist/types/ssr/serverRender/renderToString/index.worker.d.ts +0 -6
@@ -1,46 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { renderToStaticMarkup } from "react-dom/server";
3
- import { ChunkExtractor } from "@loadable/server";
4
- const prefetch = async (App, context) => {
5
- var _a;
6
- const { ssrContext } = context;
7
- const { loadableStats } = ssrContext;
8
- if (loadableStats) {
9
- const extractor = new ChunkExtractor({
10
- stats: loadableStats,
11
- entrypoints: [ssrContext.entryName].filter(Boolean)
12
- });
13
- renderToStaticMarkup(extractor.collectChunks(/* @__PURE__ */ jsx(App, {
14
- context
15
- })));
16
- } else {
17
- renderToStaticMarkup(/* @__PURE__ */ jsx(App, {
18
- context
19
- }));
20
- }
21
- if (!context.loaderManager.hasPendingLoaders()) {
22
- return {
23
- initialData: context.initialData,
24
- i18nData: context.__i18nData__
25
- };
26
- }
27
- const loadersData = await context.loaderManager.awaitPendingLoaders();
28
- Object.keys(loadersData).forEach((id) => {
29
- const data = loadersData[id];
30
- if (data._error) {
31
- ssrContext.logger.error("App Prefetch Loader", data._error);
32
- ssrContext.metrics.emitCounter("app.prefetch.loader.error", 1);
33
- delete data._error;
34
- }
35
- });
36
- return {
37
- loadersData,
38
- initialData: context.initialData,
39
- i18nData: context.__i18nData__,
40
- storeState: (_a = context == null ? void 0 : context.store) == null ? void 0 : _a.getState()
41
- };
42
- };
43
- var prefetch_worker_default = prefetch;
44
- export {
45
- prefetch_worker_default as default
46
- };
@@ -1,35 +0,0 @@
1
- import { createElement } from "react";
2
- import { PreRender } from "../../react/prerender";
3
- import { time } from "../time";
4
- import renderToPipe from "./renderToPipe";
5
- const render = ({ App, context }) => {
6
- const { ssrContext } = context;
7
- if (!ssrContext) {
8
- throw new Error(
9
- 'The "ssrContext" must not be undefined, but received undefined'
10
- );
11
- }
12
- const end = time();
13
- const rootElement = createElement(App, {
14
- context: Object.assign(context || {}, {
15
- ssr: true
16
- })
17
- });
18
- const pipe = renderToPipe(rootElement, context, {
19
- onShellReady() {
20
- const cacheConfig = PreRender.config();
21
- if (cacheConfig) {
22
- ssrContext.cacheConfig = cacheConfig;
23
- }
24
- },
25
- onAllReady() {
26
- const cost = end();
27
- ssrContext.logger.debug("App Render To HTML cost = %d ms", cost);
28
- ssrContext.metrics.emitTimer("app.render.html.cost", cost);
29
- }
30
- });
31
- return pipe;
32
- };
33
- export {
34
- render
35
- };
@@ -1,29 +0,0 @@
1
- import { PreRender } from "../../react/prerender";
2
- import { time } from "../time";
3
- import SSREntry from "./entry";
4
- const render = async ({
5
- App,
6
- context,
7
- config
8
- }) => {
9
- const ssrContext = context.ssrContext;
10
- const entry = new SSREntry({
11
- ctx: ssrContext,
12
- App,
13
- config
14
- });
15
- entry.metrics.emitCounter("app.visit.count", 1);
16
- const end = time();
17
- const html = await entry.renderToHtml(context);
18
- const cost = end();
19
- entry.logger.info("App Render Total cost = %d ms", cost);
20
- entry.metrics.emitTimer("app.render.cost", cost);
21
- const cacheConfig = PreRender.config();
22
- if (cacheConfig) {
23
- context.ssrContext.cacheConfig = cacheConfig;
24
- }
25
- return html;
26
- };
27
- export {
28
- render
29
- };
@@ -1,21 +0,0 @@
1
- import type { LoaderResult } from './loader/loaderManager';
2
- declare global {
3
- interface Window {
4
- _SSR_DATA?: SSRContainer;
5
- _ROUTER_DATA?: RouterSSRData;
6
- }
7
- }
8
- export interface SSRData {
9
- loadersData: Record<string, LoaderResult | undefined>;
10
- initialData?: Record<string, unknown>;
11
- storeState?: any;
12
- }
13
- export interface RouteData {
14
- [routeId: string]: any;
15
- }
16
- export interface RouterSSRData {
17
- loaderData: RouteData;
18
- }
19
- export interface SSRContainer {
20
- data?: SSRData;
21
- }
@@ -1,3 +0,0 @@
1
- export { routerPlugin as router } from './runtime/plugin.node';
2
- export { routerPlugin as default } from './runtime/plugin.node';
3
- export * from './runtime';
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
-
3
- /**
4
- * DeferredDataScripts only renders in server side,
5
- * it doesn't need to be hydrated in client side.
6
- */
7
- declare const DeferredDataScripts: () => JSX.Element;
8
- export default DeferredDataScripts;
@@ -1,13 +0,0 @@
1
- import { RuntimeContext } from '../core';
2
- declare const prefetch: (App: React.ComponentType<any>, context: RuntimeContext) => Promise<{
3
- initialData: Record<string, unknown> | undefined;
4
- i18nData: any;
5
- loadersData?: undefined;
6
- storeState?: undefined;
7
- } | {
8
- loadersData: Record<string, import("../core/loader/loaderManager").LoaderResult>;
9
- initialData: Record<string, unknown> | undefined;
10
- i18nData: any;
11
- storeState: any;
12
- }>;
13
- export default prefetch;
@@ -1,6 +0,0 @@
1
- /// <reference types="node" />
2
- import { ServerRenderOptions } from '../types';
3
- export declare const render: ({
4
- App,
5
- context
6
- }: ServerRenderOptions) => import("./renderToPipe").Pipe<import("stream").Writable>;
@@ -1,6 +0,0 @@
1
- import { ServerRenderOptions } from '../types';
2
- export declare const render: ({
3
- App,
4
- context,
5
- config
6
- }: ServerRenderOptions) => Promise<string>;