@umijs/server 4.0.72 → 4.0.73

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 (2) hide show
  1. package/dist/ssr.js +10 -12
  2. package/package.json +2 -2
package/dist/ssr.js CHANGED
@@ -37,8 +37,7 @@ var import_react = __toESM(require("react"));
37
37
  var ReactDomServer = __toESM(require("react-dom/server"));
38
38
  var import_react_router_dom = require("react-router-dom");
39
39
  var import_stream = require("stream");
40
- var serverInsertedHTMLCallbacks = /* @__PURE__ */ new Set();
41
- var createJSXProvider = (Provider) => {
40
+ var createJSXProvider = (Provider, serverInsertedHTMLCallbacks) => {
42
41
  const JSXProvider = (props) => {
43
42
  const addInsertedHtml = import_react.default.useCallback(
44
43
  (handler) => {
@@ -102,19 +101,16 @@ function createJSXGenerator(opts) {
102
101
  const element = await opts.getClientRootComponent(
103
102
  context
104
103
  );
105
- const JSXProvider = createJSXProvider(
106
- opts.ServerInsertedHTMLContext.Provider
107
- );
108
104
  return {
109
- element: import_react.default.createElement(JSXProvider, { children: element }),
105
+ element,
110
106
  manifest
111
107
  };
112
108
  };
113
109
  }
114
- var getGenerateStaticHTML = () => {
110
+ var getGenerateStaticHTML = (serverInsertedHTMLCallbacks) => {
115
111
  return ReactDomServer.renderToString(
116
112
  import_react.default.createElement(import_react.default.Fragment, {
117
- children: Array.from(serverInsertedHTMLCallbacks).map(
113
+ children: Array.from(serverInsertedHTMLCallbacks || []).map(
118
114
  (callback) => callback()
119
115
  )
120
116
  })
@@ -122,13 +118,15 @@ var getGenerateStaticHTML = () => {
122
118
  };
123
119
  function createMarkupGenerator(opts) {
124
120
  const jsxGeneratorDeferrer = createJSXGenerator(opts);
125
- const JSXProvider = createJSXProvider(
126
- opts.ServerInsertedHTMLContext.Provider
127
- );
128
121
  return async (url) => {
129
122
  const jsx = await jsxGeneratorDeferrer(url);
130
123
  if (jsx) {
131
124
  return new Promise(async (resolve, reject) => {
125
+ const serverInsertedHTMLCallbacks = /* @__PURE__ */ new Set();
126
+ const JSXProvider = createJSXProvider(
127
+ opts.ServerInsertedHTMLContext.Provider,
128
+ serverInsertedHTMLCallbacks
129
+ );
132
130
  let chunks = [];
133
131
  const writable = new import_stream.Writable();
134
132
  writable._write = (chunk, _encoding, next) => {
@@ -137,7 +135,7 @@ function createMarkupGenerator(opts) {
137
135
  };
138
136
  writable.on("finish", async () => {
139
137
  let html = Buffer.concat(chunks).toString("utf8");
140
- html += await getGenerateStaticHTML();
138
+ html += await getGenerateStaticHTML(serverInsertedHTMLCallbacks);
141
139
  if (opts.helmetContext) {
142
140
  html = html.replace(
143
141
  /(<\/head>)/,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umijs/server",
3
- "version": "4.0.72",
3
+ "version": "4.0.73",
4
4
  "description": "@umijs/server",
5
5
  "homepage": "https://github.com/umijs/umi/tree/master/packages/server#readme",
6
6
  "bugs": "https://github.com/umijs/umi/issues",
@@ -19,7 +19,7 @@
19
19
  "react": "18.1.0",
20
20
  "react-dom": "18.1.0",
21
21
  "react-router-dom": "6.3.0",
22
- "@umijs/bundler-utils": "4.0.72"
22
+ "@umijs/bundler-utils": "4.0.73"
23
23
  },
24
24
  "publishConfig": {
25
25
  "access": "public"