@webtypen/webframez-react 0.0.9 → 0.0.10

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/http.cjs CHANGED
@@ -39,6 +39,8 @@ var import_node_child_process = require("node:child_process");
39
39
  // src/server.ts
40
40
  var import_node_stream = require("node:stream");
41
41
  var import_server = require("react-server-dom-webpack/server");
42
+ var import_client = require("react-server-dom-webpack/client.node");
43
+ var import_server2 = require("react-dom/server");
42
44
  function defaultOnError(err) {
43
45
  console.error("[webframez-react] RSC render error", err);
44
46
  }
@@ -127,6 +129,25 @@ function renderRSCToString(payload, options = {}) {
127
129
  stream.pipe(writable);
128
130
  });
129
131
  }
132
+ function createReadableStreamFromString(value) {
133
+ const encoder = new TextEncoder();
134
+ return new ReadableStream({
135
+ start(controller) {
136
+ controller.enqueue(encoder.encode(value));
137
+ controller.close();
138
+ }
139
+ });
140
+ }
141
+ async function renderHtmlFromFlightData(flightData, options) {
142
+ const model = await (0, import_client.createFromReadableStream)(createReadableStreamFromString(flightData), {
143
+ serverConsumerManifest: {
144
+ moduleMap: options.moduleMap ?? {},
145
+ serverModuleMap: null,
146
+ moduleLoading: null
147
+ }
148
+ });
149
+ return (0, import_server2.renderToString)(model);
150
+ }
130
151
  function sendRSC(res, model, options = {}) {
131
152
  const {
132
153
  moduleMap = {},
@@ -866,6 +887,9 @@ function createNodeRequestHandler(options) {
866
887
  model: resolved.model,
867
888
  head: resolved.head
868
889
  };
890
+ const initialFlightData = await renderRSCToString(initialPayload, {
891
+ moduleMap
892
+ });
869
893
  let rootHtml = "";
870
894
  try {
871
895
  rootHtml = await initialHtmlWorker.render({
@@ -886,26 +910,29 @@ function createNodeRequestHandler(options) {
886
910
  });
887
911
  } catch (retryError) {
888
912
  console.error("[webframez-react] Retry for initial HTML failed", retryError);
889
- res.statusCode = 500;
890
- res.setHeader("Content-Type", "text/html");
891
- res.end(
892
- createHTMLShell({
893
- title: "500 - Initial HTML render failed",
894
- headTags: "",
895
- clientScriptUrl,
896
- rscEndpoint: rscPath,
897
- rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
898
- basename: basePath,
899
- liveReloadPath: liveReloadPath || void 0,
900
- liveReloadServerId: liveReloadPath ? devServerId : void 0
901
- })
902
- );
903
- return;
913
+ try {
914
+ rootHtml = await renderHtmlFromFlightData(initialFlightData, { moduleMap });
915
+ } catch (flightRenderError) {
916
+ console.error("[webframez-react] Flight-to-HTML render failed", flightRenderError);
917
+ res.statusCode = 500;
918
+ res.setHeader("Content-Type", "text/html");
919
+ res.end(
920
+ createHTMLShell({
921
+ title: "500 - Initial HTML render failed",
922
+ headTags: "",
923
+ clientScriptUrl,
924
+ rscEndpoint: rscPath,
925
+ rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
926
+ initialFlightData,
927
+ basename: basePath,
928
+ liveReloadPath: liveReloadPath || void 0,
929
+ liveReloadServerId: liveReloadPath ? devServerId : void 0
930
+ })
931
+ );
932
+ return;
933
+ }
904
934
  }
905
935
  }
906
- const initialFlightData = await renderRSCToString(initialPayload, {
907
- moduleMap
908
- });
909
936
  res.statusCode = resolved.statusCode;
910
937
  res.setHeader("Content-Type", "text/html");
911
938
  res.end(
package/dist/http.js CHANGED
@@ -14,6 +14,8 @@ import { spawn } from "node:child_process";
14
14
  // src/server.ts
15
15
  import { Writable } from "node:stream";
16
16
  import { renderToPipeableStream } from "react-server-dom-webpack/server";
17
+ import { createFromReadableStream } from "react-server-dom-webpack/client.node";
18
+ import { renderToString } from "react-dom/server";
17
19
  function defaultOnError(err) {
18
20
  console.error("[webframez-react] RSC render error", err);
19
21
  }
@@ -102,6 +104,25 @@ function renderRSCToString(payload, options = {}) {
102
104
  stream.pipe(writable);
103
105
  });
104
106
  }
107
+ function createReadableStreamFromString(value) {
108
+ const encoder = new TextEncoder();
109
+ return new ReadableStream({
110
+ start(controller) {
111
+ controller.enqueue(encoder.encode(value));
112
+ controller.close();
113
+ }
114
+ });
115
+ }
116
+ async function renderHtmlFromFlightData(flightData, options) {
117
+ const model = await createFromReadableStream(createReadableStreamFromString(flightData), {
118
+ serverConsumerManifest: {
119
+ moduleMap: options.moduleMap ?? {},
120
+ serverModuleMap: null,
121
+ moduleLoading: null
122
+ }
123
+ });
124
+ return renderToString(model);
125
+ }
105
126
  function sendRSC(res, model, options = {}) {
106
127
  const {
107
128
  moduleMap = {},
@@ -841,6 +862,9 @@ function createNodeRequestHandler(options) {
841
862
  model: resolved.model,
842
863
  head: resolved.head
843
864
  };
865
+ const initialFlightData = await renderRSCToString(initialPayload, {
866
+ moduleMap
867
+ });
844
868
  let rootHtml = "";
845
869
  try {
846
870
  rootHtml = await initialHtmlWorker.render({
@@ -861,26 +885,29 @@ function createNodeRequestHandler(options) {
861
885
  });
862
886
  } catch (retryError) {
863
887
  console.error("[webframez-react] Retry for initial HTML failed", retryError);
864
- res.statusCode = 500;
865
- res.setHeader("Content-Type", "text/html");
866
- res.end(
867
- createHTMLShell({
868
- title: "500 - Initial HTML render failed",
869
- headTags: "",
870
- clientScriptUrl,
871
- rscEndpoint: rscPath,
872
- rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
873
- basename: basePath,
874
- liveReloadPath: liveReloadPath || void 0,
875
- liveReloadServerId: liveReloadPath ? devServerId : void 0
876
- })
877
- );
878
- return;
888
+ try {
889
+ rootHtml = await renderHtmlFromFlightData(initialFlightData, { moduleMap });
890
+ } catch (flightRenderError) {
891
+ console.error("[webframez-react] Flight-to-HTML render failed", flightRenderError);
892
+ res.statusCode = 500;
893
+ res.setHeader("Content-Type", "text/html");
894
+ res.end(
895
+ createHTMLShell({
896
+ title: "500 - Initial HTML render failed",
897
+ headTags: "",
898
+ clientScriptUrl,
899
+ rscEndpoint: rscPath,
900
+ rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
901
+ initialFlightData,
902
+ basename: basePath,
903
+ liveReloadPath: liveReloadPath || void 0,
904
+ liveReloadServerId: liveReloadPath ? devServerId : void 0
905
+ })
906
+ );
907
+ return;
908
+ }
879
909
  }
880
910
  }
881
- const initialFlightData = await renderRSCToString(initialPayload, {
882
- moduleMap
883
- });
884
911
  res.statusCode = resolved.statusCode;
885
912
  res.setHeader("Content-Type", "text/html");
886
913
  res.end(
package/dist/index.cjs CHANGED
@@ -45,6 +45,8 @@ module.exports = __toCommonJS(src_exports);
45
45
  // src/server.ts
46
46
  var import_node_stream = require("node:stream");
47
47
  var import_server = require("react-server-dom-webpack/server");
48
+ var import_client = require("react-server-dom-webpack/client.node");
49
+ var import_server2 = require("react-dom/server");
48
50
  function defaultOnError(err) {
49
51
  console.error("[webframez-react] RSC render error", err);
50
52
  }
@@ -133,6 +135,25 @@ function renderRSCToString(payload, options = {}) {
133
135
  stream.pipe(writable);
134
136
  });
135
137
  }
138
+ function createReadableStreamFromString(value) {
139
+ const encoder = new TextEncoder();
140
+ return new ReadableStream({
141
+ start(controller) {
142
+ controller.enqueue(encoder.encode(value));
143
+ controller.close();
144
+ }
145
+ });
146
+ }
147
+ async function renderHtmlFromFlightData(flightData, options) {
148
+ const model = await (0, import_client.createFromReadableStream)(createReadableStreamFromString(flightData), {
149
+ serverConsumerManifest: {
150
+ moduleMap: options.moduleMap ?? {},
151
+ serverModuleMap: null,
152
+ moduleLoading: null
153
+ }
154
+ });
155
+ return (0, import_server2.renderToString)(model);
156
+ }
136
157
  function sendRSC(res, model, options = {}) {
137
158
  const {
138
159
  moduleMap = {},
@@ -903,6 +924,9 @@ function createNodeRequestHandler(options) {
903
924
  model: resolved.model,
904
925
  head: resolved.head
905
926
  };
927
+ const initialFlightData = await renderRSCToString(initialPayload, {
928
+ moduleMap
929
+ });
906
930
  let rootHtml = "";
907
931
  try {
908
932
  rootHtml = await initialHtmlWorker.render({
@@ -923,26 +947,29 @@ function createNodeRequestHandler(options) {
923
947
  });
924
948
  } catch (retryError) {
925
949
  console.error("[webframez-react] Retry for initial HTML failed", retryError);
926
- res.statusCode = 500;
927
- res.setHeader("Content-Type", "text/html");
928
- res.end(
929
- createHTMLShell({
930
- title: "500 - Initial HTML render failed",
931
- headTags: "",
932
- clientScriptUrl,
933
- rscEndpoint: rscPath,
934
- rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
935
- basename: basePath,
936
- liveReloadPath: liveReloadPath || void 0,
937
- liveReloadServerId: liveReloadPath ? devServerId : void 0
938
- })
939
- );
940
- return;
950
+ try {
951
+ rootHtml = await renderHtmlFromFlightData(initialFlightData, { moduleMap });
952
+ } catch (flightRenderError) {
953
+ console.error("[webframez-react] Flight-to-HTML render failed", flightRenderError);
954
+ res.statusCode = 500;
955
+ res.setHeader("Content-Type", "text/html");
956
+ res.end(
957
+ createHTMLShell({
958
+ title: "500 - Initial HTML render failed",
959
+ headTags: "",
960
+ clientScriptUrl,
961
+ rscEndpoint: rscPath,
962
+ rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
963
+ initialFlightData,
964
+ basename: basePath,
965
+ liveReloadPath: liveReloadPath || void 0,
966
+ liveReloadServerId: liveReloadPath ? devServerId : void 0
967
+ })
968
+ );
969
+ return;
970
+ }
941
971
  }
942
972
  }
943
- const initialFlightData = await renderRSCToString(initialPayload, {
944
- moduleMap
945
- });
946
973
  res.statusCode = resolved.statusCode;
947
974
  res.setHeader("Content-Type", "text/html");
948
975
  res.end(
package/dist/index.js CHANGED
@@ -9,6 +9,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
9
9
  // src/server.ts
10
10
  import { Writable } from "node:stream";
11
11
  import { renderToPipeableStream } from "react-server-dom-webpack/server";
12
+ import { createFromReadableStream } from "react-server-dom-webpack/client.node";
13
+ import { renderToString } from "react-dom/server";
12
14
  function defaultOnError(err) {
13
15
  console.error("[webframez-react] RSC render error", err);
14
16
  }
@@ -97,6 +99,25 @@ function renderRSCToString(payload, options = {}) {
97
99
  stream.pipe(writable);
98
100
  });
99
101
  }
102
+ function createReadableStreamFromString(value) {
103
+ const encoder = new TextEncoder();
104
+ return new ReadableStream({
105
+ start(controller) {
106
+ controller.enqueue(encoder.encode(value));
107
+ controller.close();
108
+ }
109
+ });
110
+ }
111
+ async function renderHtmlFromFlightData(flightData, options) {
112
+ const model = await createFromReadableStream(createReadableStreamFromString(flightData), {
113
+ serverConsumerManifest: {
114
+ moduleMap: options.moduleMap ?? {},
115
+ serverModuleMap: null,
116
+ moduleLoading: null
117
+ }
118
+ });
119
+ return renderToString(model);
120
+ }
100
121
  function sendRSC(res, model, options = {}) {
101
122
  const {
102
123
  moduleMap = {},
@@ -867,6 +888,9 @@ function createNodeRequestHandler(options) {
867
888
  model: resolved.model,
868
889
  head: resolved.head
869
890
  };
891
+ const initialFlightData = await renderRSCToString(initialPayload, {
892
+ moduleMap
893
+ });
870
894
  let rootHtml = "";
871
895
  try {
872
896
  rootHtml = await initialHtmlWorker.render({
@@ -887,26 +911,29 @@ function createNodeRequestHandler(options) {
887
911
  });
888
912
  } catch (retryError) {
889
913
  console.error("[webframez-react] Retry for initial HTML failed", retryError);
890
- res.statusCode = 500;
891
- res.setHeader("Content-Type", "text/html");
892
- res.end(
893
- createHTMLShell({
894
- title: "500 - Initial HTML render failed",
895
- headTags: "",
896
- clientScriptUrl,
897
- rscEndpoint: rscPath,
898
- rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
899
- basename: basePath,
900
- liveReloadPath: liveReloadPath || void 0,
901
- liveReloadServerId: liveReloadPath ? devServerId : void 0
902
- })
903
- );
904
- return;
914
+ try {
915
+ rootHtml = await renderHtmlFromFlightData(initialFlightData, { moduleMap });
916
+ } catch (flightRenderError) {
917
+ console.error("[webframez-react] Flight-to-HTML render failed", flightRenderError);
918
+ res.statusCode = 500;
919
+ res.setHeader("Content-Type", "text/html");
920
+ res.end(
921
+ createHTMLShell({
922
+ title: "500 - Initial HTML render failed",
923
+ headTags: "",
924
+ clientScriptUrl,
925
+ rscEndpoint: rscPath,
926
+ rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
927
+ initialFlightData,
928
+ basename: basePath,
929
+ liveReloadPath: liveReloadPath || void 0,
930
+ liveReloadServerId: liveReloadPath ? devServerId : void 0
931
+ })
932
+ );
933
+ return;
934
+ }
905
935
  }
906
936
  }
907
- const initialFlightData = await renderRSCToString(initialPayload, {
908
- moduleMap
909
- });
910
937
  res.statusCode = resolved.statusCode;
911
938
  res.setHeader("Content-Type", "text/html");
912
939
  res.end(
@@ -42,6 +42,8 @@ var import_node_child_process = require("node:child_process");
42
42
  // src/server.ts
43
43
  var import_node_stream = require("node:stream");
44
44
  var import_server = require("react-server-dom-webpack/server");
45
+ var import_client = require("react-server-dom-webpack/client.node");
46
+ var import_server2 = require("react-dom/server");
45
47
  function defaultOnError(err) {
46
48
  console.error("[webframez-react] RSC render error", err);
47
49
  }
@@ -130,6 +132,25 @@ function renderRSCToString(payload, options = {}) {
130
132
  stream.pipe(writable);
131
133
  });
132
134
  }
135
+ function createReadableStreamFromString(value) {
136
+ const encoder = new TextEncoder();
137
+ return new ReadableStream({
138
+ start(controller) {
139
+ controller.enqueue(encoder.encode(value));
140
+ controller.close();
141
+ }
142
+ });
143
+ }
144
+ async function renderHtmlFromFlightData(flightData, options) {
145
+ const model = await (0, import_client.createFromReadableStream)(createReadableStreamFromString(flightData), {
146
+ serverConsumerManifest: {
147
+ moduleMap: options.moduleMap ?? {},
148
+ serverModuleMap: null,
149
+ moduleLoading: null
150
+ }
151
+ });
152
+ return (0, import_server2.renderToString)(model);
153
+ }
133
154
  function sendRSC(res, model, options = {}) {
134
155
  const {
135
156
  moduleMap = {},
@@ -869,6 +890,9 @@ function createNodeRequestHandler(options) {
869
890
  model: resolved.model,
870
891
  head: resolved.head
871
892
  };
893
+ const initialFlightData = await renderRSCToString(initialPayload, {
894
+ moduleMap
895
+ });
872
896
  let rootHtml = "";
873
897
  try {
874
898
  rootHtml = await initialHtmlWorker.render({
@@ -889,26 +913,29 @@ function createNodeRequestHandler(options) {
889
913
  });
890
914
  } catch (retryError) {
891
915
  console.error("[webframez-react] Retry for initial HTML failed", retryError);
892
- res.statusCode = 500;
893
- res.setHeader("Content-Type", "text/html");
894
- res.end(
895
- createHTMLShell({
896
- title: "500 - Initial HTML render failed",
897
- headTags: "",
898
- clientScriptUrl,
899
- rscEndpoint: rscPath,
900
- rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
901
- basename: basePath,
902
- liveReloadPath: liveReloadPath || void 0,
903
- liveReloadServerId: liveReloadPath ? devServerId : void 0
904
- })
905
- );
906
- return;
916
+ try {
917
+ rootHtml = await renderHtmlFromFlightData(initialFlightData, { moduleMap });
918
+ } catch (flightRenderError) {
919
+ console.error("[webframez-react] Flight-to-HTML render failed", flightRenderError);
920
+ res.statusCode = 500;
921
+ res.setHeader("Content-Type", "text/html");
922
+ res.end(
923
+ createHTMLShell({
924
+ title: "500 - Initial HTML render failed",
925
+ headTags: "",
926
+ clientScriptUrl,
927
+ rscEndpoint: rscPath,
928
+ rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
929
+ initialFlightData,
930
+ basename: basePath,
931
+ liveReloadPath: liveReloadPath || void 0,
932
+ liveReloadServerId: liveReloadPath ? devServerId : void 0
933
+ })
934
+ );
935
+ return;
936
+ }
907
937
  }
908
938
  }
909
- const initialFlightData = await renderRSCToString(initialPayload, {
910
- moduleMap
911
- });
912
939
  res.statusCode = resolved.statusCode;
913
940
  res.setHeader("Content-Type", "text/html");
914
941
  res.end(
@@ -14,6 +14,8 @@ import { spawn } from "node:child_process";
14
14
  // src/server.ts
15
15
  import { Writable } from "node:stream";
16
16
  import { renderToPipeableStream } from "react-server-dom-webpack/server";
17
+ import { createFromReadableStream } from "react-server-dom-webpack/client.node";
18
+ import { renderToString } from "react-dom/server";
17
19
  function defaultOnError(err) {
18
20
  console.error("[webframez-react] RSC render error", err);
19
21
  }
@@ -102,6 +104,25 @@ function renderRSCToString(payload, options = {}) {
102
104
  stream.pipe(writable);
103
105
  });
104
106
  }
107
+ function createReadableStreamFromString(value) {
108
+ const encoder = new TextEncoder();
109
+ return new ReadableStream({
110
+ start(controller) {
111
+ controller.enqueue(encoder.encode(value));
112
+ controller.close();
113
+ }
114
+ });
115
+ }
116
+ async function renderHtmlFromFlightData(flightData, options) {
117
+ const model = await createFromReadableStream(createReadableStreamFromString(flightData), {
118
+ serverConsumerManifest: {
119
+ moduleMap: options.moduleMap ?? {},
120
+ serverModuleMap: null,
121
+ moduleLoading: null
122
+ }
123
+ });
124
+ return renderToString(model);
125
+ }
105
126
  function sendRSC(res, model, options = {}) {
106
127
  const {
107
128
  moduleMap = {},
@@ -841,6 +862,9 @@ function createNodeRequestHandler(options) {
841
862
  model: resolved.model,
842
863
  head: resolved.head
843
864
  };
865
+ const initialFlightData = await renderRSCToString(initialPayload, {
866
+ moduleMap
867
+ });
844
868
  let rootHtml = "";
845
869
  try {
846
870
  rootHtml = await initialHtmlWorker.render({
@@ -861,26 +885,29 @@ function createNodeRequestHandler(options) {
861
885
  });
862
886
  } catch (retryError) {
863
887
  console.error("[webframez-react] Retry for initial HTML failed", retryError);
864
- res.statusCode = 500;
865
- res.setHeader("Content-Type", "text/html");
866
- res.end(
867
- createHTMLShell({
868
- title: "500 - Initial HTML render failed",
869
- headTags: "",
870
- clientScriptUrl,
871
- rscEndpoint: rscPath,
872
- rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
873
- basename: basePath,
874
- liveReloadPath: liveReloadPath || void 0,
875
- liveReloadServerId: liveReloadPath ? devServerId : void 0
876
- })
877
- );
878
- return;
888
+ try {
889
+ rootHtml = await renderHtmlFromFlightData(initialFlightData, { moduleMap });
890
+ } catch (flightRenderError) {
891
+ console.error("[webframez-react] Flight-to-HTML render failed", flightRenderError);
892
+ res.statusCode = 500;
893
+ res.setHeader("Content-Type", "text/html");
894
+ res.end(
895
+ createHTMLShell({
896
+ title: "500 - Initial HTML render failed",
897
+ headTags: "",
898
+ clientScriptUrl,
899
+ rscEndpoint: rscPath,
900
+ rootHtml: createInitialHtmlErrorMarkup("Initial HTML render failed."),
901
+ initialFlightData,
902
+ basename: basePath,
903
+ liveReloadPath: liveReloadPath || void 0,
904
+ liveReloadServerId: liveReloadPath ? devServerId : void 0
905
+ })
906
+ );
907
+ return;
908
+ }
879
909
  }
880
910
  }
881
- const initialFlightData = await renderRSCToString(initialPayload, {
882
- moduleMap
883
- });
884
911
  res.statusCode = resolved.statusCode;
885
912
  res.setHeader("Content-Type", "text/html");
886
913
  res.end(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webtypen/webframez-react",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "TypeScript React RSC addition for @webtypen/webframez-core",
5
5
  "homepage": "https://webtypen.de/",
6
6
  "author": {