@modern-js/plugin-data-loader 2.15.0 → 2.16.0

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.
@@ -1,33 +1,19 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var response_exports = {};
19
- __export(response_exports, {
20
- createDeferredReadableStream: () => createDeferredReadableStream
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createDeferredReadableStream", {
6
+ enumerable: true,
7
+ get: () => createDeferredReadableStream
21
8
  });
22
- module.exports = __toCommonJS(response_exports);
23
- var import_util = require("util");
24
- var import_serialize = require("@modern-js/utils/universal/serialize");
9
+ const _util = require("util");
10
+ const _serialize = require("@modern-js/utils/universal/serialize");
25
11
  function isTrackedPromise(value) {
26
12
  return value != null && typeof value.then === "function" && value._tracked === true;
27
13
  }
28
14
  const DEFERRED_VALUE_PLACEHOLDER_PREFIX = "__deferred_promise:";
29
15
  function createDeferredReadableStream(deferredData, signal) {
30
- const encoder = new import_util.TextEncoder();
16
+ const encoder = new _util.TextEncoder();
31
17
  const stream = new ReadableStream({
32
18
  async start(controller) {
33
19
  const criticalData = {};
@@ -46,21 +32,11 @@ function createDeferredReadableStream(deferredData, signal) {
46
32
 
47
33
  `));
48
34
  for (const preresolvedKey of preresolvedKeys) {
49
- enqueueTrackedPromise(
50
- controller,
51
- encoder,
52
- preresolvedKey,
53
- deferredData.data[preresolvedKey]
54
- );
35
+ enqueueTrackedPromise(controller, encoder, preresolvedKey, deferredData.data[preresolvedKey]);
55
36
  }
56
37
  const unsubscribe = deferredData.subscribe((aborted, settledKey) => {
57
38
  if (settledKey) {
58
- enqueueTrackedPromise(
59
- controller,
60
- encoder,
61
- settledKey,
62
- deferredData.data[settledKey]
63
- );
39
+ enqueueTrackedPromise(controller, encoder, settledKey, deferredData.data[settledKey]);
64
40
  }
65
41
  });
66
42
  await deferredData.resolveData(signal);
@@ -71,32 +47,22 @@ function createDeferredReadableStream(deferredData, signal) {
71
47
  return stream;
72
48
  }
73
49
  function enqueueTrackedPromise(controller, encoder, settledKey, promise) {
74
- var _a;
75
50
  if ("_error" in promise) {
76
51
  const { _error } = promise;
77
- controller.enqueue(
78
- encoder.encode(
79
- `error:${(0, import_serialize.serializeJson)({
80
- [settledKey]: {
81
- message: _error.message,
82
- stack: _error.stack
83
- }
84
- })}
52
+ controller.enqueue(encoder.encode(`error:${(0, _serialize.serializeJson)({
53
+ [settledKey]: {
54
+ message: _error.message,
55
+ stack: _error.stack
56
+ }
57
+ })}
85
58
 
86
- `
87
- )
88
- );
59
+ `));
89
60
  } else {
90
- controller.enqueue(
91
- encoder.encode(
92
- `data:${JSON.stringify({ [settledKey]: (_a = promise._data) != null ? _a : null })}
61
+ var _promise__data;
62
+ controller.enqueue(encoder.encode(`data:${JSON.stringify({
63
+ [settledKey]: (_promise__data = promise._data) !== null && _promise__data !== void 0 ? _promise__data : null
64
+ })}
93
65
 
94
- `
95
- )
96
- );
66
+ `));
97
67
  }
98
68
  }
99
- // Annotate the CommonJS export names for ESM import in node:
100
- 0 && (module.exports = {
101
- createDeferredReadableStream
102
- });
@@ -1,60 +1,74 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var server_exports = {};
29
- __export(server_exports, {
30
- default: () => server_default
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: () => _default
31
8
  });
32
- module.exports = __toCommonJS(server_exports);
33
- var import_path = __toESM(require("path"));
34
- var import_fs = __toESM(require("fs"));
35
- var import_constants = require("@modern-js/utils/constants");
36
- var import_utils = require("../common/utils");
37
- var server_default = () => ({
9
+ const _path = /* @__PURE__ */ _interop_require_default(require("path"));
10
+ const _fs = /* @__PURE__ */ _interop_require_default(require("fs"));
11
+ const _constants = require("@modern-js/utils/constants");
12
+ const _utils = require("../common/utils");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ function _getRequireWildcardCache(nodeInterop) {
19
+ if (typeof WeakMap !== "function")
20
+ return null;
21
+ var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
22
+ var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
23
+ return (_getRequireWildcardCache = function(nodeInterop2) {
24
+ return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
25
+ })(nodeInterop);
26
+ }
27
+ function _interop_require_wildcard(obj, nodeInterop) {
28
+ if (!nodeInterop && obj && obj.__esModule) {
29
+ return obj;
30
+ }
31
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
32
+ return {
33
+ default: obj
34
+ };
35
+ }
36
+ var cache = _getRequireWildcardCache(nodeInterop);
37
+ if (cache && cache.has(obj)) {
38
+ return cache.get(obj);
39
+ }
40
+ var newObj = {};
41
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
42
+ for (var key in obj) {
43
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
44
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
45
+ if (desc && (desc.get || desc.set)) {
46
+ Object.defineProperty(newObj, key, desc);
47
+ } else {
48
+ newObj[key] = obj[key];
49
+ }
50
+ }
51
+ }
52
+ newObj.default = obj;
53
+ if (cache) {
54
+ cache.set(obj, newObj);
55
+ }
56
+ return newObj;
57
+ }
58
+ const _default = () => ({
38
59
  name: "@modern-js/plugin-data-loader",
39
60
  setup: () => ({
40
- prepareLoaderHandler({
41
- serverRoutes,
42
- distDir
43
- }) {
61
+ prepareLoaderHandler({ serverRoutes, distDir }) {
44
62
  return async (context) => {
45
- const entry = (0, import_utils.matchEntry)(context.path, serverRoutes);
63
+ const entry = (0, _utils.matchEntry)(context.path, serverRoutes);
46
64
  if (!entry) {
47
65
  return;
48
66
  }
49
- const routesPath = import_path.default.join(
50
- distDir,
51
- import_constants.SERVER_BUNDLE_DIRECTORY,
52
- `${entry.entryName || import_constants.MAIN_ENTRY_NAME}-server-loaders.js`
53
- );
54
- if (!import_fs.default.existsSync(routesPath)) {
67
+ const routesPath = _path.default.join(distDir, _constants.SERVER_BUNDLE_DIRECTORY, `${entry.entryName || _constants.MAIN_ENTRY_NAME}-server-loaders.js`);
68
+ if (!_fs.default.existsSync(routesPath)) {
55
69
  return;
56
70
  }
57
- const { routes, handleRequest } = await Promise.resolve().then(() => __toESM(require(routesPath)));
71
+ const { routes, handleRequest } = await Promise.resolve(routesPath).then((p) => /* @__PURE__ */ _interop_require_wildcard(require(p)));
58
72
  if (!routes) {
59
73
  return;
60
74
  }
@@ -67,5 +81,3 @@ var server_default = () => ({
67
81
  }
68
82
  })
69
83
  });
70
- // Annotate the CommonJS export names for ESM import in node:
71
- 0 && (module.exports = {});
@@ -1,225 +1,232 @@
1
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
- if (info.done) {
10
- resolve(value);
11
- } else {
12
- Promise.resolve(value).then(_next, _throw);
13
- }
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
14
  }
15
- function _asyncToGenerator(fn) {
16
- return function() {
17
- var self = this, args = arguments;
18
- return new Promise(function(resolve, reject) {
19
- var gen = fn.apply(self, args);
20
- function _next(value) {
21
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
- }
23
- function _throw(err) {
24
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
- }
26
- _next(undefined);
27
- });
28
- };
15
+ function _async_to_generator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(void 0);
27
+ });
28
+ };
29
29
  }
30
- var __generator = this && this.__generator || function(thisArg, body) {
31
- var f, y, t, g, _ = {
32
- label: 0,
33
- sent: function() {
34
- if (t[0] & 1) throw t[1];
35
- return t[1];
36
- },
37
- trys: [],
38
- ops: []
30
+ var __generator = function(thisArg, body) {
31
+ var f, y, t, g, _ = {
32
+ label: 0,
33
+ sent: function() {
34
+ if (t[0] & 1)
35
+ throw t[1];
36
+ return t[1];
37
+ },
38
+ trys: [],
39
+ ops: []
40
+ };
41
+ return g = {
42
+ next: verb(0),
43
+ "throw": verb(1),
44
+ "return": verb(2)
45
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
46
+ return this;
47
+ }), g;
48
+ function verb(n) {
49
+ return function(v) {
50
+ return step([
51
+ n,
52
+ v
53
+ ]);
39
54
  };
40
- return(g = {
41
- next: verb(0),
42
- "throw": verb(1),
43
- "return": verb(2)
44
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
- return this;
46
- }), g);
47
- function verb(n) {
48
- return function(v) {
49
- return step([
50
- n,
51
- v
52
- ]);
53
- };
54
- }
55
- function step(op) {
56
- if (f) throw new TypeError("Generator is already executing.");
57
- while(_)try {
58
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
59
- if (y = 0, t) op = [
60
- op[0] & 2,
61
- t.value
62
- ];
63
- switch(op[0]){
64
- case 0:
65
- case 1:
66
- t = op;
67
- break;
68
- case 4:
69
- _.label++;
70
- return {
71
- value: op[1],
72
- done: false
73
- };
74
- case 5:
75
- _.label++;
76
- y = op[1];
77
- op = [
78
- 0
79
- ];
80
- continue;
81
- case 7:
82
- op = _.ops.pop();
83
- _.trys.pop();
84
- continue;
85
- default:
86
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
- _ = 0;
88
- continue;
89
- }
90
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
- _.label = op[1];
92
- break;
93
- }
94
- if (op[0] === 6 && _.label < t[1]) {
95
- _.label = t[1];
96
- t = op;
97
- break;
98
- }
99
- if (t && _.label < t[2]) {
100
- _.label = t[2];
101
- _.ops.push(op);
102
- break;
103
- }
104
- if (t[2]) _.ops.pop();
105
- _.trys.pop();
106
- continue;
107
- }
108
- op = body.call(thisArg, _);
109
- } catch (e) {
55
+ }
56
+ function step(op) {
57
+ if (f)
58
+ throw new TypeError("Generator is already executing.");
59
+ while (_)
60
+ try {
61
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
62
+ return t;
63
+ if (y = 0, t)
64
+ op = [
65
+ op[0] & 2,
66
+ t.value
67
+ ];
68
+ switch (op[0]) {
69
+ case 0:
70
+ case 1:
71
+ t = op;
72
+ break;
73
+ case 4:
74
+ _.label++;
75
+ return {
76
+ value: op[1],
77
+ done: false
78
+ };
79
+ case 5:
80
+ _.label++;
81
+ y = op[1];
110
82
  op = [
111
- 6,
112
- e
83
+ 0
113
84
  ];
114
- y = 0;
115
- } finally{
116
- f = t = 0;
85
+ continue;
86
+ case 7:
87
+ op = _.ops.pop();
88
+ _.trys.pop();
89
+ continue;
90
+ default:
91
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
92
+ _ = 0;
93
+ continue;
94
+ }
95
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
96
+ _.label = op[1];
97
+ break;
98
+ }
99
+ if (op[0] === 6 && _.label < t[1]) {
100
+ _.label = t[1];
101
+ t = op;
102
+ break;
103
+ }
104
+ if (t && _.label < t[2]) {
105
+ _.label = t[2];
106
+ _.ops.push(op);
107
+ break;
108
+ }
109
+ if (t[2])
110
+ _.ops.pop();
111
+ _.trys.pop();
112
+ continue;
117
113
  }
118
- if (op[0] & 5) throw op[1];
119
- return {
120
- value: op[0] ? op[1] : void 0,
121
- done: true
122
- };
123
- }
114
+ op = body.call(thisArg, _);
115
+ } catch (e) {
116
+ op = [
117
+ 6,
118
+ e
119
+ ];
120
+ y = 0;
121
+ } finally {
122
+ f = t = 0;
123
+ }
124
+ if (op[0] & 5)
125
+ throw op[1];
126
+ return {
127
+ value: op[0] ? op[1] : void 0,
128
+ done: true
129
+ };
130
+ }
124
131
  };
125
132
  import { compile } from "path-to-regexp";
126
133
  import { redirect } from "react-router-dom";
127
134
  import { LOADER_ID_PARAM, DIRECT_PARAM, CONTENT_TYPE_DEFERRED } from "../common/constants";
128
135
  import { parseDeferredReadableStream } from "./data";
129
- var getRequestUrl = function(param) {
130
- var params = param.params, request = param.request, routeId = param.routeId;
131
- var url = new URL(request.url);
132
- var toPath = compile(url.pathname, {
133
- encode: encodeURIComponent
134
- });
135
- var newPathName = toPath(params);
136
- url.pathname = newPathName;
137
- url.searchParams.append(LOADER_ID_PARAM, routeId);
138
- url.searchParams.append(DIRECT_PARAM, "true");
139
- return url;
136
+ export var getRequestUrl = function(param) {
137
+ var params = param.params, request = param.request, routeId = param.routeId;
138
+ var url = new URL(request.url);
139
+ var toPath = compile(url.pathname, {
140
+ encode: encodeURIComponent
141
+ });
142
+ var newPathName = toPath(params);
143
+ url.pathname = newPathName;
144
+ url.searchParams.append(LOADER_ID_PARAM, routeId);
145
+ url.searchParams.append(DIRECT_PARAM, "true");
146
+ return url;
140
147
  };
141
148
  var handleRedirectResponse = function(res) {
142
- var headers = res.headers;
143
- var location = headers.get("X-Modernjs-Redirect");
144
- if (location) {
145
- throw redirect(location);
146
- }
147
- return res;
149
+ var headers = res.headers;
150
+ var location = headers.get("X-Modernjs-Redirect");
151
+ if (location) {
152
+ throw redirect(location);
153
+ }
154
+ return res;
148
155
  };
149
156
  var handleDeferredResponse = function() {
150
- var _ref = _asyncToGenerator(function(res) {
151
- var _res_headers_get;
152
- return __generator(this, function(_state) {
153
- switch(_state.label){
154
- case 0:
155
- 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)) return [
156
- 3,
157
- 2
158
- ];
159
- return [
160
- 4,
161
- parseDeferredReadableStream(res.body)
162
- ];
163
- case 1:
164
- return [
165
- 2,
166
- _state.sent()
167
- ];
168
- case 2:
169
- return [
170
- 2,
171
- res
172
- ];
173
- }
174
- });
157
+ var _ref = _async_to_generator(function(res) {
158
+ var _res_headers_get;
159
+ return __generator(this, function(_state) {
160
+ switch (_state.label) {
161
+ case 0:
162
+ 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))
163
+ return [
164
+ 3,
165
+ 2
166
+ ];
167
+ return [
168
+ 4,
169
+ parseDeferredReadableStream(res.body)
170
+ ];
171
+ case 1:
172
+ return [
173
+ 2,
174
+ _state.sent()
175
+ ];
176
+ case 2:
177
+ return [
178
+ 2,
179
+ res
180
+ ];
181
+ }
175
182
  });
176
- return function handleDeferredResponse(res) {
177
- return _ref.apply(this, arguments);
178
- };
183
+ });
184
+ return function handleDeferredResponse2(res) {
185
+ return _ref.apply(this, arguments);
186
+ };
179
187
  }();
180
- var createRequest = function(routeId) {
181
- var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "get";
182
- return function() {
183
- var _ref = _asyncToGenerator(function(param) {
184
- var params, request, url, res;
185
- return __generator(this, function(_state) {
186
- switch(_state.label){
187
- case 0:
188
- params = param.params, request = param.request;
189
- url = getRequestUrl({
190
- params: params,
191
- request: request,
192
- routeId: routeId
193
- });
194
- return [
195
- 4,
196
- fetch(url, {
197
- method: method,
198
- signal: request.signal
199
- })
200
- ];
201
- case 1:
202
- res = _state.sent();
203
- if (!res.ok) {
204
- throw res;
205
- }
206
- res = handleRedirectResponse(res);
207
- return [
208
- 4,
209
- handleDeferredResponse(res)
210
- ];
211
- case 2:
212
- res = _state.sent();
213
- return [
214
- 2,
215
- res
216
- ];
217
- }
188
+ export var createRequest = function(routeId) {
189
+ var method = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "get";
190
+ return function() {
191
+ var _ref = _async_to_generator(function(param) {
192
+ var params, request, url, res;
193
+ return __generator(this, function(_state) {
194
+ switch (_state.label) {
195
+ case 0:
196
+ params = param.params, request = param.request;
197
+ url = getRequestUrl({
198
+ params,
199
+ request,
200
+ routeId
218
201
  });
219
- });
220
- return function(_) {
221
- return _ref.apply(this, arguments);
222
- };
223
- }();
202
+ return [
203
+ 4,
204
+ fetch(url, {
205
+ method,
206
+ signal: request.signal
207
+ })
208
+ ];
209
+ case 1:
210
+ res = _state.sent();
211
+ if (!res.ok) {
212
+ throw res;
213
+ }
214
+ res = handleRedirectResponse(res);
215
+ return [
216
+ 4,
217
+ handleDeferredResponse(res)
218
+ ];
219
+ case 2:
220
+ res = _state.sent();
221
+ return [
222
+ 2,
223
+ res
224
+ ];
225
+ }
226
+ });
227
+ });
228
+ return function(_) {
229
+ return _ref.apply(this, arguments);
230
+ };
231
+ }();
224
232
  };
225
- export { createRequest, getRequestUrl };