@modern-js/plugin-data-loader 0.0.0-next-20230214035517 → 0.0.0-next-20230214073608
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 +4 -7
- package/dist/{esm-node → js/modern}/cli/create-request.js +24 -4
- package/dist/{esm-node → js/modern}/cli/generate-client.js +1 -1
- package/dist/js/modern/cli/loader.js +40 -0
- package/dist/{esm-node → js/modern}/common/constants.js +0 -0
- package/dist/{esm-node → js/modern}/server/index.js +55 -17
- package/dist/{cjs → js/node}/cli/create-request.js +24 -4
- package/dist/{cjs → js/node}/cli/generate-client.js +1 -1
- package/dist/{cjs → js/node}/cli/loader.js +34 -12
- package/dist/{cjs → js/node}/common/constants.js +0 -0
- package/dist/{cjs → js/node}/server/index.js +53 -17
- package/dist/{esm → js/treeshaking}/cli/create-request.js +0 -0
- package/dist/{esm → js/treeshaking}/cli/generate-client.js +1 -1
- package/dist/{esm → js/treeshaking}/cli/loader.js +0 -0
- package/dist/{esm → js/treeshaking}/common/constants.js +0 -0
- package/dist/{esm → js/treeshaking}/server/index.js +0 -0
- package/package.json +12 -12
- package/dist/esm-node/cli/loader.js +0 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
# @modern-js/plugin-data-loader
|
|
2
2
|
|
|
3
|
-
## 0.0.0-next-
|
|
3
|
+
## 0.0.0-next-20230214073608
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
- Updated dependencies [1b0ce87bc]
|
|
11
|
-
- Updated dependencies [11c053b46]
|
|
12
|
-
- @modern-js/utils@0.0.0-next-20230214035517
|
|
7
|
+
- Updated dependencies [1b0ce87bc4]
|
|
8
|
+
- Updated dependencies [11c053b461]
|
|
9
|
+
- @modern-js/utils@0.0.0-next-20230214073608
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
1
21
|
import { compile } from "path-to-regexp";
|
|
2
22
|
import { redirect } from "react-router-dom";
|
|
3
23
|
import { LOADER_ID_PARAM, DIRECT_PARAM } from "../common/constants";
|
|
@@ -25,12 +45,12 @@ const handleRedirectResponse = (res) => {
|
|
|
25
45
|
return res;
|
|
26
46
|
};
|
|
27
47
|
const createRequest = (routeId, method = "get") => {
|
|
28
|
-
return
|
|
48
|
+
return (_0) => __async(void 0, [_0], function* ({
|
|
29
49
|
params,
|
|
30
50
|
request
|
|
31
|
-
})
|
|
51
|
+
}) {
|
|
32
52
|
const url = getRequestUrl({ params, request, routeId });
|
|
33
|
-
const res =
|
|
53
|
+
const res = yield fetch(url, {
|
|
34
54
|
method,
|
|
35
55
|
signal: request.signal
|
|
36
56
|
});
|
|
@@ -38,7 +58,7 @@ const createRequest = (routeId, method = "get") => {
|
|
|
38
58
|
throw res;
|
|
39
59
|
}
|
|
40
60
|
return handleRedirectResponse(res);
|
|
41
|
-
};
|
|
61
|
+
});
|
|
42
62
|
};
|
|
43
63
|
export {
|
|
44
64
|
createRequest,
|
|
@@ -7,7 +7,7 @@ const generateClient = ({
|
|
|
7
7
|
const loadersMap = require(mapFile);
|
|
8
8
|
let requestCode = ``;
|
|
9
9
|
let exportsCode = ``;
|
|
10
|
-
const requestCreatorPath = path.join(__dirname, "./create-request").replace("/
|
|
10
|
+
const requestCreatorPath = path.join(__dirname, "./create-request").replace("/node/cli/", "/treeshaking/cli/").replace(/\\/g, "/");
|
|
11
11
|
const importCode = `
|
|
12
12
|
import { createRequest } from '${requestCreatorPath}';
|
|
13
13
|
`;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
import { generateClient } from "./generate-client";
|
|
22
|
+
function loader(source) {
|
|
23
|
+
return __async(this, null, function* () {
|
|
24
|
+
var _a;
|
|
25
|
+
this.cacheable();
|
|
26
|
+
const target = (_a = this._compiler) == null ? void 0 : _a.options.target;
|
|
27
|
+
if (target === "node") {
|
|
28
|
+
return source;
|
|
29
|
+
}
|
|
30
|
+
const options = this.getOptions();
|
|
31
|
+
const code = generateClient({
|
|
32
|
+
mapFile: options.mapFile,
|
|
33
|
+
loaderId: options.loaderId
|
|
34
|
+
});
|
|
35
|
+
return code;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
loader as default
|
|
40
|
+
};
|
|
File without changes
|
|
@@ -1,3 +1,42 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __async = (__this, __arguments, generator) => {
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
var fulfilled = (value) => {
|
|
23
|
+
try {
|
|
24
|
+
step(generator.next(value));
|
|
25
|
+
} catch (e) {
|
|
26
|
+
reject(e);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var rejected = (value) => {
|
|
30
|
+
try {
|
|
31
|
+
step(generator.throw(value));
|
|
32
|
+
} catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
37
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
38
|
+
});
|
|
39
|
+
};
|
|
1
40
|
import path from "path";
|
|
2
41
|
import {
|
|
3
42
|
installGlobals,
|
|
@@ -23,18 +62,17 @@ const json = (data, init = {}) => {
|
|
|
23
62
|
if (!headers.has("Content-Type")) {
|
|
24
63
|
headers.set("Content-Type", "application/json; charset=utf-8");
|
|
25
64
|
}
|
|
26
|
-
return new NodeResponse(JSON.stringify(data), {
|
|
27
|
-
...responseInit,
|
|
65
|
+
return new NodeResponse(JSON.stringify(data), __spreadProps(__spreadValues({}, responseInit), {
|
|
28
66
|
headers
|
|
29
|
-
});
|
|
67
|
+
}));
|
|
30
68
|
};
|
|
31
|
-
const callRouteLoader =
|
|
69
|
+
const callRouteLoader = (_0) => __async(void 0, [_0], function* ({
|
|
32
70
|
routeId,
|
|
33
71
|
loader,
|
|
34
72
|
params,
|
|
35
73
|
request,
|
|
36
74
|
loadContext
|
|
37
|
-
})
|
|
75
|
+
}) {
|
|
38
76
|
if (!loader) {
|
|
39
77
|
throw new Error(
|
|
40
78
|
`You made a ${request.method} request to ${request.url} but did not provide a default component or \`loader\` for route "${routeId}", so there is no way to handle the request.`
|
|
@@ -42,7 +80,7 @@ const callRouteLoader = async ({
|
|
|
42
80
|
}
|
|
43
81
|
let result;
|
|
44
82
|
try {
|
|
45
|
-
result =
|
|
83
|
+
result = yield loader({
|
|
46
84
|
request,
|
|
47
85
|
params
|
|
48
86
|
});
|
|
@@ -58,7 +96,7 @@ const callRouteLoader = async ({
|
|
|
58
96
|
);
|
|
59
97
|
}
|
|
60
98
|
return isResponse(result) ? result : json(result);
|
|
61
|
-
};
|
|
99
|
+
});
|
|
62
100
|
const createLoaderHeaders = (requestHeaders) => {
|
|
63
101
|
const headers = new Headers();
|
|
64
102
|
for (const [key, values] of Object.entries(requestHeaders)) {
|
|
@@ -85,18 +123,18 @@ const createLoaderRequest = (context) => {
|
|
|
85
123
|
};
|
|
86
124
|
return new Request(url.href, init);
|
|
87
125
|
};
|
|
88
|
-
const sendLoaderResponse =
|
|
126
|
+
const sendLoaderResponse = (res, nodeResponse) => __async(void 0, null, function* () {
|
|
89
127
|
res.statusMessage = nodeResponse.statusText;
|
|
90
128
|
res.statusCode = nodeResponse.status;
|
|
91
129
|
for (const [key, value] of nodeResponse.headers.entries()) {
|
|
92
130
|
res.setHeader(key, value);
|
|
93
131
|
}
|
|
94
132
|
if (nodeResponse.body) {
|
|
95
|
-
|
|
133
|
+
yield writeReadableStreamToWritable(nodeResponse.body, res);
|
|
96
134
|
} else {
|
|
97
135
|
res.end();
|
|
98
136
|
}
|
|
99
|
-
};
|
|
137
|
+
});
|
|
100
138
|
const getPathWithoutEntry = (pathname, entryPath) => {
|
|
101
139
|
if (entryPath === "/") {
|
|
102
140
|
return pathname;
|
|
@@ -106,11 +144,11 @@ const getPathWithoutEntry = (pathname, entryPath) => {
|
|
|
106
144
|
const matchEntry = (pathname, entries) => {
|
|
107
145
|
return entries.find((entry) => pathname.startsWith(entry.urlPath));
|
|
108
146
|
};
|
|
109
|
-
const handleRequest =
|
|
147
|
+
const handleRequest = (_0) => __async(void 0, [_0], function* ({
|
|
110
148
|
context,
|
|
111
149
|
serverRoutes,
|
|
112
150
|
distDir
|
|
113
|
-
})
|
|
151
|
+
}) {
|
|
114
152
|
const { method, query } = context;
|
|
115
153
|
const routeId = query[LOADER_ID_PARAM];
|
|
116
154
|
if (!routeId || method.toLowerCase() !== "get") {
|
|
@@ -125,7 +163,7 @@ const handleRequest = async ({
|
|
|
125
163
|
SERVER_BUNDLE_DIRECTORY,
|
|
126
164
|
`${entry.entryName || MAIN_ENTRY_NAME}-server-loaders`
|
|
127
165
|
);
|
|
128
|
-
const { routes } =
|
|
166
|
+
const { routes } = yield import(routesPath);
|
|
129
167
|
if (!routes) {
|
|
130
168
|
return;
|
|
131
169
|
}
|
|
@@ -146,7 +184,7 @@ const handleRequest = async ({
|
|
|
146
184
|
const request = createLoaderRequest(context);
|
|
147
185
|
let response;
|
|
148
186
|
try {
|
|
149
|
-
response =
|
|
187
|
+
response = yield callRouteLoader({
|
|
150
188
|
loader: match.route.loader,
|
|
151
189
|
routeId: match.route.id,
|
|
152
190
|
params: match.params,
|
|
@@ -172,7 +210,7 @@ const handleRequest = async ({
|
|
|
172
210
|
});
|
|
173
211
|
}
|
|
174
212
|
sendLoaderResponse(res, response);
|
|
175
|
-
};
|
|
213
|
+
});
|
|
176
214
|
var server_default = () => ({
|
|
177
215
|
name: "@modern-js/plugin-data-loader",
|
|
178
216
|
setup: () => ({
|
|
@@ -180,13 +218,13 @@ var server_default = () => ({
|
|
|
180
218
|
serverRoutes,
|
|
181
219
|
distDir
|
|
182
220
|
}) {
|
|
183
|
-
return
|
|
221
|
+
return (context) => __async(this, null, function* () {
|
|
184
222
|
return handleRequest({
|
|
185
223
|
serverRoutes,
|
|
186
224
|
distDir,
|
|
187
225
|
context
|
|
188
226
|
});
|
|
189
|
-
};
|
|
227
|
+
});
|
|
190
228
|
}
|
|
191
229
|
})
|
|
192
230
|
});
|
|
@@ -15,6 +15,26 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var __async = (__this, __arguments, generator) => {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
var fulfilled = (value) => {
|
|
21
|
+
try {
|
|
22
|
+
step(generator.next(value));
|
|
23
|
+
} catch (e) {
|
|
24
|
+
reject(e);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var rejected = (value) => {
|
|
28
|
+
try {
|
|
29
|
+
step(generator.throw(value));
|
|
30
|
+
} catch (e) {
|
|
31
|
+
reject(e);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
35
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
36
|
+
});
|
|
37
|
+
};
|
|
18
38
|
var create_request_exports = {};
|
|
19
39
|
__export(create_request_exports, {
|
|
20
40
|
createRequest: () => createRequest,
|
|
@@ -48,12 +68,12 @@ const handleRedirectResponse = (res) => {
|
|
|
48
68
|
return res;
|
|
49
69
|
};
|
|
50
70
|
const createRequest = (routeId, method = "get") => {
|
|
51
|
-
return
|
|
71
|
+
return (_0) => __async(void 0, [_0], function* ({
|
|
52
72
|
params,
|
|
53
73
|
request
|
|
54
|
-
})
|
|
74
|
+
}) {
|
|
55
75
|
const url = getRequestUrl({ params, request, routeId });
|
|
56
|
-
const res =
|
|
76
|
+
const res = yield fetch(url, {
|
|
57
77
|
method,
|
|
58
78
|
signal: request.signal
|
|
59
79
|
});
|
|
@@ -61,7 +81,7 @@ const createRequest = (routeId, method = "get") => {
|
|
|
61
81
|
throw res;
|
|
62
82
|
}
|
|
63
83
|
return handleRedirectResponse(res);
|
|
64
|
-
};
|
|
84
|
+
});
|
|
65
85
|
};
|
|
66
86
|
// Annotate the CommonJS export names for ESM import in node:
|
|
67
87
|
0 && (module.exports = {
|
|
@@ -35,7 +35,7 @@ const generateClient = ({
|
|
|
35
35
|
const loadersMap = require(mapFile);
|
|
36
36
|
let requestCode = ``;
|
|
37
37
|
let exportsCode = ``;
|
|
38
|
-
const requestCreatorPath = import_path.default.join(__dirname, "./create-request").replace("/
|
|
38
|
+
const requestCreatorPath = import_path.default.join(__dirname, "./create-request").replace("/node/cli/", "/treeshaking/cli/").replace(/\\/g, "/");
|
|
39
39
|
const importCode = `
|
|
40
40
|
import { createRequest } from '${requestCreatorPath}';
|
|
41
41
|
`;
|
|
@@ -15,25 +15,47 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var __async = (__this, __arguments, generator) => {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
var fulfilled = (value) => {
|
|
21
|
+
try {
|
|
22
|
+
step(generator.next(value));
|
|
23
|
+
} catch (e) {
|
|
24
|
+
reject(e);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var rejected = (value) => {
|
|
28
|
+
try {
|
|
29
|
+
step(generator.throw(value));
|
|
30
|
+
} catch (e) {
|
|
31
|
+
reject(e);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
35
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
36
|
+
});
|
|
37
|
+
};
|
|
18
38
|
var loader_exports = {};
|
|
19
39
|
__export(loader_exports, {
|
|
20
40
|
default: () => loader
|
|
21
41
|
});
|
|
22
42
|
module.exports = __toCommonJS(loader_exports);
|
|
23
43
|
var import_generate_client = require("./generate-client");
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
function loader(source) {
|
|
45
|
+
return __async(this, null, function* () {
|
|
46
|
+
var _a;
|
|
47
|
+
this.cacheable();
|
|
48
|
+
const target = (_a = this._compiler) == null ? void 0 : _a.options.target;
|
|
49
|
+
if (target === "node") {
|
|
50
|
+
return source;
|
|
51
|
+
}
|
|
52
|
+
const options = this.getOptions();
|
|
53
|
+
const code = (0, import_generate_client.generateClient)({
|
|
54
|
+
mapFile: options.mapFile,
|
|
55
|
+
loaderId: options.loaderId
|
|
56
|
+
});
|
|
57
|
+
return code;
|
|
35
58
|
});
|
|
36
|
-
return code;
|
|
37
59
|
}
|
|
38
60
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
61
|
0 && (module.exports = {});
|
|
File without changes
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
7
24
|
var __export = (target, all) => {
|
|
8
25
|
for (var name in all)
|
|
9
26
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -21,6 +38,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
38
|
mod
|
|
22
39
|
));
|
|
23
40
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
41
|
+
var __async = (__this, __arguments, generator) => {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
var fulfilled = (value) => {
|
|
44
|
+
try {
|
|
45
|
+
step(generator.next(value));
|
|
46
|
+
} catch (e) {
|
|
47
|
+
reject(e);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var rejected = (value) => {
|
|
51
|
+
try {
|
|
52
|
+
step(generator.throw(value));
|
|
53
|
+
} catch (e) {
|
|
54
|
+
reject(e);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
58
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
59
|
+
});
|
|
60
|
+
};
|
|
24
61
|
var server_exports = {};
|
|
25
62
|
__export(server_exports, {
|
|
26
63
|
default: () => server_default,
|
|
@@ -49,18 +86,17 @@ const json = (data, init = {}) => {
|
|
|
49
86
|
if (!headers.has("Content-Type")) {
|
|
50
87
|
headers.set("Content-Type", "application/json; charset=utf-8");
|
|
51
88
|
}
|
|
52
|
-
return new import_node.Response(JSON.stringify(data), {
|
|
53
|
-
...responseInit,
|
|
89
|
+
return new import_node.Response(JSON.stringify(data), __spreadProps(__spreadValues({}, responseInit), {
|
|
54
90
|
headers
|
|
55
|
-
});
|
|
91
|
+
}));
|
|
56
92
|
};
|
|
57
|
-
const callRouteLoader =
|
|
93
|
+
const callRouteLoader = (_0) => __async(void 0, [_0], function* ({
|
|
58
94
|
routeId,
|
|
59
95
|
loader,
|
|
60
96
|
params,
|
|
61
97
|
request,
|
|
62
98
|
loadContext
|
|
63
|
-
})
|
|
99
|
+
}) {
|
|
64
100
|
if (!loader) {
|
|
65
101
|
throw new Error(
|
|
66
102
|
`You made a ${request.method} request to ${request.url} but did not provide a default component or \`loader\` for route "${routeId}", so there is no way to handle the request.`
|
|
@@ -68,7 +104,7 @@ const callRouteLoader = async ({
|
|
|
68
104
|
}
|
|
69
105
|
let result;
|
|
70
106
|
try {
|
|
71
|
-
result =
|
|
107
|
+
result = yield loader({
|
|
72
108
|
request,
|
|
73
109
|
params
|
|
74
110
|
});
|
|
@@ -84,7 +120,7 @@ const callRouteLoader = async ({
|
|
|
84
120
|
);
|
|
85
121
|
}
|
|
86
122
|
return isResponse(result) ? result : json(result);
|
|
87
|
-
};
|
|
123
|
+
});
|
|
88
124
|
const createLoaderHeaders = (requestHeaders) => {
|
|
89
125
|
const headers = new Headers();
|
|
90
126
|
for (const [key, values] of Object.entries(requestHeaders)) {
|
|
@@ -111,18 +147,18 @@ const createLoaderRequest = (context) => {
|
|
|
111
147
|
};
|
|
112
148
|
return new Request(url.href, init);
|
|
113
149
|
};
|
|
114
|
-
const sendLoaderResponse =
|
|
150
|
+
const sendLoaderResponse = (res, nodeResponse) => __async(void 0, null, function* () {
|
|
115
151
|
res.statusMessage = nodeResponse.statusText;
|
|
116
152
|
res.statusCode = nodeResponse.status;
|
|
117
153
|
for (const [key, value] of nodeResponse.headers.entries()) {
|
|
118
154
|
res.setHeader(key, value);
|
|
119
155
|
}
|
|
120
156
|
if (nodeResponse.body) {
|
|
121
|
-
|
|
157
|
+
yield (0, import_node.writeReadableStreamToWritable)(nodeResponse.body, res);
|
|
122
158
|
} else {
|
|
123
159
|
res.end();
|
|
124
160
|
}
|
|
125
|
-
};
|
|
161
|
+
});
|
|
126
162
|
const getPathWithoutEntry = (pathname, entryPath) => {
|
|
127
163
|
if (entryPath === "/") {
|
|
128
164
|
return pathname;
|
|
@@ -132,11 +168,11 @@ const getPathWithoutEntry = (pathname, entryPath) => {
|
|
|
132
168
|
const matchEntry = (pathname, entries) => {
|
|
133
169
|
return entries.find((entry) => pathname.startsWith(entry.urlPath));
|
|
134
170
|
};
|
|
135
|
-
const handleRequest =
|
|
171
|
+
const handleRequest = (_0) => __async(void 0, [_0], function* ({
|
|
136
172
|
context,
|
|
137
173
|
serverRoutes,
|
|
138
174
|
distDir
|
|
139
|
-
})
|
|
175
|
+
}) {
|
|
140
176
|
const { method, query } = context;
|
|
141
177
|
const routeId = query[import_constants.LOADER_ID_PARAM];
|
|
142
178
|
if (!routeId || method.toLowerCase() !== "get") {
|
|
@@ -151,7 +187,7 @@ const handleRequest = async ({
|
|
|
151
187
|
import_utils.SERVER_BUNDLE_DIRECTORY,
|
|
152
188
|
`${entry.entryName || import_utils.MAIN_ENTRY_NAME}-server-loaders`
|
|
153
189
|
);
|
|
154
|
-
const { routes } =
|
|
190
|
+
const { routes } = yield Promise.resolve().then(() => __toESM(require(routesPath)));
|
|
155
191
|
if (!routes) {
|
|
156
192
|
return;
|
|
157
193
|
}
|
|
@@ -172,7 +208,7 @@ const handleRequest = async ({
|
|
|
172
208
|
const request = createLoaderRequest(context);
|
|
173
209
|
let response;
|
|
174
210
|
try {
|
|
175
|
-
response =
|
|
211
|
+
response = yield callRouteLoader({
|
|
176
212
|
loader: match.route.loader,
|
|
177
213
|
routeId: match.route.id,
|
|
178
214
|
params: match.params,
|
|
@@ -198,7 +234,7 @@ const handleRequest = async ({
|
|
|
198
234
|
});
|
|
199
235
|
}
|
|
200
236
|
sendLoaderResponse(res, response);
|
|
201
|
-
};
|
|
237
|
+
});
|
|
202
238
|
var server_default = () => ({
|
|
203
239
|
name: "@modern-js/plugin-data-loader",
|
|
204
240
|
setup: () => ({
|
|
@@ -206,13 +242,13 @@ var server_default = () => ({
|
|
|
206
242
|
serverRoutes,
|
|
207
243
|
distDir
|
|
208
244
|
}) {
|
|
209
|
-
return
|
|
245
|
+
return (context) => __async(this, null, function* () {
|
|
210
246
|
return handleRequest({
|
|
211
247
|
serverRoutes,
|
|
212
248
|
distDir,
|
|
213
249
|
context
|
|
214
250
|
});
|
|
215
|
-
};
|
|
251
|
+
});
|
|
216
252
|
}
|
|
217
253
|
})
|
|
218
254
|
});
|
|
File without changes
|
|
@@ -5,7 +5,7 @@ var generateClient = function(param) {
|
|
|
5
5
|
var loadersMap = require(mapFile);
|
|
6
6
|
var requestCode = "";
|
|
7
7
|
var exportsCode = "";
|
|
8
|
-
var requestCreatorPath = path.join(__dirname, "./create-request").replace("/
|
|
8
|
+
var requestCreatorPath = path.join(__dirname, "./create-request").replace("/node/cli/", "/treeshaking/cli/").replace(/\\/g, "/");
|
|
9
9
|
var importCode = "\n import { createRequest } from '".concat(requestCreatorPath, "';\n ");
|
|
10
10
|
if (!loaderId) {
|
|
11
11
|
requestCode = Object.keys(loadersMap).map(function(loaderId2) {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -11,19 +11,20 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "0.0.0-next-
|
|
14
|
+
"version": "0.0.0-next-20230214073608",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
|
-
"main": "./dist/
|
|
18
|
-
"module": "./dist/
|
|
17
|
+
"main": "./dist/js/node/index.js",
|
|
18
|
+
"module": "./dist/js/treeshaking/index.js",
|
|
19
|
+
"jsnext:modern": "./dist/js/modern/index.js",
|
|
19
20
|
"exports": {
|
|
20
21
|
"./loader": {
|
|
21
22
|
"jsnext:source": "./src/cli/loader.ts",
|
|
22
|
-
"default": "./dist/
|
|
23
|
+
"default": "./dist/js/node/cli/loader.js"
|
|
23
24
|
},
|
|
24
25
|
"./server": {
|
|
25
26
|
"jsnext:source": "./src/server/index.ts",
|
|
26
|
-
"default": "./dist/
|
|
27
|
+
"default": "./dist/js/node/server/index.js"
|
|
27
28
|
}
|
|
28
29
|
},
|
|
29
30
|
"typesVersions": {
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
"@remix-run/node": "^1.9.0",
|
|
43
44
|
"path-to-regexp": "^6.2.0",
|
|
44
45
|
"react-router-dom": "^6.6.0",
|
|
45
|
-
"@modern-js/utils": "0.0.0-next-
|
|
46
|
+
"@modern-js/utils": "0.0.0-next-20230214073608"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
49
|
"@types/babel__core": "^7.1.15",
|
|
@@ -57,12 +58,11 @@
|
|
|
57
58
|
"typescript": "^4",
|
|
58
59
|
"webpack": "^5.75.0",
|
|
59
60
|
"webpack-chain": "^6.5.1",
|
|
60
|
-
"@modern-js/
|
|
61
|
-
"@modern-js/core": "0.0.0-next-
|
|
62
|
-
"@modern-js/
|
|
63
|
-
"@
|
|
64
|
-
"@scripts/
|
|
65
|
-
"@scripts/jest-config": "0.0.0-next-20230214035517"
|
|
61
|
+
"@modern-js/core": "0.0.0-next-20230214073608",
|
|
62
|
+
"@modern-js/server-core": "0.0.0-next-20230214073608",
|
|
63
|
+
"@modern-js/types": "0.0.0-next-20230214073608",
|
|
64
|
+
"@scripts/build": "0.0.0-next-20230214073608",
|
|
65
|
+
"@scripts/jest-config": "0.0.0-next-20230214073608"
|
|
66
66
|
},
|
|
67
67
|
"sideEffects": false,
|
|
68
68
|
"publishConfig": {
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { generateClient } from "./generate-client";
|
|
2
|
-
async function loader(source) {
|
|
3
|
-
var _a;
|
|
4
|
-
this.cacheable();
|
|
5
|
-
const target = (_a = this._compiler) == null ? void 0 : _a.options.target;
|
|
6
|
-
if (target === "node") {
|
|
7
|
-
return source;
|
|
8
|
-
}
|
|
9
|
-
const options = this.getOptions();
|
|
10
|
-
const code = generateClient({
|
|
11
|
-
mapFile: options.mapFile,
|
|
12
|
-
loaderId: options.loaderId
|
|
13
|
-
});
|
|
14
|
-
return code;
|
|
15
|
-
}
|
|
16
|
-
export {
|
|
17
|
-
loader as default
|
|
18
|
-
};
|