ssr-plugin-react 6.2.50 → 6.2.51
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/.turbo/turbo-build.log +3 -3
- package/CHANGELOG.md +12 -0
- package/README.md +8 -0
- package/cjs/entry/server-entry.d.ts +3 -4
- package/cjs/entry/server-entry.d.ts.map +1 -1
- package/cjs/entry/server-entry.js +6 -3
- package/cjs/entry/server-entry.js.map +1 -1
- package/esm/entry/server-entry.d.ts +3 -4
- package/esm/entry/server-entry.d.ts.map +1 -1
- package/esm/entry/server-entry.js +5 -3
- package/esm/entry/server-entry.js.map +1 -1
- package/package.json +1 -1
- package/src/entry/server-entry.tsx +6 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
ssr-plugin-react:build: cache hit, replaying output
|
|
1
|
+
ssr-plugin-react:build: cache hit, replaying output c77da20edee4271b
|
|
2
2
|
ssr-plugin-react:build:
|
|
3
|
-
ssr-plugin-react:build: > ssr-plugin-react@6.2.
|
|
3
|
+
ssr-plugin-react:build: > ssr-plugin-react@6.2.51 build /home/runner/work/ssr/ssr/packages/plugin-react
|
|
4
4
|
ssr-plugin-react:build: > concurrently "tsc -p ./tsconfig.cjs.json " " tsc -p ./tsconfig.esm.json"
|
|
5
5
|
ssr-plugin-react:build:
|
|
6
|
-
ssr-plugin-react:build: [0] tsc -p ./tsconfig.cjs.json exited with code 0
|
|
7
6
|
ssr-plugin-react:build: [1] tsc -p ./tsconfig.esm.json exited with code 0
|
|
7
|
+
ssr-plugin-react:build: [0] tsc -p ./tsconfig.cjs.json exited with code 0
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [6.2.51](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.50...plugin-react@6.2.51) (2022-09-25)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* move render app logic in server-render not in core ([8638ab2](https://github.com/zhangyuang/ssr/commit/8638ab2970bbd9e47598d93e7038f8f599ea82f5))
|
|
7
|
+
* support ssg ([27e2c7c](https://github.com/zhangyuang/ssr/commit/27e2c7cfb88ce6fa07f393a231d22a1d60b36fd2))
|
|
8
|
+
* update vue2/react logic in plugin ([e2d576b](https://github.com/zhangyuang/ssr/commit/e2d576b92bf8a0e9615480c2d7cccb42ad59635d))
|
|
9
|
+
* 完善 ssg 文档 ([384b85a](https://github.com/zhangyuang/ssr/commit/384b85a820043dc9154677ace66e16568d322aca))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
1
13
|
## [6.2.50](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.49...plugin-react@6.2.50) (2022-09-06)
|
|
2
14
|
|
|
3
15
|
|
package/README.md
CHANGED
|
@@ -102,6 +102,9 @@
|
|
|
102
102
|
<td align="center"><a href="https://www.myweimai.com/#sectionOne" target="_blank"><img src="https://img.alicdn.com/tfs/TB16i3VrQT2gK0jSZPcXXcKkpXa-400-400.jpg" width="120" alt="微脉"/><br />
|
|
103
103
|
<a href="https://www.myweimai.com/#sectionOne" target="_bvlank"><sub><b>微脉
|
|
104
104
|
</b></a></td>
|
|
105
|
+
<td align="center"><a href="hhttps://www.xdjy100.com/" target="_blank"><img src="https://res.wx.qq.com/shop/public/4a9526b5-0678-471a-bb98-d8545270f87f.png" width="120" alt="行动教育"/><br />
|
|
106
|
+
<a href="https://www.xdjy100.com/" target="_bvlank"><sub><b>行动教育
|
|
107
|
+
</b></a></td>
|
|
105
108
|
</tr>
|
|
106
109
|
<tr>
|
|
107
110
|
<td align="center" style="height: 100px"><a href="https://www.habisummercamp.com/" target="_blank"><img src="https://res.wx.qq.com/op_res/XXUpF56bDue53vZadoCSPSnqKF3bZqPOQnqsPa_ngEARa0OUIW22pX7eKsftPb6pc5ny62cR_wXM4g5xJ7G3DQ
|
|
@@ -131,6 +134,11 @@
|
|
|
131
134
|
<td align="center"><a href="https://n8n8.cn/" target="_blank"><img src="https://static.jingzhuan.cn/static/portal/logo.png" width="120" alt="经传多赢股票网"/><br /><a href="https://n8n8.cn/" target="_blank"><sub><b>经传多赢股票网
|
|
132
135
|
</b></a></td>
|
|
133
136
|
</tr>
|
|
137
|
+
<tr>
|
|
138
|
+
<td align="center"><a href="https://www.sinovip.cn/home" target="_blank"><img src="https://res.wx.qq.com/shop/public/9e3d374e-5b54-4457-af2f-b457e544adc4.png" width="120" alt="中商全球图书采选平台
|
|
139
|
+
"/><br /><a href="https://www.sinovip.cn/home" target="_blank"><sub><b>中商全球图书采选平台
|
|
140
|
+
</b></a></td>
|
|
141
|
+
</tr>
|
|
134
142
|
</table>
|
|
135
143
|
|
|
136
144
|
## Features
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { StaticRouter } from 'react-router-dom';
|
|
3
1
|
import { ISSRContext, IConfig } from 'ssr-types';
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { Routes } from './create-router';
|
|
3
|
+
declare const serverRender: (ctx: ISSRContext, config: IConfig) => Promise<string | NodeJS.ReadableStream>;
|
|
4
|
+
export { serverRender, Routes };
|
|
6
5
|
//# sourceMappingURL=server-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO,4CA2E5D,CAAA;AAED,OAAO,EACL,YAAY,EACZ,MAAM,EACP,CAAA"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.serverRender = void 0;
|
|
3
|
+
exports.Routes = exports.serverRender = void 0;
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const react_router_dom_1 = require("react-router-dom");
|
|
7
|
+
const server_1 = require("react-dom/server");
|
|
7
8
|
const ssr_common_utils_1 = require("ssr-common-utils");
|
|
8
9
|
const ssr_serialize_javascript_1 = require("ssr-serialize-javascript");
|
|
9
10
|
const create_context_1 = require("_build/create-context");
|
|
10
11
|
const create_router_1 = require("./create-router");
|
|
12
|
+
Object.defineProperty(exports, "Routes", { enumerable: true, get: function () { return create_router_1.Routes; } });
|
|
11
13
|
const { FeRoutes, layoutFetch, state, Layout } = create_router_1.Routes;
|
|
12
14
|
const serverRender = async (ctx, config) => {
|
|
13
15
|
var _a;
|
|
14
|
-
const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix } = config;
|
|
16
|
+
const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix, stream } = config;
|
|
15
17
|
const path = (0, ssr_common_utils_1.normalizePath)(ctx.request.path, prefix);
|
|
16
18
|
const routeItem = (0, ssr_common_utils_1.findRoute)(FeRoutes, path);
|
|
17
19
|
(0, ssr_common_utils_1.setStoreContext)(create_context_1.STORE_CONTEXT);
|
|
@@ -60,7 +62,7 @@ const serverRender = async (ctx, config) => {
|
|
|
60
62
|
__html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${(0, ssr_serialize_javascript_1.serialize)(combineData)}; window.prefix="${prefix}";${clientPrefix ? `window.clientPrefix="${clientPrefix}";` : ''}`
|
|
61
63
|
} });
|
|
62
64
|
// with jsx type error, use createElement here
|
|
63
|
-
|
|
65
|
+
const ele = (0, react_1.createElement)(react_router_dom_1.StaticRouter, {
|
|
64
66
|
location: ctx.request.url,
|
|
65
67
|
basename: prefix === '/' ? undefined : prefix
|
|
66
68
|
}, (0, react_1.createElement)(create_context_1.STORE_CONTEXT.Provider, {
|
|
@@ -73,6 +75,7 @@ const serverRender = async (ctx, config) => {
|
|
|
73
75
|
staticList: staticList,
|
|
74
76
|
injectState: injectState
|
|
75
77
|
}, (0, react_1.createElement)(Component, null))));
|
|
78
|
+
return stream ? (0, server_1.renderToNodeStream)(ele) : (0, server_1.renderToString)(ele);
|
|
76
79
|
};
|
|
77
80
|
exports.serverRender = serverRender;
|
|
78
81
|
//# sourceMappingURL=server-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":";;;AAAA,+BAA8B;AAC9B,iCAAqC;AACrC,uDAA+C;AAC/C,uDAA4J;AAE5J,uEAAoD;AACpD,0DAAgE;AAChE,mDAAwC;
|
|
1
|
+
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { StaticRouter } from 'react-router-dom';
|
|
3
1
|
import { ISSRContext, IConfig } from 'ssr-types';
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { Routes } from './create-router';
|
|
3
|
+
declare const serverRender: (ctx: ISSRContext, config: IConfig) => Promise<string | NodeJS.ReadableStream>;
|
|
4
|
+
export { serverRender, Routes };
|
|
6
5
|
//# sourceMappingURL=server-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO,4CA2E5D,CAAA;AAED,OAAO,EACL,YAAY,EACZ,MAAM,EACP,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { createElement } from 'react';
|
|
3
3
|
import { StaticRouter } from 'react-router-dom';
|
|
4
|
+
import { renderToString, renderToNodeStream } from 'react-dom/server';
|
|
4
5
|
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, reactRefreshFragment, setStoreContext } from 'ssr-common-utils';
|
|
5
6
|
import { serialize } from 'ssr-serialize-javascript';
|
|
6
7
|
import { STORE_CONTEXT as Context } from '_build/create-context';
|
|
@@ -8,7 +9,7 @@ import { Routes } from './create-router';
|
|
|
8
9
|
const { FeRoutes, layoutFetch, state, Layout } = Routes;
|
|
9
10
|
const serverRender = async (ctx, config) => {
|
|
10
11
|
var _a;
|
|
11
|
-
const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix } = config;
|
|
12
|
+
const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix, stream } = config;
|
|
12
13
|
const path = normalizePath(ctx.request.path, prefix);
|
|
13
14
|
const routeItem = findRoute(FeRoutes, path);
|
|
14
15
|
setStoreContext(Context);
|
|
@@ -57,7 +58,7 @@ const serverRender = async (ctx, config) => {
|
|
|
57
58
|
__html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${serialize(combineData)}; window.prefix="${prefix}";${clientPrefix ? `window.clientPrefix="${clientPrefix}";` : ''}`
|
|
58
59
|
} });
|
|
59
60
|
// with jsx type error, use createElement here
|
|
60
|
-
|
|
61
|
+
const ele = createElement(StaticRouter, {
|
|
61
62
|
location: ctx.request.url,
|
|
62
63
|
basename: prefix === '/' ? undefined : prefix
|
|
63
64
|
}, createElement(Context.Provider, {
|
|
@@ -70,6 +71,7 @@ const serverRender = async (ctx, config) => {
|
|
|
70
71
|
staticList: staticList,
|
|
71
72
|
injectState: injectState
|
|
72
73
|
}, createElement(Component, null))));
|
|
74
|
+
return stream ? renderToNodeStream(ele) : renderToString(ele);
|
|
73
75
|
};
|
|
74
|
-
export { serverRender };
|
|
76
|
+
export { serverRender, Routes };
|
|
75
77
|
//# sourceMappingURL=server-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE5J,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;AAEvD,MAAM,YAAY,GAAG,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;;IAC/D,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react'
|
|
2
2
|
import { createElement } from 'react'
|
|
3
3
|
import { StaticRouter } from 'react-router-dom'
|
|
4
|
+
import { renderToString, renderToNodeStream } from 'react-dom/server'
|
|
4
5
|
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, reactRefreshFragment, setStoreContext } from 'ssr-common-utils'
|
|
5
6
|
import { ISSRContext, IConfig, ReactESMPreloadFeRouteItem, DynamicFC, StaticFC } from 'ssr-types'
|
|
6
7
|
import { serialize } from 'ssr-serialize-javascript'
|
|
@@ -10,7 +11,7 @@ import { Routes } from './create-router'
|
|
|
10
11
|
const { FeRoutes, layoutFetch, state, Layout } = Routes
|
|
11
12
|
|
|
12
13
|
const serverRender = async (ctx: ISSRContext, config: IConfig) => {
|
|
13
|
-
const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix } = config
|
|
14
|
+
const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix, stream } = config
|
|
14
15
|
const path = normalizePath(ctx.request.path, prefix)
|
|
15
16
|
const routeItem = findRoute<ReactESMPreloadFeRouteItem>(FeRoutes, path)
|
|
16
17
|
setStoreContext(Context)
|
|
@@ -70,7 +71,7 @@ const serverRender = async (ctx: ISSRContext, config: IConfig) => {
|
|
|
70
71
|
__html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${serialize(combineData)}; window.prefix="${prefix}";${clientPrefix ? `window.clientPrefix="${clientPrefix}";` : ''}`
|
|
71
72
|
}} />
|
|
72
73
|
// with jsx type error, use createElement here
|
|
73
|
-
|
|
74
|
+
const ele = createElement(StaticRouter, {
|
|
74
75
|
location: ctx.request.url,
|
|
75
76
|
basename: prefix === '/' ? undefined : prefix
|
|
76
77
|
}, createElement(Context.Provider, {
|
|
@@ -83,8 +84,10 @@ const serverRender = async (ctx: ISSRContext, config: IConfig) => {
|
|
|
83
84
|
staticList: staticList,
|
|
84
85
|
injectState: injectState
|
|
85
86
|
}, createElement(Component, null))))
|
|
87
|
+
return stream ? renderToNodeStream(ele) : renderToString(ele)
|
|
86
88
|
}
|
|
87
89
|
|
|
88
90
|
export {
|
|
89
|
-
serverRender
|
|
91
|
+
serverRender,
|
|
92
|
+
Routes
|
|
90
93
|
}
|