@modern-js/runtime 2.3.0 → 2.3.1-alpha.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.
@@ -47,6 +47,7 @@ import {
47
47
  import hoistNonReactStatics from "hoist-non-react-statics";
48
48
  import { installGlobals } from "@remix-run/node";
49
49
  import { createRoutesFromElements } from "react-router-dom";
50
+ import serialize from "serialize-javascript";
50
51
  import { RuntimeReactContext } from "../../core";
51
52
  import { renderRoutes, urlJoin } from "./utils";
52
53
  installGlobals();
@@ -102,6 +103,17 @@ const routerPlugin = ({
102
103
  if (routerContext instanceof Response) {
103
104
  return routerContext;
104
105
  }
106
+ if (routerContext.loaderData) {
107
+ routerContext.loaderData = JSON.parse(
108
+ JSON.stringify(routerContext.loaderData),
109
+ (k, v) => {
110
+ if (typeof v === "string") {
111
+ return serialize(v);
112
+ }
113
+ return v;
114
+ }
115
+ );
116
+ }
105
117
  const router = createStaticRouter(routes, routerContext);
106
118
  context.router = router;
107
119
  context.routerContext = routerContext;
@@ -101,7 +101,9 @@ class Entry {
101
101
  if (fragment.isVariable && fragment.content === "SSRDataScript") {
102
102
  html += fragment.getValue(SSRData);
103
103
  } else {
104
- html += fragment.getValue(this.result);
104
+ let value = fragment.getValue(this.result);
105
+ value = value.replace(/\\\\\\u/g, `u`);
106
+ html += value;
105
107
  }
106
108
  }
107
109
  const helmetData = ReactHelmet.renderStatic();
@@ -72,6 +72,7 @@ var import_server = require("react-router-dom/server");
72
72
  var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
73
73
  var import_node = require("@remix-run/node");
74
74
  var import_react_router_dom = require("react-router-dom");
75
+ var import_serialize_javascript = __toESM(require("serialize-javascript"));
75
76
  var import_core = require("../../core");
76
77
  var import_utils = require("./utils");
77
78
  (0, import_node.installGlobals)();
@@ -127,6 +128,17 @@ const routerPlugin = ({
127
128
  if (routerContext instanceof Response) {
128
129
  return routerContext;
129
130
  }
131
+ if (routerContext.loaderData) {
132
+ routerContext.loaderData = JSON.parse(
133
+ JSON.stringify(routerContext.loaderData),
134
+ (k, v) => {
135
+ if (typeof v === "string") {
136
+ return (0, import_serialize_javascript.default)(v);
137
+ }
138
+ return v;
139
+ }
140
+ );
141
+ }
130
142
  const router = (0, import_server.createStaticRouter)(routes, routerContext);
131
143
  context.router = router;
132
144
  context.routerContext = routerContext;
@@ -127,7 +127,9 @@ class Entry {
127
127
  if (fragment.isVariable && fragment.content === "SSRDataScript") {
128
128
  html += fragment.getValue(SSRData);
129
129
  } else {
130
- html += fragment.getValue(this.result);
130
+ let value = fragment.getValue(this.result);
131
+ value = value.replace(/\\\\\\u/g, `u`);
132
+ html += value;
131
133
  }
132
134
  }
133
135
  const helmetData = import_react_helmet.default.renderStatic();
@@ -234,6 +234,7 @@ import { createStaticRouter, StaticRouterProvider } from "react-router-dom/serve
234
234
  import hoistNonReactStatics from "hoist-non-react-statics";
235
235
  import { installGlobals } from "@remix-run/node";
236
236
  import { createRoutesFromElements } from "react-router-dom";
237
+ import serialize from "serialize-javascript";
237
238
  import { RuntimeReactContext } from "../../core";
238
239
  import { renderRoutes, urlJoin } from "./utils";
239
240
  installGlobals();
@@ -338,6 +339,14 @@ var routerPlugin = function(param) {
338
339
  routerContext
339
340
  ];
340
341
  }
342
+ if (routerContext.loaderData) {
343
+ routerContext.loaderData = JSON.parse(JSON.stringify(routerContext.loaderData), function(k, v) {
344
+ if (typeof v === "string") {
345
+ return serialize(v);
346
+ }
347
+ return v;
348
+ });
349
+ }
341
350
  router = createStaticRouter(routes, routerContext);
342
351
  context.router = router;
343
352
  context.routerContext = routerContext;
@@ -220,7 +220,7 @@ var Entry = /*#__PURE__*/ function() {
220
220
  value: function renderToHtml(context) {
221
221
  var _this = this;
222
222
  return _asyncToGenerator(function() {
223
- var ssrContext, prefetchData, html, templateData, SSRData, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, fragment, helmetData;
223
+ var ssrContext, prefetchData, html, templateData, SSRData, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, fragment, value, helmetData;
224
224
  return __generator(this, function(_state) {
225
225
  switch(_state.label){
226
226
  case 0:
@@ -262,7 +262,9 @@ var Entry = /*#__PURE__*/ function() {
262
262
  if (fragment.isVariable && fragment.content === "SSRDataScript") {
263
263
  html += fragment.getValue(SSRData);
264
264
  } else {
265
- html += fragment.getValue(_this.result);
265
+ value = fragment.getValue(_this.result);
266
+ value = value.replace(/\\\\\\u/g, "u");
267
+ html += value;
266
268
  }
267
269
  }
268
270
  } catch (err) {
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.3.0",
14
+ "version": "2.3.1-alpha.0",
15
15
  "engines": {
16
16
  "node": ">=14.17.6"
17
17
  },
@@ -131,6 +131,9 @@
131
131
  "@modern-js-reduck/plugin-immutable": "^1.1.4",
132
132
  "@modern-js-reduck/react": "^1.1.4",
133
133
  "@modern-js-reduck/store": "^1.1.4",
134
+ "@modern-js/plugin": "2.3.0",
135
+ "@modern-js/types": "2.3.0",
136
+ "@modern-js/utils": "2.3.0",
134
137
  "@remix-run/node": "^1.9.0",
135
138
  "@remix-run/router": "^1.2.0",
136
139
  "@types/loadable__component": "^5.13.4",
@@ -146,17 +149,19 @@
146
149
  "redux-logger": "^3.0.6",
147
150
  "serialize-javascript": "^6.0.0",
148
151
  "styled-components": "^5.3.1",
149
- "esbuild": "0.15.7",
150
- "@modern-js/plugin": "2.3.0",
151
- "@modern-js/types": "2.3.0",
152
- "@modern-js/utils": "2.3.0"
152
+ "esbuild": "0.15.7"
153
153
  },
154
154
  "peerDependencies": {
155
155
  "react": ">=17",
156
156
  "react-dom": ">=17"
157
157
  },
158
158
  "devDependencies": {
159
+ "@modern-js/app-tools": "2.3.0",
160
+ "@modern-js/core": "2.3.0",
161
+ "@modern-js/server-core": "2.3.0",
159
162
  "@remix-run/web-fetch": "^4.1.3",
163
+ "@scripts/build": "2.3.0",
164
+ "@scripts/jest-config": "2.3.0",
160
165
  "@testing-library/react": "^13.4.0",
161
166
  "@testing-library/react-hooks": "^8.0.1",
162
167
  "@types/invariant": "^2.2.30",
@@ -169,12 +174,7 @@
169
174
  "react": "^18",
170
175
  "react-dom": "^18",
171
176
  "ts-jest": "^27.0.4",
172
- "typescript": "^4",
173
- "@modern-js/app-tools": "2.3.0",
174
- "@modern-js/core": "2.3.0",
175
- "@modern-js/server-core": "2.3.0",
176
- "@scripts/jest-config": "2.3.0",
177
- "@scripts/build": "2.3.0"
177
+ "typescript": "^4"
178
178
  },
179
179
  "sideEffects": false,
180
180
  "modernConfig": {},