@modern-js/runtime 2.48.0 → 2.48.2
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/cjs/ssr/cli/loadable-bundler-plugin.js +0 -3
- package/dist/cjs/ssr/index.js +3 -2
- package/dist/cjs/ssr/react/prerender/index.js +5 -7
- package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -1
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +2 -13
- package/dist/cjs/ssr/serverRender/renderToString/loadable.js +0 -3
- package/dist/cjs/ssr/serverRender/renderToString/render.js +8 -6
- package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +1 -3
- package/dist/esm/ssr/cli/loadable-bundler-plugin.js +63 -77
- package/dist/esm/ssr/index.js +4 -3
- package/dist/esm/ssr/react/prerender/index.js +20 -27
- package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -1
- package/dist/esm/ssr/serverRender/renderToString/entry.js +177 -202
- package/dist/esm/ssr/serverRender/renderToString/loadable.js +197 -217
- package/dist/esm/ssr/serverRender/renderToString/render.js +40 -46
- package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +9 -19
- package/dist/esm-node/ssr/cli/loadable-bundler-plugin.js +0 -3
- package/dist/esm-node/ssr/index.js +3 -2
- package/dist/esm-node/ssr/react/prerender/index.js +5 -7
- package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -1
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +2 -13
- package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +0 -3
- package/dist/esm-node/ssr/serverRender/renderToString/render.js +8 -6
- package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +1 -3
- package/dist/types/ssr/serverRender/renderToString/render.d.ts +4 -2
- package/dist/types/ssr/serverRender/types.d.ts +2 -0
- package/package.json +10 -10
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
1
|
import React from "react";
|
|
3
2
|
import { serializeJson } from "@modern-js/runtime-utils/node";
|
|
4
|
-
import ReactHelmet from "react-helmet";
|
|
5
3
|
import { time } from "@modern-js/runtime-utils/time";
|
|
6
4
|
import { serializeErrors } from "../../../router/runtime/utils";
|
|
7
5
|
import helmetReplace from "../helmet";
|
|
@@ -70,7 +68,7 @@ class Entry {
|
|
|
70
68
|
createReplaceHtml(this.result.html || ""),
|
|
71
69
|
...this.htmlModifiers
|
|
72
70
|
]);
|
|
73
|
-
const helmetData =
|
|
71
|
+
const helmetData = this.result.helmet;
|
|
74
72
|
return helmetData ? helmetReplace(html, helmetData) : html;
|
|
75
73
|
}
|
|
76
74
|
async prefetch(context) {
|
|
@@ -93,7 +91,7 @@ class Entry {
|
|
|
93
91
|
ssr: true
|
|
94
92
|
})
|
|
95
93
|
});
|
|
96
|
-
html = await createRender(App).addCollector(createStyledCollector(this.result)).addCollector(createLoadableCollector({
|
|
94
|
+
html = await createRender(App, this.result).addCollector(createStyledCollector(this.result)).addCollector(createLoadableCollector({
|
|
97
95
|
stats: ssrContext.loadableStats,
|
|
98
96
|
result: this.result,
|
|
99
97
|
entryName: this.entryName,
|
|
@@ -126,15 +124,6 @@ class Entry {
|
|
|
126
124
|
return ssrDataScripts;
|
|
127
125
|
}
|
|
128
126
|
constructor(options) {
|
|
129
|
-
_define_property(this, "entryName", void 0);
|
|
130
|
-
_define_property(this, "result", void 0);
|
|
131
|
-
_define_property(this, "tracker", void 0);
|
|
132
|
-
_define_property(this, "template", void 0);
|
|
133
|
-
_define_property(this, "App", void 0);
|
|
134
|
-
_define_property(this, "pluginConfig", void 0);
|
|
135
|
-
_define_property(this, "htmlModifiers", void 0);
|
|
136
|
-
_define_property(this, "nonce", void 0);
|
|
137
|
-
_define_property(this, "routeManifest", void 0);
|
|
138
127
|
const { ctx, config } = options;
|
|
139
128
|
const { entryName, template, nonce } = ctx;
|
|
140
129
|
this.template = template;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
1
|
import { ChunkExtractor } from "@loadable/server";
|
|
3
2
|
import { attributesToString, checkIsNode } from "../utils";
|
|
4
3
|
const extname = (uri) => {
|
|
@@ -127,8 +126,6 @@ class LoadableCollector {
|
|
|
127
126
|
};
|
|
128
127
|
}
|
|
129
128
|
constructor(options) {
|
|
130
|
-
_define_property(this, "options", void 0);
|
|
131
|
-
_define_property(this, "extractor", void 0);
|
|
132
129
|
this.options = options;
|
|
133
130
|
}
|
|
134
131
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
1
|
import ReactDomServer from "react-dom/server";
|
|
2
|
+
import ReactHelmet from "react-helmet";
|
|
3
3
|
class Render {
|
|
4
4
|
addCollector(collector) {
|
|
5
5
|
this.collectors.push(collector);
|
|
@@ -8,17 +8,19 @@ class Render {
|
|
|
8
8
|
async finish() {
|
|
9
9
|
const App = this.collectors.reduce((pre, collector) => collector.collect(pre), this.App);
|
|
10
10
|
const html = ReactDomServer.renderToString(App);
|
|
11
|
+
const helmetData = ReactHelmet.renderStatic();
|
|
12
|
+
this.renderResult.helmet = helmetData;
|
|
11
13
|
await Promise.all(this.collectors.map((component) => component.effect()));
|
|
12
14
|
return html;
|
|
13
15
|
}
|
|
14
|
-
constructor(App) {
|
|
15
|
-
|
|
16
|
-
_define_property(this, "collectors", []);
|
|
16
|
+
constructor(App, result) {
|
|
17
|
+
this.collectors = [];
|
|
17
18
|
this.App = App;
|
|
19
|
+
this.renderResult = result;
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
|
-
function createRender(App) {
|
|
21
|
-
return new Render(App);
|
|
22
|
+
function createRender(App, result) {
|
|
23
|
+
return new Render(App, result);
|
|
22
24
|
}
|
|
23
25
|
export {
|
|
24
26
|
createRender
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
1
|
import { ServerStyleSheet } from "styled-components";
|
|
3
2
|
class StyledCollector {
|
|
4
3
|
collect(comopnent) {
|
|
@@ -9,8 +8,7 @@ class StyledCollector {
|
|
|
9
8
|
this.result.chunksMap.css += css;
|
|
10
9
|
}
|
|
11
10
|
constructor(result) {
|
|
12
|
-
|
|
13
|
-
_define_property(this, "result", void 0);
|
|
11
|
+
this.sheet = new ServerStyleSheet();
|
|
14
12
|
this.result = result;
|
|
15
13
|
}
|
|
16
14
|
}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
|
+
import { RenderResult } from '../types';
|
|
2
3
|
export interface Collector {
|
|
3
4
|
collect: (comopnent: ReactElement) => ReactElement;
|
|
4
5
|
effect: () => void | Promise<void>;
|
|
5
6
|
}
|
|
6
7
|
declare class Render {
|
|
7
8
|
private App;
|
|
9
|
+
private renderResult;
|
|
8
10
|
private collectors;
|
|
9
|
-
constructor(App: ReactElement);
|
|
11
|
+
constructor(App: ReactElement, result: RenderResult);
|
|
10
12
|
addCollector(collector: Collector): this;
|
|
11
13
|
finish(): Promise<string>;
|
|
12
14
|
}
|
|
13
|
-
export declare function createRender(App: ReactElement): Render;
|
|
15
|
+
export declare function createRender(App: ReactElement, result: RenderResult): Render;
|
|
14
16
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ServerUserConfig } from '@modern-js/app-tools';
|
|
3
3
|
import type { BaseSSRServerContext } from '@modern-js/types';
|
|
4
|
+
import type { HelmetData } from 'react-helmet';
|
|
4
5
|
import type { RuntimeContext } from '../../core';
|
|
5
6
|
import type { BuildHtmlCb } from './renderToString/buildHtml';
|
|
6
7
|
import type { SSRTracker } from './tracker';
|
|
@@ -12,6 +13,7 @@ export declare enum RenderLevel {
|
|
|
12
13
|
export type RenderResult = {
|
|
13
14
|
renderLevel: RenderLevel;
|
|
14
15
|
html?: string;
|
|
16
|
+
helmet?: HelmetData;
|
|
15
17
|
chunksMap: {
|
|
16
18
|
js: string;
|
|
17
19
|
css: string;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.48.
|
|
18
|
+
"version": "2.48.2",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=14.17.6"
|
|
21
21
|
},
|
|
@@ -171,10 +171,10 @@
|
|
|
171
171
|
"react-side-effect": "^2.1.1",
|
|
172
172
|
"styled-components": "^5.3.1",
|
|
173
173
|
"@swc/helpers": "0.5.3",
|
|
174
|
-
"@modern-js/
|
|
175
|
-
"@modern-js/plugin": "2.48.
|
|
176
|
-
"@modern-js/
|
|
177
|
-
"@modern-js/runtime-utils": "2.48.
|
|
174
|
+
"@modern-js/utils": "2.48.2",
|
|
175
|
+
"@modern-js/plugin": "2.48.2",
|
|
176
|
+
"@modern-js/types": "2.48.2",
|
|
177
|
+
"@modern-js/runtime-utils": "2.48.2"
|
|
178
178
|
},
|
|
179
179
|
"peerDependencies": {
|
|
180
180
|
"react": ">=17",
|
|
@@ -195,11 +195,11 @@
|
|
|
195
195
|
"ts-jest": "^29.1.0",
|
|
196
196
|
"typescript": "^5",
|
|
197
197
|
"webpack": "^5.89.0",
|
|
198
|
-
"@modern-js/app-tools": "2.48.
|
|
199
|
-
"@modern-js/core": "2.48.
|
|
200
|
-
"@modern-js/server-core": "2.48.
|
|
201
|
-
"@scripts/
|
|
202
|
-
"@scripts/
|
|
198
|
+
"@modern-js/app-tools": "2.48.2",
|
|
199
|
+
"@modern-js/core": "2.48.2",
|
|
200
|
+
"@modern-js/server-core": "2.48.2",
|
|
201
|
+
"@scripts/jest-config": "2.48.2",
|
|
202
|
+
"@scripts/build": "2.48.2"
|
|
203
203
|
},
|
|
204
204
|
"sideEffects": false,
|
|
205
205
|
"publishConfig": {
|