@modern-js/plugin-data-loader 2.17.1 → 2.18.1
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/CHANGELOG.md +12 -0
- package/dist/cjs/cli/data.js +3 -3
- package/dist/cjs/runtime/index.js +6 -7
- package/dist/cjs/runtime/response.js +2 -2
- package/dist/cjs/server/index.js +4 -4
- package/dist/esm/cli/createRequest.js +4 -4
- package/dist/esm/cli/data.js +11 -11
- package/dist/esm/runtime/index.js +3 -4
- package/dist/esm/runtime/response.js +2 -2
- package/dist/esm/server/index.js +4 -4
- package/dist/esm-node/cli/data.js +1 -1
- package/dist/esm-node/runtime/index.js +1 -2
- package/dist/esm-node/runtime/response.js +1 -1
- package/dist/esm-node/server/index.js +1 -1
- package/dist/types/cli/createRequest.d.ts +1 -1
- package/dist/types/cli/data.d.ts +1 -1
- package/dist/types/runtime/response.d.ts +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
package/dist/cjs/cli/data.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "parseDeferredReadableStream", {
|
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: () => parseDeferredReadableStream
|
|
8
8
|
});
|
|
9
|
-
const
|
|
9
|
+
const _router = require("@modern-js/utils/runtime/router");
|
|
10
10
|
const DEFERRED_VALUE_PLACEHOLDER_PREFIX = "__deferred_promise:";
|
|
11
11
|
async function parseDeferredReadableStream(stream) {
|
|
12
12
|
if (!stream) {
|
|
@@ -65,7 +65,7 @@ async function parseDeferredReadableStream(stream) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
for (const [key, resolver] of Object.entries(deferredResolvers)) {
|
|
68
|
-
resolver.reject(new
|
|
68
|
+
resolver.reject(new _router.AbortedDeferredError(`Deferred ${key} will never resolved`));
|
|
69
69
|
}
|
|
70
70
|
} catch (error) {
|
|
71
71
|
for (const resolver of Object.values(deferredResolvers)) {
|
|
@@ -73,7 +73,7 @@ async function parseDeferredReadableStream(stream) {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
})();
|
|
76
|
-
return new
|
|
76
|
+
return new _router.UNSAFE_DeferredData({
|
|
77
77
|
...criticalData,
|
|
78
78
|
...deferredData
|
|
79
79
|
});
|
|
@@ -15,9 +15,8 @@ _export(exports, {
|
|
|
15
15
|
handleRequest: () => handleRequest
|
|
16
16
|
});
|
|
17
17
|
const _node = require("@remix-run/node");
|
|
18
|
-
const
|
|
18
|
+
const _router = require("@modern-js/utils/runtime/router");
|
|
19
19
|
const _lodash = require("@modern-js/utils/lodash");
|
|
20
|
-
const _nestedRoutes = require("@modern-js/utils/universal/nestedRoutes");
|
|
21
20
|
const _constants = require("../common/constants");
|
|
22
21
|
const _utils = require("../common/utils");
|
|
23
22
|
const _response = require("./response");
|
|
@@ -97,8 +96,8 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
97
96
|
throw new Error("CSR data loader request only support http GET method");
|
|
98
97
|
}
|
|
99
98
|
const basename = entry.urlPath;
|
|
100
|
-
const routes = (0,
|
|
101
|
-
const { queryRoute } = (0,
|
|
99
|
+
const routes = (0, _router.transformNestedRoutes)(routesConfig);
|
|
100
|
+
const { queryRoute } = (0, _router.createStaticHandler)(routes, {
|
|
102
101
|
basename
|
|
103
102
|
});
|
|
104
103
|
const { res, logger } = context;
|
|
@@ -110,8 +109,8 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
110
109
|
});
|
|
111
110
|
if (isResponse(response) && isRedirectResponse(response.status)) {
|
|
112
111
|
response = convertModernRedirectResponse(response.headers, basename);
|
|
113
|
-
} else if ((0, _lodash.isPlainObject)(response) &&
|
|
114
|
-
const deferredData = response[
|
|
112
|
+
} else if ((0, _lodash.isPlainObject)(response) && _router.UNSAFE_DEFERRED_SYMBOL in response) {
|
|
113
|
+
const deferredData = response[_router.UNSAFE_DEFERRED_SYMBOL];
|
|
115
114
|
const body = (0, _response.createDeferredReadableStream)(deferredData, request.signal);
|
|
116
115
|
const init = deferredData.init || {};
|
|
117
116
|
if (init.status && isRedirectResponse(init.status)) {
|
|
@@ -133,7 +132,7 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
133
132
|
});
|
|
134
133
|
}
|
|
135
134
|
} catch (error) {
|
|
136
|
-
const message = error instanceof
|
|
135
|
+
const message = error instanceof _router.ErrorResponse ? error.data : String(error);
|
|
137
136
|
logger === null || logger === void 0 ? void 0 : logger.error(message);
|
|
138
137
|
response = new _node.Response(message, {
|
|
139
138
|
status: 500,
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "createDeferredReadableStream", {
|
|
|
7
7
|
get: () => createDeferredReadableStream
|
|
8
8
|
});
|
|
9
9
|
const _util = require("util");
|
|
10
|
-
const
|
|
10
|
+
const _runtimenode = require("@modern-js/utils/runtime-node");
|
|
11
11
|
function isTrackedPromise(value) {
|
|
12
12
|
return value != null && typeof value.then === "function" && value._tracked === true;
|
|
13
13
|
}
|
|
@@ -49,7 +49,7 @@ function createDeferredReadableStream(deferredData, signal) {
|
|
|
49
49
|
function enqueueTrackedPromise(controller, encoder, settledKey, promise) {
|
|
50
50
|
if ("_error" in promise) {
|
|
51
51
|
const { _error } = promise;
|
|
52
|
-
controller.enqueue(encoder.encode(`error:${(0,
|
|
52
|
+
controller.enqueue(encoder.encode(`error:${(0, _runtimenode.serializeJson)({
|
|
53
53
|
[settledKey]: {
|
|
54
54
|
message: _error.message,
|
|
55
55
|
stack: _error.stack
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
});
|
|
9
9
|
const _path = /* @__PURE__ */ _interop_require_default(require("path"));
|
|
10
10
|
const _fs = /* @__PURE__ */ _interop_require_default(require("fs"));
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const _utils = require("@modern-js/utils");
|
|
12
|
+
const _utils1 = require("../common/utils");
|
|
13
13
|
function _interop_require_default(obj) {
|
|
14
14
|
return obj && obj.__esModule ? obj : {
|
|
15
15
|
default: obj
|
|
@@ -60,11 +60,11 @@ const _default = () => ({
|
|
|
60
60
|
setup: () => ({
|
|
61
61
|
prepareLoaderHandler({ serverRoutes, distDir }) {
|
|
62
62
|
return async (context) => {
|
|
63
|
-
const entry = (0,
|
|
63
|
+
const entry = (0, _utils1.matchEntry)(context.path, serverRoutes);
|
|
64
64
|
if (!entry) {
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
const routesPath = _path.default.join(distDir,
|
|
67
|
+
const routesPath = _path.default.join(distDir, _utils.SERVER_BUNDLE_DIRECTORY, `${entry.entryName || _utils.MAIN_ENTRY_NAME}-server-loaders.js`);
|
|
68
68
|
if (!_fs.default.existsSync(routesPath)) {
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
@@ -195,14 +195,14 @@ export var createRequest = function(routeId) {
|
|
|
195
195
|
case 0:
|
|
196
196
|
params = param.params, request = param.request;
|
|
197
197
|
url = getRequestUrl({
|
|
198
|
-
params,
|
|
199
|
-
request,
|
|
200
|
-
routeId
|
|
198
|
+
params: params,
|
|
199
|
+
request: request,
|
|
200
|
+
routeId: routeId
|
|
201
201
|
});
|
|
202
202
|
return [
|
|
203
203
|
4,
|
|
204
204
|
fetch(url, {
|
|
205
|
-
method,
|
|
205
|
+
method: method,
|
|
206
206
|
signal: request.signal
|
|
207
207
|
})
|
|
208
208
|
];
|
package/dist/esm/cli/data.js
CHANGED
|
@@ -18,10 +18,10 @@ function _async_generator(gen) {
|
|
|
18
18
|
function send(key, arg) {
|
|
19
19
|
return new Promise(function(resolve, reject) {
|
|
20
20
|
var request = {
|
|
21
|
-
key,
|
|
22
|
-
arg,
|
|
23
|
-
resolve,
|
|
24
|
-
reject,
|
|
21
|
+
key: key,
|
|
22
|
+
arg: arg,
|
|
23
|
+
resolve: resolve,
|
|
24
|
+
reject: reject,
|
|
25
25
|
next: null
|
|
26
26
|
};
|
|
27
27
|
if (back) {
|
|
@@ -54,7 +54,7 @@ function _async_generator(gen) {
|
|
|
54
54
|
switch (type) {
|
|
55
55
|
case "return":
|
|
56
56
|
front.resolve({
|
|
57
|
-
value,
|
|
57
|
+
value: value,
|
|
58
58
|
done: true
|
|
59
59
|
});
|
|
60
60
|
break;
|
|
@@ -63,7 +63,7 @@ function _async_generator(gen) {
|
|
|
63
63
|
break;
|
|
64
64
|
default:
|
|
65
65
|
front.resolve({
|
|
66
|
-
value,
|
|
66
|
+
value: value,
|
|
67
67
|
done: false
|
|
68
68
|
});
|
|
69
69
|
break;
|
|
@@ -112,8 +112,8 @@ function AsyncFromSyncIterator(s) {
|
|
|
112
112
|
var done = r.done;
|
|
113
113
|
return Promise.resolve(r.value).then(function(value) {
|
|
114
114
|
return {
|
|
115
|
-
value,
|
|
116
|
-
done
|
|
115
|
+
value: value,
|
|
116
|
+
done: done
|
|
117
117
|
};
|
|
118
118
|
});
|
|
119
119
|
}
|
|
@@ -128,7 +128,7 @@ function AsyncFromSyncIterator(s) {
|
|
|
128
128
|
return: function(value) {
|
|
129
129
|
var ret = this.s.return;
|
|
130
130
|
return void 0 === ret ? Promise.resolve({
|
|
131
|
-
value,
|
|
131
|
+
value: value,
|
|
132
132
|
done: true
|
|
133
133
|
}) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments));
|
|
134
134
|
},
|
|
@@ -176,7 +176,7 @@ function _await_value(value) {
|
|
|
176
176
|
function _define_property(obj, key, value) {
|
|
177
177
|
if (key in obj) {
|
|
178
178
|
Object.defineProperty(obj, key, {
|
|
179
|
-
value,
|
|
179
|
+
value: value,
|
|
180
180
|
enumerable: true,
|
|
181
181
|
configurable: true,
|
|
182
182
|
writable: true
|
|
@@ -368,7 +368,7 @@ var __generator = function(thisArg, body) {
|
|
|
368
368
|
};
|
|
369
369
|
}
|
|
370
370
|
};
|
|
371
|
-
import { UNSAFE_DeferredData as DeferredData, AbortedDeferredError } from "@modern-js/utils/
|
|
371
|
+
import { UNSAFE_DeferredData as DeferredData, AbortedDeferredError } from "@modern-js/utils/runtime/router";
|
|
372
372
|
var DEFERRED_VALUE_PLACEHOLDER_PREFIX = "__deferred_promise:";
|
|
373
373
|
export function parseDeferredReadableStream(stream) {
|
|
374
374
|
return _parseDeferredReadableStream.apply(this, arguments);
|
|
@@ -195,9 +195,8 @@ var __generator = function(thisArg, body) {
|
|
|
195
195
|
}
|
|
196
196
|
};
|
|
197
197
|
import { installGlobals, writeReadableStreamToWritable, Response as NodeResponse } from "@remix-run/node";
|
|
198
|
-
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL } from "@modern-js/utils/
|
|
198
|
+
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL, transformNestedRoutes } from "@modern-js/utils/runtime/router";
|
|
199
199
|
import { isPlainObject } from "@modern-js/utils/lodash";
|
|
200
|
-
import { transformNestedRoutes } from "@modern-js/utils/universal/nestedRoutes";
|
|
201
200
|
import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
|
|
202
201
|
import { matchEntry } from "../common/utils";
|
|
203
202
|
import { createDeferredReadableStream } from "./response";
|
|
@@ -366,7 +365,7 @@ export var handleRequest = function() {
|
|
|
366
365
|
basename = entry.urlPath;
|
|
367
366
|
routes = transformNestedRoutes(routesConfig);
|
|
368
367
|
queryRoute = createStaticHandler(routes, {
|
|
369
|
-
basename
|
|
368
|
+
basename: basename
|
|
370
369
|
}).queryRoute;
|
|
371
370
|
res = context.res, logger = context.logger;
|
|
372
371
|
request = createLoaderRequest(context);
|
|
@@ -381,7 +380,7 @@ export var handleRequest = function() {
|
|
|
381
380
|
return [
|
|
382
381
|
4,
|
|
383
382
|
queryRoute(request, {
|
|
384
|
-
routeId
|
|
383
|
+
routeId: routeId
|
|
385
384
|
})
|
|
386
385
|
];
|
|
387
386
|
case 2:
|
|
@@ -41,7 +41,7 @@ function _async_to_generator(fn) {
|
|
|
41
41
|
function _define_property(obj, key, value) {
|
|
42
42
|
if (key in obj) {
|
|
43
43
|
Object.defineProperty(obj, key, {
|
|
44
|
-
value,
|
|
44
|
+
value: value,
|
|
45
45
|
enumerable: true,
|
|
46
46
|
configurable: true,
|
|
47
47
|
writable: true
|
|
@@ -201,7 +201,7 @@ var __generator = function(thisArg, body) {
|
|
|
201
201
|
}
|
|
202
202
|
};
|
|
203
203
|
import { TextEncoder } from "util";
|
|
204
|
-
import { serializeJson } from "@modern-js/utils/
|
|
204
|
+
import { serializeJson } from "@modern-js/utils/runtime-node";
|
|
205
205
|
function isTrackedPromise(value) {
|
|
206
206
|
return value != null && typeof value.then === "function" && value._tracked === true;
|
|
207
207
|
}
|
package/dist/esm/server/index.js
CHANGED
|
@@ -131,7 +131,7 @@ var __generator = function(thisArg, body) {
|
|
|
131
131
|
};
|
|
132
132
|
import path from "path";
|
|
133
133
|
import fs from "fs";
|
|
134
|
-
import { MAIN_ENTRY_NAME, SERVER_BUNDLE_DIRECTORY } from "@modern-js/utils
|
|
134
|
+
import { MAIN_ENTRY_NAME, SERVER_BUNDLE_DIRECTORY } from "@modern-js/utils";
|
|
135
135
|
import { matchEntry } from "../common/utils";
|
|
136
136
|
export default function() {
|
|
137
137
|
return {
|
|
@@ -172,9 +172,9 @@ export default function() {
|
|
|
172
172
|
return [
|
|
173
173
|
2,
|
|
174
174
|
handleRequest({
|
|
175
|
-
serverRoutes,
|
|
176
|
-
context,
|
|
177
|
-
routes
|
|
175
|
+
serverRoutes: serverRoutes,
|
|
176
|
+
context: context,
|
|
177
|
+
routes: routes
|
|
178
178
|
})
|
|
179
179
|
];
|
|
180
180
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UNSAFE_DeferredData as DeferredData, AbortedDeferredError } from "@modern-js/utils/
|
|
1
|
+
import { UNSAFE_DeferredData as DeferredData, AbortedDeferredError } from "@modern-js/utils/runtime/router";
|
|
2
2
|
const DEFERRED_VALUE_PLACEHOLDER_PREFIX = "__deferred_promise:";
|
|
3
3
|
export async function parseDeferredReadableStream(stream) {
|
|
4
4
|
if (!stream) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { installGlobals, writeReadableStreamToWritable, Response as NodeResponse } from "@remix-run/node";
|
|
2
|
-
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL } from "@modern-js/utils/
|
|
2
|
+
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL, transformNestedRoutes } from "@modern-js/utils/runtime/router";
|
|
3
3
|
import { isPlainObject } from "@modern-js/utils/lodash";
|
|
4
|
-
import { transformNestedRoutes } from "@modern-js/utils/universal/nestedRoutes";
|
|
5
4
|
import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
|
|
6
5
|
import { matchEntry } from "../common/utils";
|
|
7
6
|
import { createDeferredReadableStream } from "./response";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TextEncoder } from "util";
|
|
2
|
-
import { serializeJson } from "@modern-js/utils/
|
|
2
|
+
import { serializeJson } from "@modern-js/utils/runtime-node";
|
|
3
3
|
function isTrackedPromise(value) {
|
|
4
4
|
return value != null && typeof value.then === "function" && value._tracked === true;
|
|
5
5
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import fs from "fs";
|
|
3
|
-
import { MAIN_ENTRY_NAME, SERVER_BUNDLE_DIRECTORY } from "@modern-js/utils
|
|
3
|
+
import { MAIN_ENTRY_NAME, SERVER_BUNDLE_DIRECTORY } from "@modern-js/utils";
|
|
4
4
|
import { matchEntry } from "../common/utils";
|
|
5
5
|
export default () => ({
|
|
6
6
|
name: "@modern-js/plugin-data-loader",
|
package/dist/types/cli/data.d.ts
CHANGED
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
* Copyright 2021 Remix Software Inc.
|
|
8
8
|
* https://github.com/remix-run/remix/blob/2b5e1a72fc628d0408e27cf4d72e537762f1dc5b/LICENSE.md
|
|
9
9
|
*/
|
|
10
|
-
import { UNSAFE_DeferredData as DeferredData } from '@modern-js/utils/
|
|
10
|
+
import { UNSAFE_DeferredData as DeferredData } from '@modern-js/utils/runtime/router';
|
|
11
11
|
export declare function parseDeferredReadableStream(stream: ReadableStream<Uint8Array>): Promise<DeferredData>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { type UNSAFE_DeferredData as DeferredData } from '@modern-js/utils/
|
|
1
|
+
import { type UNSAFE_DeferredData as DeferredData } from '@modern-js/utils/runtime/router';
|
|
2
2
|
export declare function createDeferredReadableStream(deferredData: DeferredData, signal: AbortSignal): any;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.18.1",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=14.17.6"
|
|
21
21
|
},
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@remix-run/node": "^1.12.0",
|
|
60
60
|
"path-to-regexp": "^6.2.0",
|
|
61
61
|
"react-router-dom": "^6.8.1",
|
|
62
|
-
"@modern-js/utils": "2.
|
|
62
|
+
"@modern-js/utils": "2.18.1"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@types/babel__core": "^7.1.15",
|
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
"webpack-chain": "^6.5.1",
|
|
77
77
|
"react": ">=17.0.0",
|
|
78
78
|
"react-router-dom": "^6.8.1",
|
|
79
|
-
"@modern-js/core": "2.
|
|
80
|
-
"@modern-js/server-core": "2.
|
|
81
|
-
"@modern-js/types": "2.
|
|
82
|
-
"@scripts/
|
|
83
|
-
"@scripts/
|
|
79
|
+
"@modern-js/core": "2.18.1",
|
|
80
|
+
"@modern-js/server-core": "2.18.1",
|
|
81
|
+
"@modern-js/types": "2.18.1",
|
|
82
|
+
"@scripts/jest-config": "2.18.1",
|
|
83
|
+
"@scripts/build": "2.18.1"
|
|
84
84
|
},
|
|
85
85
|
"peerDependencies": {
|
|
86
86
|
"react": ">=17.0.0",
|