@modern-js/runtime-utils 0.0.0-nightly-20230921160618 → 0.0.0-nightly-20230923161059
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/browser/index.js +22 -5
- package/dist/cjs/browser/nestedRoutes.js +59 -45
- package/dist/cjs/browser/parsed.js +26 -8
- package/dist/cjs/node/index.js +35 -24
- package/dist/cjs/node/loaderContext/createLoaderCtx.js +25 -15
- package/dist/cjs/node/loaderContext/createRequestCtx.js +25 -15
- package/dist/cjs/node/loaderContext/index.js +28 -18
- package/dist/cjs/node/nestedRoutes.js +24 -7
- package/dist/cjs/node/router.js +20 -4
- package/dist/cjs/node/serialize.js +36 -10
- package/dist/cjs/node/storage.js +37 -11
- package/dist/cjs/remixRouter.js +20 -4
- package/dist/cjs/router.js +20 -4
- package/dist/cjs/time.js +24 -7
- package/dist/esm/browser/nestedRoutes.js +20 -11
- package/dist/esm/browser/parsed.js +6 -2
- package/dist/esm/node/index.js +6 -2
- package/dist/esm/node/loaderContext/createLoaderCtx.js +6 -2
- package/dist/esm/node/loaderContext/createRequestCtx.js +6 -2
- package/dist/esm/node/loaderContext/index.js +6 -2
- package/dist/esm/node/nestedRoutes.js +4 -1
- package/dist/esm/node/serialize.js +4 -1
- package/dist/esm/node/storage.js +5 -3
- package/dist/esm/time.js +4 -1
- package/dist/esm-node/browser/nestedRoutes.js +17 -8
- package/dist/esm-node/browser/parsed.js +6 -2
- package/dist/esm-node/node/index.js +6 -2
- package/dist/esm-node/node/loaderContext/createLoaderCtx.js +6 -2
- package/dist/esm-node/node/loaderContext/createRequestCtx.js +6 -2
- package/dist/esm-node/node/loaderContext/index.js +6 -2
- package/dist/esm-node/node/nestedRoutes.js +4 -1
- package/dist/esm-node/node/serialize.js +4 -1
- package/dist/esm-node/node/storage.js +3 -1
- package/dist/esm-node/time.js +4 -1
- package/package.json +5 -5
package/dist/cjs/node/storage.js
CHANGED
|
@@ -1,19 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var storage_exports = {};
|
|
30
|
+
__export(storage_exports, {
|
|
31
|
+
createStorage: () => createStorage
|
|
10
32
|
});
|
|
11
|
-
|
|
12
|
-
|
|
33
|
+
module.exports = __toCommonJS(storage_exports);
|
|
34
|
+
var ah = __toESM(require("async_hooks"));
|
|
13
35
|
const createStorage = () => {
|
|
14
36
|
let storage;
|
|
15
|
-
if (typeof
|
|
16
|
-
storage = new
|
|
37
|
+
if (typeof ah.AsyncLocalStorage !== "undefined") {
|
|
38
|
+
storage = new ah.AsyncLocalStorage();
|
|
17
39
|
}
|
|
18
40
|
const run = (context, cb) => {
|
|
19
41
|
if (!storage) {
|
|
@@ -46,3 +68,7 @@ const createStorage = () => {
|
|
|
46
68
|
useContext
|
|
47
69
|
};
|
|
48
70
|
};
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
createStorage
|
|
74
|
+
});
|
package/dist/cjs/remixRouter.js
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var remixRouter_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(remixRouter_exports);
|
|
18
|
+
__reExport(remixRouter_exports, require("@remix-run/router"), module.exports);
|
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
20
|
+
0 && (module.exports = {
|
|
21
|
+
...require("@remix-run/router")
|
|
4
22
|
});
|
|
5
|
-
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
-
_export_star._(require("@remix-run/router"), exports);
|
package/dist/cjs/router.js
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var router_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(router_exports);
|
|
18
|
+
__reExport(router_exports, require("react-router-dom"), module.exports);
|
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
20
|
+
0 && (module.exports = {
|
|
21
|
+
...require("react-router-dom")
|
|
4
22
|
});
|
|
5
|
-
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
-
_export_star._(require("react-router-dom"), exports);
|
package/dist/cjs/time.js
CHANGED
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var time_exports = {};
|
|
20
|
+
__export(time_exports, {
|
|
21
|
+
time: () => time
|
|
10
22
|
});
|
|
23
|
+
module.exports = __toCommonJS(time_exports);
|
|
11
24
|
function processHrtime(previousTimestamp) {
|
|
12
25
|
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
13
26
|
const clocktime = now * 1e-3;
|
|
@@ -36,3 +49,7 @@ const time = () => {
|
|
|
36
49
|
return getLatency(hrtime);
|
|
37
50
|
};
|
|
38
51
|
};
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
time
|
|
55
|
+
});
|
|
@@ -7,14 +7,14 @@ import { Suspense } from "react";
|
|
|
7
7
|
import { createRoutesFromElements, Outlet, Route } from "react-router-dom";
|
|
8
8
|
import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
|
|
9
9
|
import { time } from "../time";
|
|
10
|
-
|
|
10
|
+
var transformNestedRoutes = function(routes, reporter) {
|
|
11
11
|
var routeElements = [];
|
|
12
12
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
13
13
|
try {
|
|
14
14
|
for (var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
15
15
|
var route = _step.value;
|
|
16
16
|
var routeElement = renderNestedRoute(route, {
|
|
17
|
-
reporter
|
|
17
|
+
reporter
|
|
18
18
|
});
|
|
19
19
|
routeElements.push(routeElement);
|
|
20
20
|
}
|
|
@@ -34,8 +34,9 @@ export var transformNestedRoutes = function(routes, reporter) {
|
|
|
34
34
|
}
|
|
35
35
|
return createRoutesFromElements(routeElements);
|
|
36
36
|
};
|
|
37
|
-
|
|
37
|
+
var renderNestedRoute = function(nestedRoute) {
|
|
38
38
|
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
39
|
+
var _config, _children;
|
|
39
40
|
var children = nestedRoute.children, index = nestedRoute.index, id = nestedRoute.id, component = nestedRoute.component, isRoot = nestedRoute.isRoot, lazyImport = nestedRoute.lazyImport, config = nestedRoute.config, handle = nestedRoute.handle;
|
|
40
41
|
var Component = component;
|
|
41
42
|
var parent = options.parent, DeferredDataComponent = options.DeferredDataComponent, _options_props = options.props, props = _options_props === void 0 ? {} : _options_props, reporter = options.reporter;
|
|
@@ -47,7 +48,7 @@ export var renderNestedRoute = function(nestedRoute) {
|
|
|
47
48
|
action: nestedRoute.action,
|
|
48
49
|
hasErrorBoundary: nestedRoute.hasErrorBoundary,
|
|
49
50
|
shouldRevalidate: nestedRoute.shouldRevalidate,
|
|
50
|
-
handle: _object_spread({}, handle, typeof config === "object" ? config === null ||
|
|
51
|
+
handle: _object_spread({}, handle, typeof config === "object" ? (_config = config) === null || _config === void 0 ? void 0 : _config.handle : {}),
|
|
51
52
|
index: nestedRoute.index,
|
|
52
53
|
element: nestedRoute.element,
|
|
53
54
|
errorElement: nestedRoute.errorElement
|
|
@@ -58,7 +59,8 @@ export var renderNestedRoute = function(nestedRoute) {
|
|
|
58
59
|
}
|
|
59
60
|
var element;
|
|
60
61
|
if (Component) {
|
|
61
|
-
|
|
62
|
+
var _parent;
|
|
63
|
+
if (((_parent = parent) === null || _parent === void 0 ? void 0 : _parent.loading) && lazyImport) {
|
|
62
64
|
var Loading = parent.loading;
|
|
63
65
|
if (isLoadableComponent(Component)) {
|
|
64
66
|
element = /* @__PURE__ */ _jsx(Component, {
|
|
@@ -73,11 +75,12 @@ export var renderNestedRoute = function(nestedRoute) {
|
|
|
73
75
|
} else if (isLoadableComponent(Component) && lazyImport) {
|
|
74
76
|
element = /* @__PURE__ */ _jsx(Component, {});
|
|
75
77
|
} else if (isRoot) {
|
|
78
|
+
var _props;
|
|
76
79
|
element = /* @__PURE__ */ _jsxs(_Fragment, {
|
|
77
80
|
children: [
|
|
78
81
|
/* @__PURE__ */ _jsx(Component, _object_spread({}, props)),
|
|
79
82
|
typeof document === "undefined" && DeferredDataComponent && /* @__PURE__ */ _jsx(DeferredDataComponent, {
|
|
80
|
-
nonce: props === null ||
|
|
83
|
+
nonce: (_props = props) === null || _props === void 0 ? void 0 : _props.nonce
|
|
81
84
|
})
|
|
82
85
|
]
|
|
83
86
|
});
|
|
@@ -90,16 +93,17 @@ export var renderNestedRoute = function(nestedRoute) {
|
|
|
90
93
|
element = /* @__PURE__ */ _jsx(Component, {});
|
|
91
94
|
}
|
|
92
95
|
} else {
|
|
93
|
-
|
|
96
|
+
var _parent1;
|
|
97
|
+
nestedRoute.loading = (_parent1 = parent) === null || _parent1 === void 0 ? void 0 : _parent1.loading;
|
|
94
98
|
routeProps.element = /* @__PURE__ */ _jsx(Outlet, {});
|
|
95
99
|
}
|
|
96
100
|
if (element) {
|
|
97
101
|
routeProps.element = element;
|
|
98
102
|
}
|
|
99
|
-
var childElements = children === null ||
|
|
103
|
+
var childElements = (_children = children) === null || _children === void 0 ? void 0 : _children.map(function(childRoute) {
|
|
100
104
|
return renderNestedRoute(childRoute, {
|
|
101
105
|
parent: nestedRoute,
|
|
102
|
-
reporter
|
|
106
|
+
reporter
|
|
103
107
|
});
|
|
104
108
|
});
|
|
105
109
|
var routeElement = index ? /* @__PURE__ */ _jsx(Route, _object_spread_props(_object_spread({}, routeProps), {
|
|
@@ -115,7 +119,7 @@ function createLoader(route, reporter) {
|
|
|
115
119
|
if (loader) {
|
|
116
120
|
return function() {
|
|
117
121
|
var _ref = _async_to_generator(function(args) {
|
|
118
|
-
var end, res, cost;
|
|
122
|
+
var end, res, cost, _reporter;
|
|
119
123
|
return _ts_generator(this, function(_state) {
|
|
120
124
|
switch (_state.label) {
|
|
121
125
|
case 0:
|
|
@@ -131,7 +135,8 @@ function createLoader(route, reporter) {
|
|
|
131
135
|
res = _state.sent();
|
|
132
136
|
cost = end();
|
|
133
137
|
if (typeof document === "undefined" && reporter) {
|
|
134
|
-
|
|
138
|
+
;
|
|
139
|
+
(_reporter = reporter) === null || _reporter === void 0 ? void 0 : _reporter.reportTiming("".concat(LOADER_REPORTER_NAME, "-").concat(route.id), cost);
|
|
135
140
|
}
|
|
136
141
|
return [
|
|
137
142
|
2,
|
|
@@ -156,3 +161,7 @@ function createLoader(route, reporter) {
|
|
|
156
161
|
function isLoadableComponent(component) {
|
|
157
162
|
return component && component.displayName === "Loadable" && component.preload && typeof component.preload === "function";
|
|
158
163
|
}
|
|
164
|
+
export {
|
|
165
|
+
renderNestedRoute,
|
|
166
|
+
transformNestedRoutes
|
|
167
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
var parsedJSONFromElement = function(id) {
|
|
2
2
|
var elements = document.querySelectorAll("#".concat(id));
|
|
3
3
|
if (elements.length === 0) {
|
|
4
4
|
return void 0;
|
|
@@ -6,7 +6,8 @@ export var parsedJSONFromElement = function(id) {
|
|
|
6
6
|
var element = elements[elements.length - 1];
|
|
7
7
|
if (element) {
|
|
8
8
|
try {
|
|
9
|
-
var
|
|
9
|
+
var _element;
|
|
10
|
+
var parsed = JSON.parse(((_element = element) === null || _element === void 0 ? void 0 : _element.textContent) || "");
|
|
10
11
|
return parsed;
|
|
11
12
|
} catch (e) {
|
|
12
13
|
console.error("parse ".concat(id, " error"), e);
|
|
@@ -15,3 +16,6 @@ export var parsedJSONFromElement = function(id) {
|
|
|
15
16
|
}
|
|
16
17
|
return void 0;
|
|
17
18
|
};
|
|
19
|
+
export {
|
|
20
|
+
parsedJSONFromElement
|
|
21
|
+
};
|
package/dist/esm/node/index.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { createStorage } from "./storage";
|
|
2
2
|
var _createStorage = createStorage(), run = _createStorage.run, useHeaders = _createStorage.useContext;
|
|
3
|
-
|
|
4
|
-
export { serializeJson } from "./serialize";
|
|
3
|
+
import { serializeJson } from "./serialize";
|
|
5
4
|
export * from "./nestedRoutes";
|
|
6
5
|
export * from "./loaderContext";
|
|
6
|
+
export {
|
|
7
|
+
run,
|
|
8
|
+
serializeJson,
|
|
9
|
+
useHeaders
|
|
10
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
|
|
2
|
+
var LoaderContext = /* @__PURE__ */ function() {
|
|
3
3
|
"use strict";
|
|
4
4
|
function LoaderContext2(defaultValue) {
|
|
5
5
|
_class_call_check(this, LoaderContext2);
|
|
@@ -15,6 +15,10 @@ export var LoaderContext = /* @__PURE__ */ function() {
|
|
|
15
15
|
};
|
|
16
16
|
return LoaderContext2;
|
|
17
17
|
}();
|
|
18
|
-
|
|
18
|
+
function createLoaderContext(defaultValue) {
|
|
19
19
|
return new LoaderContext(defaultValue);
|
|
20
20
|
}
|
|
21
|
+
export {
|
|
22
|
+
LoaderContext,
|
|
23
|
+
createLoaderContext
|
|
24
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
|
|
2
|
+
var RequestContext = /* @__PURE__ */ function() {
|
|
3
3
|
"use strict";
|
|
4
4
|
function RequestContext2() {
|
|
5
5
|
_class_call_check(this, RequestContext2);
|
|
@@ -19,6 +19,10 @@ export var RequestContext = /* @__PURE__ */ function() {
|
|
|
19
19
|
};
|
|
20
20
|
return RequestContext2;
|
|
21
21
|
}();
|
|
22
|
-
|
|
22
|
+
function createRequestContext() {
|
|
23
23
|
return new RequestContext();
|
|
24
24
|
}
|
|
25
|
+
export {
|
|
26
|
+
RequestContext,
|
|
27
|
+
createRequestContext
|
|
28
|
+
};
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { createLoaderContext } from "./createLoaderCtx";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { createRequestContext } from "./createRequestCtx";
|
|
3
|
+
var reporterCtx = createLoaderContext();
|
|
4
|
+
export {
|
|
5
|
+
createRequestContext,
|
|
6
|
+
reporterCtx
|
|
7
|
+
};
|
|
@@ -12,9 +12,12 @@ function sortByUrlPath(entries) {
|
|
|
12
12
|
});
|
|
13
13
|
return entries;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
var matchEntry = function(pathname, entries) {
|
|
16
16
|
sortByUrlPath(entries);
|
|
17
17
|
return entries.find(function(entry) {
|
|
18
18
|
return pathname.startsWith(entry.urlPath);
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
|
+
export {
|
|
22
|
+
matchEntry
|
|
23
|
+
};
|
package/dist/esm/node/storage.js
CHANGED
package/dist/esm/time.js
CHANGED
|
@@ -21,9 +21,12 @@ var getLatency = function(hrtime) {
|
|
|
21
21
|
var _processHrtime = _sliced_to_array(processHrtime(hrtime), 2), s = _processHrtime[0], ns = _processHrtime[1];
|
|
22
22
|
return s * 1e3 + ns / 1e6;
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
var time = function() {
|
|
25
25
|
var hrtime = processHrtime();
|
|
26
26
|
return function() {
|
|
27
27
|
return getLatency(hrtime);
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
|
+
export {
|
|
31
|
+
time
|
|
32
|
+
};
|
|
@@ -3,7 +3,7 @@ import { Suspense } from "react";
|
|
|
3
3
|
import { createRoutesFromElements, Outlet, Route } from "react-router-dom";
|
|
4
4
|
import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
|
|
5
5
|
import { time } from "../time";
|
|
6
|
-
|
|
6
|
+
const transformNestedRoutes = (routes, reporter) => {
|
|
7
7
|
const routeElements = [];
|
|
8
8
|
for (const route of routes) {
|
|
9
9
|
const routeElement = renderNestedRoute(route, {
|
|
@@ -13,7 +13,8 @@ export const transformNestedRoutes = (routes, reporter) => {
|
|
|
13
13
|
}
|
|
14
14
|
return createRoutesFromElements(routeElements);
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
const renderNestedRoute = (nestedRoute, options = {}) => {
|
|
17
|
+
var _config, _children;
|
|
17
18
|
const { children, index, id, component, isRoot, lazyImport, config, handle } = nestedRoute;
|
|
18
19
|
const Component = component;
|
|
19
20
|
const { parent, DeferredDataComponent, props = {}, reporter } = options;
|
|
@@ -27,7 +28,7 @@ export const renderNestedRoute = (nestedRoute, options = {}) => {
|
|
|
27
28
|
shouldRevalidate: nestedRoute.shouldRevalidate,
|
|
28
29
|
handle: {
|
|
29
30
|
...handle,
|
|
30
|
-
...typeof config === "object" ? config === null ||
|
|
31
|
+
...typeof config === "object" ? (_config = config) === null || _config === void 0 ? void 0 : _config.handle : {}
|
|
31
32
|
},
|
|
32
33
|
index: nestedRoute.index,
|
|
33
34
|
element: nestedRoute.element,
|
|
@@ -39,7 +40,8 @@ export const renderNestedRoute = (nestedRoute, options = {}) => {
|
|
|
39
40
|
}
|
|
40
41
|
let element;
|
|
41
42
|
if (Component) {
|
|
42
|
-
|
|
43
|
+
var _parent;
|
|
44
|
+
if (((_parent = parent) === null || _parent === void 0 ? void 0 : _parent.loading) && lazyImport) {
|
|
43
45
|
const Loading = parent.loading;
|
|
44
46
|
if (isLoadableComponent(Component)) {
|
|
45
47
|
element = /* @__PURE__ */ _jsx(Component, {
|
|
@@ -54,13 +56,14 @@ export const renderNestedRoute = (nestedRoute, options = {}) => {
|
|
|
54
56
|
} else if (isLoadableComponent(Component) && lazyImport) {
|
|
55
57
|
element = /* @__PURE__ */ _jsx(Component, {});
|
|
56
58
|
} else if (isRoot) {
|
|
59
|
+
var _props;
|
|
57
60
|
element = /* @__PURE__ */ _jsxs(_Fragment, {
|
|
58
61
|
children: [
|
|
59
62
|
/* @__PURE__ */ _jsx(Component, {
|
|
60
63
|
...props
|
|
61
64
|
}),
|
|
62
65
|
typeof document === "undefined" && DeferredDataComponent && /* @__PURE__ */ _jsx(DeferredDataComponent, {
|
|
63
|
-
nonce: props === null ||
|
|
66
|
+
nonce: (_props = props) === null || _props === void 0 ? void 0 : _props.nonce
|
|
64
67
|
})
|
|
65
68
|
]
|
|
66
69
|
});
|
|
@@ -73,13 +76,14 @@ export const renderNestedRoute = (nestedRoute, options = {}) => {
|
|
|
73
76
|
element = /* @__PURE__ */ _jsx(Component, {});
|
|
74
77
|
}
|
|
75
78
|
} else {
|
|
76
|
-
|
|
79
|
+
var _parent1;
|
|
80
|
+
nestedRoute.loading = (_parent1 = parent) === null || _parent1 === void 0 ? void 0 : _parent1.loading;
|
|
77
81
|
routeProps.element = /* @__PURE__ */ _jsx(Outlet, {});
|
|
78
82
|
}
|
|
79
83
|
if (element) {
|
|
80
84
|
routeProps.element = element;
|
|
81
85
|
}
|
|
82
|
-
const childElements = children === null ||
|
|
86
|
+
const childElements = (_children = children) === null || _children === void 0 ? void 0 : _children.map((childRoute) => {
|
|
83
87
|
return renderNestedRoute(childRoute, {
|
|
84
88
|
parent: nestedRoute,
|
|
85
89
|
reporter
|
|
@@ -106,7 +110,8 @@ function createLoader(route, reporter) {
|
|
|
106
110
|
const res = await loader(args);
|
|
107
111
|
const cost = end();
|
|
108
112
|
if (typeof document === "undefined" && reporter) {
|
|
109
|
-
|
|
113
|
+
var _reporter;
|
|
114
|
+
(_reporter = reporter) === null || _reporter === void 0 ? void 0 : _reporter.reportTiming(`${LOADER_REPORTER_NAME}-${route.id}`, cost);
|
|
110
115
|
}
|
|
111
116
|
return res;
|
|
112
117
|
};
|
|
@@ -122,3 +127,7 @@ function createLoader(route, reporter) {
|
|
|
122
127
|
function isLoadableComponent(component) {
|
|
123
128
|
return component && component.displayName === "Loadable" && component.preload && typeof component.preload === "function";
|
|
124
129
|
}
|
|
130
|
+
export {
|
|
131
|
+
renderNestedRoute,
|
|
132
|
+
transformNestedRoutes
|
|
133
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const parsedJSONFromElement = (id) => {
|
|
2
2
|
const elements = document.querySelectorAll(`#${id}`);
|
|
3
3
|
if (elements.length === 0) {
|
|
4
4
|
return void 0;
|
|
@@ -6,7 +6,8 @@ export const parsedJSONFromElement = (id) => {
|
|
|
6
6
|
const element = elements[elements.length - 1];
|
|
7
7
|
if (element) {
|
|
8
8
|
try {
|
|
9
|
-
|
|
9
|
+
var _element;
|
|
10
|
+
const parsed = JSON.parse(((_element = element) === null || _element === void 0 ? void 0 : _element.textContent) || "");
|
|
10
11
|
return parsed;
|
|
11
12
|
} catch (e) {
|
|
12
13
|
console.error(`parse ${id} error`, e);
|
|
@@ -15,3 +16,6 @@ export const parsedJSONFromElement = (id) => {
|
|
|
15
16
|
}
|
|
16
17
|
return void 0;
|
|
17
18
|
};
|
|
19
|
+
export {
|
|
20
|
+
parsedJSONFromElement
|
|
21
|
+
};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { createStorage } from "./storage";
|
|
2
2
|
const { run, useContext: useHeaders } = createStorage();
|
|
3
|
-
|
|
4
|
-
export { serializeJson } from "./serialize";
|
|
3
|
+
import { serializeJson } from "./serialize";
|
|
5
4
|
export * from "./nestedRoutes";
|
|
6
5
|
export * from "./loaderContext";
|
|
6
|
+
export {
|
|
7
|
+
run,
|
|
8
|
+
serializeJson,
|
|
9
|
+
useHeaders
|
|
10
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
class LoaderContext {
|
|
2
2
|
getDefaultValue() {
|
|
3
3
|
if (!this.defaultValue) {
|
|
4
4
|
throw new Error("Can't get defaultValue before initialed");
|
|
@@ -10,6 +10,10 @@ export class LoaderContext {
|
|
|
10
10
|
this.symbol = Symbol("loaderContext");
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
function createLoaderContext(defaultValue) {
|
|
14
14
|
return new LoaderContext(defaultValue);
|
|
15
15
|
}
|
|
16
|
+
export {
|
|
17
|
+
LoaderContext,
|
|
18
|
+
createLoaderContext
|
|
19
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
class RequestContext {
|
|
2
2
|
get(loaderCtx) {
|
|
3
3
|
const { symbol } = loaderCtx;
|
|
4
4
|
if (this.store.get(symbol)) {
|
|
@@ -14,6 +14,10 @@ export class RequestContext {
|
|
|
14
14
|
this.store = /* @__PURE__ */ new Map();
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
function createRequestContext() {
|
|
18
18
|
return new RequestContext();
|
|
19
19
|
}
|
|
20
|
+
export {
|
|
21
|
+
RequestContext,
|
|
22
|
+
createRequestContext
|
|
23
|
+
};
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { createLoaderContext } from "./createLoaderCtx";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { createRequestContext } from "./createRequestCtx";
|
|
3
|
+
const reporterCtx = createLoaderContext();
|
|
4
|
+
export {
|
|
5
|
+
createRequestContext,
|
|
6
|
+
reporterCtx
|
|
7
|
+
};
|
|
@@ -12,7 +12,10 @@ function sortByUrlPath(entries) {
|
|
|
12
12
|
});
|
|
13
13
|
return entries;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
const matchEntry = (pathname, entries) => {
|
|
16
16
|
sortByUrlPath(entries);
|
|
17
17
|
return entries.find((entry) => pathname.startsWith(entry.urlPath));
|
|
18
18
|
};
|
|
19
|
+
export {
|
|
20
|
+
matchEntry
|
|
21
|
+
};
|
package/dist/esm-node/time.js
CHANGED
|
@@ -20,9 +20,12 @@ const getLatency = (hrtime) => {
|
|
|
20
20
|
const [s, ns] = processHrtime(hrtime);
|
|
21
21
|
return s * 1e3 + ns / 1e6;
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
const time = () => {
|
|
24
24
|
const hrtime = processHrtime();
|
|
25
25
|
return () => {
|
|
26
26
|
return getLatency(hrtime);
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
|
+
export {
|
|
30
|
+
time
|
|
31
|
+
};
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "0.0.0-nightly-
|
|
18
|
+
"version": "0.0.0-nightly-20230923161059",
|
|
19
19
|
"_comment": "Provide ESM and CJS exports, ESM is used by runtime package, for treeshaking",
|
|
20
20
|
"exports": {
|
|
21
21
|
"./router": {
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"react-router-dom": "6.15.0",
|
|
82
82
|
"@remix-run/router": "1.8.0",
|
|
83
83
|
"@swc/helpers": "0.5.1",
|
|
84
|
-
"@modern-js/utils": "0.0.0-nightly-
|
|
84
|
+
"@modern-js/utils": "0.0.0-nightly-20230923161059"
|
|
85
85
|
},
|
|
86
86
|
"peerDependencies": {
|
|
87
87
|
"react": ">=17.0.0",
|
|
@@ -103,9 +103,9 @@
|
|
|
103
103
|
"jest": "^29",
|
|
104
104
|
"typescript": "^5",
|
|
105
105
|
"@types/serialize-javascript": "^5.0.1",
|
|
106
|
-
"@modern-js/types": "0.0.0-nightly-
|
|
107
|
-
"@scripts/build": "0.0.0-nightly-
|
|
108
|
-
"@scripts/jest-config": "0.0.0-nightly-
|
|
106
|
+
"@modern-js/types": "0.0.0-nightly-20230923161059",
|
|
107
|
+
"@scripts/build": "0.0.0-nightly-20230923161059",
|
|
108
|
+
"@scripts/jest-config": "0.0.0-nightly-20230923161059"
|
|
109
109
|
},
|
|
110
110
|
"sideEffects": false,
|
|
111
111
|
"scripts": {
|