@modern-js/plugin-data-loader 0.0.0-next-20250113061659 → 0.0.0-next-20250113113359
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/cli/createRequest.js +15 -38
- package/dist/cjs/runtime/errors.js +1 -1
- package/dist/cjs/runtime/index.js +0 -1
- package/dist/esm/cli/createRequest.js +43 -79
- package/dist/esm/runtime/errors.js +1 -1
- package/dist/esm/runtime/index.js +0 -1
- package/dist/esm-node/cli/createRequest.js +15 -38
- package/dist/esm-node/runtime/errors.js +1 -1
- package/dist/esm-node/runtime/index.js +0 -1
- package/package.json +8 -8
|
@@ -46,33 +46,24 @@ const handleRedirectResponse = (res) => {
|
|
|
46
46
|
}
|
|
47
47
|
return res;
|
|
48
48
|
};
|
|
49
|
-
const
|
|
49
|
+
const handleDeferredResponse = async (res) => {
|
|
50
50
|
var _res_headers_get;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return res
|
|
51
|
+
if (((_res_headers_get = res.headers.get("Content-Type")) === null || _res_headers_get === void 0 ? void 0 : _res_headers_get.match(import_constants.CONTENT_TYPE_DEFERRED)) && res.body) {
|
|
52
|
+
return await (0, import_data.parseDeferredReadableStream)(res.body);
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
55
|
};
|
|
56
56
|
const isErrorResponse = (res) => {
|
|
57
57
|
return res.headers.get("X-Modernjs-Error") != null;
|
|
58
58
|
};
|
|
59
|
-
function isOtherErrorResponse(res) {
|
|
60
|
-
return res.status >= 400 && res.headers.get("X-Modernjs-Error") == null && res.headers.get("X-Modernjs-Catch") == null && res.headers.get("X-Modernjs-Response") == null;
|
|
61
|
-
}
|
|
62
|
-
const isCatchResponse = (res) => {
|
|
63
|
-
return res.headers.get("X-Modernjs-Catch") != null;
|
|
64
|
-
};
|
|
65
59
|
const handleErrorResponse = async (res) => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const error = new Error(text);
|
|
74
|
-
error.stack = void 0;
|
|
75
|
-
throw error;
|
|
60
|
+
if (isErrorResponse(res)) {
|
|
61
|
+
const data = await res.json();
|
|
62
|
+
const error = new Error(data.message);
|
|
63
|
+
error.stack = data.stack;
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
return res;
|
|
76
67
|
};
|
|
77
68
|
const createRequest = (routeId, method = "get") => {
|
|
78
69
|
return async ({ params, request }) => {
|
|
@@ -85,24 +76,10 @@ const createRequest = (routeId, method = "get") => {
|
|
|
85
76
|
res = await fetch(url, {
|
|
86
77
|
method,
|
|
87
78
|
signal: request.signal
|
|
88
|
-
}).catch((error) => {
|
|
89
|
-
throw error;
|
|
90
79
|
});
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (isErrorResponse(res)) {
|
|
95
|
-
return await handleErrorResponse(res);
|
|
96
|
-
}
|
|
97
|
-
if (isCatchResponse(res)) {
|
|
98
|
-
throw res;
|
|
99
|
-
}
|
|
100
|
-
if (isDeferredResponse(res)) {
|
|
101
|
-
return await (0, import_data.parseDeferredReadableStream)(res.body);
|
|
102
|
-
}
|
|
103
|
-
if (isOtherErrorResponse(res)) {
|
|
104
|
-
return await handleNetworkErrorResponse(res);
|
|
105
|
-
}
|
|
80
|
+
res = handleRedirectResponse(res);
|
|
81
|
+
res = await handleErrorResponse(res);
|
|
82
|
+
res = await handleDeferredResponse(res);
|
|
106
83
|
return res;
|
|
107
84
|
};
|
|
108
85
|
};
|
|
@@ -28,7 +28,7 @@ module.exports = __toCommonJS(errors_exports);
|
|
|
28
28
|
var import_remix_router = require("@modern-js/runtime-utils/remix-router");
|
|
29
29
|
function sanitizeError(error) {
|
|
30
30
|
if (error instanceof Error && process.env.NODE_ENV !== "development" && process.env.NODE_ENV !== "test") {
|
|
31
|
-
const sanitized = new Error(
|
|
31
|
+
const sanitized = new Error("Unexpected Server Error");
|
|
32
32
|
sanitized.stack = void 0;
|
|
33
33
|
return sanitized;
|
|
34
34
|
}
|
|
@@ -106,7 +106,6 @@ const handleRequest = async ({ request, serverRoutes, routes: routesConfig, cont
|
|
|
106
106
|
});
|
|
107
107
|
}
|
|
108
108
|
const cost = end();
|
|
109
|
-
response.headers.set("X-Modernjs-Response", "yes");
|
|
110
109
|
onTiming === null || onTiming === void 0 ? void 0 : onTiming(`${import_constants.LOADER_REPORTER_NAME}-navigation`, cost);
|
|
111
110
|
} catch (error) {
|
|
112
111
|
if (isResponse(error)) {
|
|
@@ -24,63 +24,70 @@ var handleRedirectResponse = function(res) {
|
|
|
24
24
|
}
|
|
25
25
|
return res;
|
|
26
26
|
};
|
|
27
|
-
var
|
|
28
|
-
var _res_headers_get;
|
|
29
|
-
return ((_res_headers_get = res.headers.get("Content-Type")) === null || _res_headers_get === void 0 ? void 0 : _res_headers_get.match(CONTENT_TYPE_DEFERRED)) && res.body;
|
|
30
|
-
};
|
|
31
|
-
var isRedirectResponse = function(res) {
|
|
32
|
-
return res.headers.get("X-Modernjs-Redirect") != null;
|
|
33
|
-
};
|
|
34
|
-
var isErrorResponse = function(res) {
|
|
35
|
-
return res.headers.get("X-Modernjs-Error") != null;
|
|
36
|
-
};
|
|
37
|
-
function isOtherErrorResponse(res) {
|
|
38
|
-
return res.status >= 400 && res.headers.get("X-Modernjs-Error") == null && res.headers.get("X-Modernjs-Catch") == null && res.headers.get("X-Modernjs-Response") == null;
|
|
39
|
-
}
|
|
40
|
-
var isCatchResponse = function(res) {
|
|
41
|
-
return res.headers.get("X-Modernjs-Catch") != null;
|
|
42
|
-
};
|
|
43
|
-
var handleErrorResponse = function() {
|
|
27
|
+
var handleDeferredResponse = function() {
|
|
44
28
|
var _ref = _async_to_generator(function(res) {
|
|
45
|
-
var
|
|
29
|
+
var _res_headers_get;
|
|
46
30
|
return _ts_generator(this, function(_state) {
|
|
47
31
|
switch (_state.label) {
|
|
48
32
|
case 0:
|
|
33
|
+
if (!(((_res_headers_get = res.headers.get("Content-Type")) === null || _res_headers_get === void 0 ? void 0 : _res_headers_get.match(CONTENT_TYPE_DEFERRED)) && res.body))
|
|
34
|
+
return [
|
|
35
|
+
3,
|
|
36
|
+
2
|
|
37
|
+
];
|
|
49
38
|
return [
|
|
50
39
|
4,
|
|
51
|
-
res.
|
|
40
|
+
parseDeferredReadableStream(res.body)
|
|
52
41
|
];
|
|
53
42
|
case 1:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
43
|
+
return [
|
|
44
|
+
2,
|
|
45
|
+
_state.sent()
|
|
46
|
+
];
|
|
47
|
+
case 2:
|
|
48
|
+
return [
|
|
49
|
+
2,
|
|
50
|
+
res
|
|
51
|
+
];
|
|
58
52
|
}
|
|
59
53
|
});
|
|
60
54
|
});
|
|
61
|
-
return function
|
|
55
|
+
return function handleDeferredResponse2(res) {
|
|
62
56
|
return _ref.apply(this, arguments);
|
|
63
57
|
};
|
|
64
58
|
}();
|
|
65
|
-
var
|
|
59
|
+
var isErrorResponse = function(res) {
|
|
60
|
+
return res.headers.get("X-Modernjs-Error") != null;
|
|
61
|
+
};
|
|
62
|
+
var handleErrorResponse = function() {
|
|
66
63
|
var _ref = _async_to_generator(function(res) {
|
|
67
|
-
var
|
|
64
|
+
var data, error;
|
|
68
65
|
return _ts_generator(this, function(_state) {
|
|
69
66
|
switch (_state.label) {
|
|
70
67
|
case 0:
|
|
68
|
+
if (!isErrorResponse(res))
|
|
69
|
+
return [
|
|
70
|
+
3,
|
|
71
|
+
2
|
|
72
|
+
];
|
|
71
73
|
return [
|
|
72
74
|
4,
|
|
73
|
-
res.
|
|
75
|
+
res.json()
|
|
74
76
|
];
|
|
75
77
|
case 1:
|
|
76
|
-
|
|
77
|
-
error = new Error(
|
|
78
|
-
error.stack =
|
|
78
|
+
data = _state.sent();
|
|
79
|
+
error = new Error(data.message);
|
|
80
|
+
error.stack = data.stack;
|
|
79
81
|
throw error;
|
|
82
|
+
case 2:
|
|
83
|
+
return [
|
|
84
|
+
2,
|
|
85
|
+
res
|
|
86
|
+
];
|
|
80
87
|
}
|
|
81
88
|
});
|
|
82
89
|
});
|
|
83
|
-
return function
|
|
90
|
+
return function handleErrorResponse2(res) {
|
|
84
91
|
return _ref.apply(this, arguments);
|
|
85
92
|
};
|
|
86
93
|
}();
|
|
@@ -103,66 +110,23 @@ var createRequest = function(routeId) {
|
|
|
103
110
|
fetch(url, {
|
|
104
111
|
method,
|
|
105
112
|
signal: request.signal
|
|
106
|
-
}).catch(function(error) {
|
|
107
|
-
throw error;
|
|
108
113
|
})
|
|
109
114
|
];
|
|
110
115
|
case 1:
|
|
111
116
|
res = _state.sent();
|
|
112
|
-
|
|
113
|
-
return [
|
|
114
|
-
2,
|
|
115
|
-
handleRedirectResponse(res)
|
|
116
|
-
];
|
|
117
|
-
}
|
|
118
|
-
if (!isErrorResponse(res))
|
|
119
|
-
return [
|
|
120
|
-
3,
|
|
121
|
-
3
|
|
122
|
-
];
|
|
117
|
+
res = handleRedirectResponse(res);
|
|
123
118
|
return [
|
|
124
119
|
4,
|
|
125
120
|
handleErrorResponse(res)
|
|
126
121
|
];
|
|
127
122
|
case 2:
|
|
128
|
-
|
|
129
|
-
2,
|
|
130
|
-
_state.sent()
|
|
131
|
-
];
|
|
132
|
-
case 3:
|
|
133
|
-
if (isCatchResponse(res)) {
|
|
134
|
-
throw res;
|
|
135
|
-
}
|
|
136
|
-
if (!isDeferredResponse(res))
|
|
137
|
-
return [
|
|
138
|
-
3,
|
|
139
|
-
5
|
|
140
|
-
];
|
|
141
|
-
return [
|
|
142
|
-
4,
|
|
143
|
-
parseDeferredReadableStream(res.body)
|
|
144
|
-
];
|
|
145
|
-
case 4:
|
|
146
|
-
return [
|
|
147
|
-
2,
|
|
148
|
-
_state.sent()
|
|
149
|
-
];
|
|
150
|
-
case 5:
|
|
151
|
-
if (!isOtherErrorResponse(res))
|
|
152
|
-
return [
|
|
153
|
-
3,
|
|
154
|
-
7
|
|
155
|
-
];
|
|
123
|
+
res = _state.sent();
|
|
156
124
|
return [
|
|
157
125
|
4,
|
|
158
|
-
|
|
126
|
+
handleDeferredResponse(res)
|
|
159
127
|
];
|
|
160
|
-
case
|
|
161
|
-
|
|
162
|
-
2,
|
|
163
|
-
_state.sent()
|
|
164
|
-
];
|
|
165
|
-
case 7:
|
|
128
|
+
case 3:
|
|
129
|
+
res = _state.sent();
|
|
166
130
|
return [
|
|
167
131
|
2,
|
|
168
132
|
res
|
|
@@ -6,7 +6,7 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
|
6
6
|
import { isRouteErrorResponse, json } from "@modern-js/runtime-utils/remix-router";
|
|
7
7
|
function sanitizeError(error) {
|
|
8
8
|
if (_instanceof(error, Error) && process.env.NODE_ENV !== "development" && process.env.NODE_ENV !== "test") {
|
|
9
|
-
var sanitized = new Error(
|
|
9
|
+
var sanitized = new Error("Unexpected Server Error");
|
|
10
10
|
sanitized.stack = void 0;
|
|
11
11
|
return sanitized;
|
|
12
12
|
}
|
|
@@ -104,7 +104,6 @@ var handleRequest = function() {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
cost = end();
|
|
107
|
-
response.headers.set("X-Modernjs-Response", "yes");
|
|
108
107
|
onTiming === null || onTiming === void 0 ? void 0 : onTiming("".concat(LOADER_REPORTER_NAME, "-navigation"), cost);
|
|
109
108
|
return [
|
|
110
109
|
3,
|
|
@@ -21,33 +21,24 @@ const handleRedirectResponse = (res) => {
|
|
|
21
21
|
}
|
|
22
22
|
return res;
|
|
23
23
|
};
|
|
24
|
-
const
|
|
24
|
+
const handleDeferredResponse = async (res) => {
|
|
25
25
|
var _res_headers_get;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return res
|
|
26
|
+
if (((_res_headers_get = res.headers.get("Content-Type")) === null || _res_headers_get === void 0 ? void 0 : _res_headers_get.match(CONTENT_TYPE_DEFERRED)) && res.body) {
|
|
27
|
+
return await parseDeferredReadableStream(res.body);
|
|
28
|
+
}
|
|
29
|
+
return res;
|
|
30
30
|
};
|
|
31
31
|
const isErrorResponse = (res) => {
|
|
32
32
|
return res.headers.get("X-Modernjs-Error") != null;
|
|
33
33
|
};
|
|
34
|
-
function isOtherErrorResponse(res) {
|
|
35
|
-
return res.status >= 400 && res.headers.get("X-Modernjs-Error") == null && res.headers.get("X-Modernjs-Catch") == null && res.headers.get("X-Modernjs-Response") == null;
|
|
36
|
-
}
|
|
37
|
-
const isCatchResponse = (res) => {
|
|
38
|
-
return res.headers.get("X-Modernjs-Catch") != null;
|
|
39
|
-
};
|
|
40
34
|
const handleErrorResponse = async (res) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const error = new Error(text);
|
|
49
|
-
error.stack = void 0;
|
|
50
|
-
throw error;
|
|
35
|
+
if (isErrorResponse(res)) {
|
|
36
|
+
const data = await res.json();
|
|
37
|
+
const error = new Error(data.message);
|
|
38
|
+
error.stack = data.stack;
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
return res;
|
|
51
42
|
};
|
|
52
43
|
const createRequest = (routeId, method = "get") => {
|
|
53
44
|
return async ({ params, request }) => {
|
|
@@ -60,24 +51,10 @@ const createRequest = (routeId, method = "get") => {
|
|
|
60
51
|
res = await fetch(url, {
|
|
61
52
|
method,
|
|
62
53
|
signal: request.signal
|
|
63
|
-
}).catch((error) => {
|
|
64
|
-
throw error;
|
|
65
54
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (isErrorResponse(res)) {
|
|
70
|
-
return await handleErrorResponse(res);
|
|
71
|
-
}
|
|
72
|
-
if (isCatchResponse(res)) {
|
|
73
|
-
throw res;
|
|
74
|
-
}
|
|
75
|
-
if (isDeferredResponse(res)) {
|
|
76
|
-
return await parseDeferredReadableStream(res.body);
|
|
77
|
-
}
|
|
78
|
-
if (isOtherErrorResponse(res)) {
|
|
79
|
-
return await handleNetworkErrorResponse(res);
|
|
80
|
-
}
|
|
55
|
+
res = handleRedirectResponse(res);
|
|
56
|
+
res = await handleErrorResponse(res);
|
|
57
|
+
res = await handleDeferredResponse(res);
|
|
81
58
|
return res;
|
|
82
59
|
};
|
|
83
60
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isRouteErrorResponse, json } from "@modern-js/runtime-utils/remix-router";
|
|
2
2
|
function sanitizeError(error) {
|
|
3
3
|
if (error instanceof Error && process.env.NODE_ENV !== "development" && process.env.NODE_ENV !== "test") {
|
|
4
|
-
const sanitized = new Error(
|
|
4
|
+
const sanitized = new Error("Unexpected Server Error");
|
|
5
5
|
sanitized.stack = void 0;
|
|
6
6
|
return sanitized;
|
|
7
7
|
}
|
|
@@ -81,7 +81,6 @@ const handleRequest = async ({ request, serverRoutes, routes: routesConfig, cont
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
const cost = end();
|
|
84
|
-
response.headers.set("X-Modernjs-Response", "yes");
|
|
85
84
|
onTiming === null || onTiming === void 0 ? void 0 : onTiming(`${LOADER_REPORTER_NAME}-navigation`, cost);
|
|
86
85
|
} catch (error) {
|
|
87
86
|
if (isResponse(error)) {
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "0.0.0-next-
|
|
18
|
+
"version": "0.0.0-next-20250113113359",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=16.2.0"
|
|
21
21
|
},
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"@babel/core": "^7.26.0",
|
|
50
50
|
"@swc/helpers": "0.5.13",
|
|
51
51
|
"path-to-regexp": "^6.2.0",
|
|
52
|
-
"@modern-js/runtime-utils": "0.0.0-next-
|
|
53
|
-
"@modern-js/utils": "0.0.0-next-
|
|
52
|
+
"@modern-js/runtime-utils": "0.0.0-next-20250113113359",
|
|
53
|
+
"@modern-js/utils": "0.0.0-next-20250113113359"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/babel__core": "^7.20.5",
|
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
"ts-jest": "^29.1.0",
|
|
67
67
|
"typescript": "^5",
|
|
68
68
|
"webpack": "^5.97.1",
|
|
69
|
-
"@modern-js/core": "0.0.0-next-
|
|
70
|
-
"@modern-js/
|
|
71
|
-
"@modern-js/types": "0.0.0-next-
|
|
72
|
-
"@scripts/jest-config": "0.0.0-next-
|
|
73
|
-
"@scripts/build": "0.0.0-next-
|
|
69
|
+
"@modern-js/server-core": "0.0.0-next-20250113113359",
|
|
70
|
+
"@modern-js/core": "0.0.0-next-20250113113359",
|
|
71
|
+
"@modern-js/types": "0.0.0-next-20250113113359",
|
|
72
|
+
"@scripts/jest-config": "0.0.0-next-20250113113359",
|
|
73
|
+
"@scripts/build": "0.0.0-next-20250113113359"
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
76
76
|
"react": ">=17.0.0"
|