@modern-js/plugin-data-loader 0.0.0-next-1683622185939 → 0.0.0-next-1683623792316
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 +2 -8
- package/dist/cjs/cli/data.js +3 -3
- package/dist/cjs/runtime/index.js +7 -6
- 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 +4 -3
- 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 +2 -1
- 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
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
# @modern-js/plugin-data-loader
|
|
2
2
|
|
|
3
|
-
## 0.0.0-next-
|
|
3
|
+
## 0.0.0-next-1683623792316
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
- @modern-js/utils@0.0.0-next-
|
|
8
|
-
|
|
9
|
-
## 2.18.0
|
|
10
|
-
|
|
11
|
-
### Patch Changes
|
|
12
|
-
|
|
13
|
-
- @modern-js/utils@2.18.0
|
|
7
|
+
- @modern-js/utils@0.0.0-next-1683623792316
|
|
14
8
|
|
|
15
9
|
## 2.17.1
|
|
16
10
|
|
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 _remixrouter = require("@modern-js/utils/universal/remix-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 _remixrouter.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 _remixrouter.UNSAFE_DeferredData({
|
|
77
77
|
...criticalData,
|
|
78
78
|
...deferredData
|
|
79
79
|
});
|
|
@@ -15,8 +15,9 @@ _export(exports, {
|
|
|
15
15
|
handleRequest: () => handleRequest
|
|
16
16
|
});
|
|
17
17
|
const _node = require("@remix-run/node");
|
|
18
|
-
const
|
|
18
|
+
const _remixrouter = require("@modern-js/utils/universal/remix-router");
|
|
19
19
|
const _lodash = require("@modern-js/utils/lodash");
|
|
20
|
+
const _nestedRoutes = require("@modern-js/utils/universal/nestedRoutes");
|
|
20
21
|
const _constants = require("../common/constants");
|
|
21
22
|
const _utils = require("../common/utils");
|
|
22
23
|
const _response = require("./response");
|
|
@@ -96,8 +97,8 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
96
97
|
throw new Error("CSR data loader request only support http GET method");
|
|
97
98
|
}
|
|
98
99
|
const basename = entry.urlPath;
|
|
99
|
-
const routes = (0,
|
|
100
|
-
const { queryRoute } = (0,
|
|
100
|
+
const routes = (0, _nestedRoutes.transformNestedRoutes)(routesConfig);
|
|
101
|
+
const { queryRoute } = (0, _remixrouter.createStaticHandler)(routes, {
|
|
101
102
|
basename
|
|
102
103
|
});
|
|
103
104
|
const { res, logger } = context;
|
|
@@ -109,8 +110,8 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
109
110
|
});
|
|
110
111
|
if (isResponse(response) && isRedirectResponse(response.status)) {
|
|
111
112
|
response = convertModernRedirectResponse(response.headers, basename);
|
|
112
|
-
} else if ((0, _lodash.isPlainObject)(response) &&
|
|
113
|
-
const deferredData = response[
|
|
113
|
+
} else if ((0, _lodash.isPlainObject)(response) && _remixrouter.UNSAFE_DEFERRED_SYMBOL in response) {
|
|
114
|
+
const deferredData = response[_remixrouter.UNSAFE_DEFERRED_SYMBOL];
|
|
114
115
|
const body = (0, _response.createDeferredReadableStream)(deferredData, request.signal);
|
|
115
116
|
const init = deferredData.init || {};
|
|
116
117
|
if (init.status && isRedirectResponse(init.status)) {
|
|
@@ -132,7 +133,7 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
132
133
|
});
|
|
133
134
|
}
|
|
134
135
|
} catch (error) {
|
|
135
|
-
const message = error instanceof
|
|
136
|
+
const message = error instanceof _remixrouter.ErrorResponse ? error.data : String(error);
|
|
136
137
|
logger === null || logger === void 0 ? void 0 : logger.error(message);
|
|
137
138
|
response = new _node.Response(message, {
|
|
138
139
|
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 _serialize = require("@modern-js/utils/universal/serialize");
|
|
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, _serialize.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 _constants = require("@modern-js/utils/constants");
|
|
12
|
+
const _utils = 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, _utils.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, _constants.SERVER_BUNDLE_DIRECTORY, `${entry.entryName || _constants.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,
|
|
199
|
+
request,
|
|
200
|
+
routeId
|
|
201
201
|
});
|
|
202
202
|
return [
|
|
203
203
|
4,
|
|
204
204
|
fetch(url, {
|
|
205
|
-
method
|
|
205
|
+
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,
|
|
22
|
+
arg,
|
|
23
|
+
resolve,
|
|
24
|
+
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,
|
|
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,
|
|
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,
|
|
116
|
+
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,
|
|
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,
|
|
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/universal/remix-router";
|
|
372
372
|
var DEFERRED_VALUE_PLACEHOLDER_PREFIX = "__deferred_promise:";
|
|
373
373
|
export function parseDeferredReadableStream(stream) {
|
|
374
374
|
return _parseDeferredReadableStream.apply(this, arguments);
|
|
@@ -195,8 +195,9 @@ 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
|
|
198
|
+
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL } from "@modern-js/utils/universal/remix-router";
|
|
199
199
|
import { isPlainObject } from "@modern-js/utils/lodash";
|
|
200
|
+
import { transformNestedRoutes } from "@modern-js/utils/universal/nestedRoutes";
|
|
200
201
|
import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
|
|
201
202
|
import { matchEntry } from "../common/utils";
|
|
202
203
|
import { createDeferredReadableStream } from "./response";
|
|
@@ -365,7 +366,7 @@ export var handleRequest = function() {
|
|
|
365
366
|
basename = entry.urlPath;
|
|
366
367
|
routes = transformNestedRoutes(routesConfig);
|
|
367
368
|
queryRoute = createStaticHandler(routes, {
|
|
368
|
-
basename
|
|
369
|
+
basename
|
|
369
370
|
}).queryRoute;
|
|
370
371
|
res = context.res, logger = context.logger;
|
|
371
372
|
request = createLoaderRequest(context);
|
|
@@ -380,7 +381,7 @@ export var handleRequest = function() {
|
|
|
380
381
|
return [
|
|
381
382
|
4,
|
|
382
383
|
queryRoute(request, {
|
|
383
|
-
routeId
|
|
384
|
+
routeId
|
|
384
385
|
})
|
|
385
386
|
];
|
|
386
387
|
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,
|
|
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/universal/serialize";
|
|
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/constants";
|
|
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,
|
|
176
|
+
context,
|
|
177
|
+
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/universal/remix-router";
|
|
2
2
|
const DEFERRED_VALUE_PLACEHOLDER_PREFIX = "__deferred_promise:";
|
|
3
3
|
export async function parseDeferredReadableStream(stream) {
|
|
4
4
|
if (!stream) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { installGlobals, writeReadableStreamToWritable, Response as NodeResponse } from "@remix-run/node";
|
|
2
|
-
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL
|
|
2
|
+
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL } from "@modern-js/utils/universal/remix-router";
|
|
3
3
|
import { isPlainObject } from "@modern-js/utils/lodash";
|
|
4
|
+
import { transformNestedRoutes } from "@modern-js/utils/universal/nestedRoutes";
|
|
4
5
|
import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
|
|
5
6
|
import { matchEntry } from "../common/utils";
|
|
6
7
|
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/universal/serialize";
|
|
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/constants";
|
|
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/universal/remix-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/universal/remix-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": "0.0.0-next-
|
|
18
|
+
"version": "0.0.0-next-1683623792316",
|
|
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": "0.0.0-next-
|
|
62
|
+
"@modern-js/utils": "0.0.0-next-1683623792316"
|
|
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": "0.0.0-next-
|
|
80
|
-
"@modern-js/
|
|
81
|
-
"@
|
|
82
|
-
"@
|
|
83
|
-
"@scripts/jest-config": "0.0.0-next-
|
|
79
|
+
"@modern-js/core": "0.0.0-next-1683623792316",
|
|
80
|
+
"@modern-js/server-core": "0.0.0-next-1683623792316",
|
|
81
|
+
"@modern-js/types": "0.0.0-next-1683623792316",
|
|
82
|
+
"@scripts/build": "0.0.0-next-1683623792316",
|
|
83
|
+
"@scripts/jest-config": "0.0.0-next-1683623792316"
|
|
84
84
|
},
|
|
85
85
|
"peerDependencies": {
|
|
86
86
|
"react": ">=17.0.0",
|