@modern-js/plugin-data-loader 2.31.2 → 2.32.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 +34 -0
- package/LICENSE +1 -1
- package/dist/cjs/cli/loader.js +14 -0
- package/dist/cjs/runtime/index.js +14 -6
- package/dist/esm/cli/loader.js +79 -39
- package/dist/esm/runtime/index.js +13 -5
- package/dist/esm-node/cli/loader.js +14 -0
- package/dist/esm-node/runtime/index.js +12 -4
- package/dist/types/cli/loader.d.ts +6 -2
- package/package.json +14 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @modern-js/plugin-data-loader
|
|
2
2
|
|
|
3
|
+
## 2.32.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @modern-js/utils@2.32.1
|
|
8
|
+
|
|
9
|
+
## 2.32.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- a030aff: feat: support loader context
|
|
14
|
+
feat: 支持 loader context
|
|
15
|
+
- 4323e68: feat: support client-data file
|
|
16
|
+
feat: 支持 client-data 文件
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- 6076166: fix: packaging errors found by publint
|
|
21
|
+
|
|
22
|
+
fix: 修复 publint 检测到的 packaging 问题
|
|
23
|
+
|
|
24
|
+
- 3c91100: chore(builder): using unified version of webpack-chain
|
|
25
|
+
|
|
26
|
+
chore(builder): 使用统一的 webpack-chain 版本
|
|
27
|
+
|
|
28
|
+
- 5255eba: feat: report time for server loader
|
|
29
|
+
feat: 上报 server loader 执行的时间
|
|
30
|
+
- Updated dependencies [e5a3fb4]
|
|
31
|
+
- Updated dependencies [6076166]
|
|
32
|
+
- Updated dependencies [a030aff]
|
|
33
|
+
- Updated dependencies [3c91100]
|
|
34
|
+
- Updated dependencies [5255eba]
|
|
35
|
+
- @modern-js/utils@2.32.0
|
|
36
|
+
|
|
3
37
|
## 2.31.2
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
package/LICENSE
CHANGED
package/dist/cjs/cli/loader.js
CHANGED
|
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return loader;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _util = require("util");
|
|
12
|
+
const _logger = require("@modern-js/utils/logger");
|
|
11
13
|
const _generateClient = require("./generateClient");
|
|
12
14
|
async function loader(source) {
|
|
13
15
|
var _this__compiler;
|
|
@@ -33,6 +35,18 @@ async function loader(source) {
|
|
|
33
35
|
if (!options.mapFile) {
|
|
34
36
|
return source;
|
|
35
37
|
}
|
|
38
|
+
if (options.clientData) {
|
|
39
|
+
const readFile = (0, _util.promisify)(this.fs.readFile);
|
|
40
|
+
try {
|
|
41
|
+
const clientDataPath = this.resourcePath.includes(".loader.") ? this.resourcePath.replace(".loader.", ".data.client.") : this.resourcePath.replace(".data.", ".data.client.");
|
|
42
|
+
const clientDataContent = await readFile(clientDataPath);
|
|
43
|
+
return clientDataContent;
|
|
44
|
+
} catch (error) {
|
|
45
|
+
if (process.env.NODE_ENV === "development") {
|
|
46
|
+
_logger.logger.error(`Failed to read the clientData file ${options.clientData}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
36
50
|
const code = (0, _generateClient.generateClient)({
|
|
37
51
|
mapFile: options.mapFile,
|
|
38
52
|
loaderId: options.loaderId
|
|
@@ -25,7 +25,9 @@ const _remixrouter = require("@modern-js/utils/runtime/remix-router");
|
|
|
25
25
|
const _nestedroutes = require("@modern-js/utils/runtime/nested-routes");
|
|
26
26
|
const _lodash = require("@modern-js/utils/lodash");
|
|
27
27
|
const _runtimenode = require("@modern-js/utils/runtime-node");
|
|
28
|
-
const
|
|
28
|
+
const _time = require("@modern-js/utils/universal/time");
|
|
29
|
+
const _constants = require("@modern-js/utils/universal/constants");
|
|
30
|
+
const _constants1 = require("../common/constants");
|
|
29
31
|
const _response = require("./response");
|
|
30
32
|
(0, _node.installGlobals)();
|
|
31
33
|
const redirectStatusCodes = /* @__PURE__ */ new Set([
|
|
@@ -94,7 +96,7 @@ const sendLoaderResponse = async (res, nodeResponse) => {
|
|
|
94
96
|
};
|
|
95
97
|
const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) => {
|
|
96
98
|
const { method, query } = context;
|
|
97
|
-
const routeId = query[
|
|
99
|
+
const routeId = query[_constants1.LOADER_ID_PARAM];
|
|
98
100
|
const entry = (0, _runtimenode.matchEntry)(context.path, serverRoutes);
|
|
99
101
|
if (!routeId || !entry) {
|
|
100
102
|
return;
|
|
@@ -103,16 +105,20 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
103
105
|
throw new Error("CSR data loader request only support http GET method");
|
|
104
106
|
}
|
|
105
107
|
const basename = entry.urlPath;
|
|
106
|
-
const
|
|
108
|
+
const end = (0, _time.time)();
|
|
109
|
+
const { res, logger, reporter } = context;
|
|
110
|
+
const routes = (0, _nestedroutes.transformNestedRoutes)(routesConfig, reporter);
|
|
107
111
|
const { queryRoute } = (0, _remixrouter.createStaticHandler)(routes, {
|
|
108
112
|
basename
|
|
109
113
|
});
|
|
110
|
-
const { res, logger } = context;
|
|
111
114
|
const request = createLoaderRequest(context);
|
|
115
|
+
const requestContext = (0, _runtimenode.createRequestContext)();
|
|
116
|
+
requestContext.set(_runtimenode.reporterCtx, reporter);
|
|
112
117
|
let response;
|
|
113
118
|
try {
|
|
114
119
|
response = await queryRoute(request, {
|
|
115
|
-
routeId
|
|
120
|
+
routeId,
|
|
121
|
+
requestContext
|
|
116
122
|
});
|
|
117
123
|
if (isResponse(response) && isRedirectResponse(response.status)) {
|
|
118
124
|
response = convertModernRedirectResponse(response.headers, basename);
|
|
@@ -127,7 +133,7 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
127
133
|
response = convertModernRedirectResponse(new Headers(init.headers), basename);
|
|
128
134
|
} else {
|
|
129
135
|
const headers = new Headers(init.headers);
|
|
130
|
-
headers.set("Content-Type", `${
|
|
136
|
+
headers.set("Content-Type", `${_constants1.CONTENT_TYPE_DEFERRED}; charset=UTF-8`);
|
|
131
137
|
init.headers = headers;
|
|
132
138
|
response = new _node.Response(body, init);
|
|
133
139
|
}
|
|
@@ -149,5 +155,7 @@ const handleRequest = async ({ context, serverRoutes, routes: routesConfig }) =>
|
|
|
149
155
|
}
|
|
150
156
|
});
|
|
151
157
|
}
|
|
158
|
+
const cost = end();
|
|
159
|
+
reporter.reportTiming(`${_constants.LOADER_REPORTER_NAME}-navigation`, cost);
|
|
152
160
|
await sendLoaderResponse(res, response);
|
|
153
161
|
};
|
package/dist/esm/cli/loader.js
CHANGED
|
@@ -1,53 +1,93 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
3
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
4
|
+
import { promisify } from "util";
|
|
5
|
+
import { logger } from "@modern-js/utils/logger";
|
|
4
6
|
import { generateClient } from "./generateClient";
|
|
5
7
|
export default function loader(source) {
|
|
6
8
|
return _loader.apply(this, arguments);
|
|
7
9
|
}
|
|
8
10
|
function _loader() {
|
|
9
11
|
_loader = _async_to_generator(function(source) {
|
|
10
|
-
var _this__compiler, target, resourceQuery, options, code;
|
|
12
|
+
var _this__compiler, target, resourceQuery, options, readFile, clientDataPath, clientDataContent, error, code;
|
|
11
13
|
return _ts_generator(this, function(_state) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
switch (_state.label) {
|
|
15
|
+
case 0:
|
|
16
|
+
this.cacheable();
|
|
17
|
+
target = (_this__compiler = this._compiler) === null || _this__compiler === void 0 ? void 0 : _this__compiler.options.target;
|
|
18
|
+
if (target === "node") {
|
|
19
|
+
return [
|
|
20
|
+
2,
|
|
21
|
+
source
|
|
22
|
+
];
|
|
23
|
+
}
|
|
24
|
+
if (target === "webworker") {
|
|
25
|
+
return [
|
|
26
|
+
2,
|
|
27
|
+
source
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
resourceQuery = this.resourceQuery;
|
|
31
|
+
options = resourceQuery.slice(1).split("&").map(function(item) {
|
|
32
|
+
return item.split("=");
|
|
33
|
+
}).reduce(function(pre, cur) {
|
|
34
|
+
var _cur = _sliced_to_array(cur, 2), key = _cur[0], value = _cur[1];
|
|
35
|
+
if (!key || !value) {
|
|
36
|
+
return pre;
|
|
37
|
+
}
|
|
38
|
+
pre[key] = value;
|
|
39
|
+
return pre;
|
|
40
|
+
}, {});
|
|
41
|
+
if (!options.mapFile) {
|
|
42
|
+
return [
|
|
43
|
+
2,
|
|
44
|
+
source
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
if (!options.clientData)
|
|
48
|
+
return [
|
|
49
|
+
3,
|
|
50
|
+
4
|
|
51
|
+
];
|
|
52
|
+
readFile = promisify(this.fs.readFile);
|
|
53
|
+
_state.label = 1;
|
|
54
|
+
case 1:
|
|
55
|
+
_state.trys.push([
|
|
56
|
+
1,
|
|
57
|
+
3,
|
|
58
|
+
,
|
|
59
|
+
4
|
|
60
|
+
]);
|
|
61
|
+
clientDataPath = this.resourcePath.includes(".loader.") ? this.resourcePath.replace(".loader.", ".data.client.") : this.resourcePath.replace(".data.", ".data.client.");
|
|
62
|
+
return [
|
|
63
|
+
4,
|
|
64
|
+
readFile(clientDataPath)
|
|
65
|
+
];
|
|
66
|
+
case 2:
|
|
67
|
+
clientDataContent = _state.sent();
|
|
68
|
+
return [
|
|
69
|
+
2,
|
|
70
|
+
clientDataContent
|
|
71
|
+
];
|
|
72
|
+
case 3:
|
|
73
|
+
error = _state.sent();
|
|
74
|
+
if (process.env.NODE_ENV === "development") {
|
|
75
|
+
logger.error("Failed to read the clientData file ".concat(options.clientData));
|
|
76
|
+
}
|
|
77
|
+
return [
|
|
78
|
+
3,
|
|
79
|
+
4
|
|
80
|
+
];
|
|
81
|
+
case 4:
|
|
82
|
+
code = generateClient({
|
|
83
|
+
mapFile: options.mapFile,
|
|
84
|
+
loaderId: options.loaderId
|
|
85
|
+
});
|
|
86
|
+
return [
|
|
87
|
+
2,
|
|
88
|
+
code
|
|
89
|
+
];
|
|
19
90
|
}
|
|
20
|
-
if (target === "webworker") {
|
|
21
|
-
return [
|
|
22
|
-
2,
|
|
23
|
-
source
|
|
24
|
-
];
|
|
25
|
-
}
|
|
26
|
-
resourceQuery = this.resourceQuery;
|
|
27
|
-
options = resourceQuery.slice(1).split("&").map(function(item) {
|
|
28
|
-
return item.split("=");
|
|
29
|
-
}).reduce(function(pre, cur) {
|
|
30
|
-
var _cur = _sliced_to_array(cur, 2), key = _cur[0], value = _cur[1];
|
|
31
|
-
if (!key || !value) {
|
|
32
|
-
return pre;
|
|
33
|
-
}
|
|
34
|
-
pre[key] = value;
|
|
35
|
-
return pre;
|
|
36
|
-
}, {});
|
|
37
|
-
if (!options.mapFile) {
|
|
38
|
-
return [
|
|
39
|
-
2,
|
|
40
|
-
source
|
|
41
|
-
];
|
|
42
|
-
}
|
|
43
|
-
code = generateClient({
|
|
44
|
-
mapFile: options.mapFile,
|
|
45
|
-
loaderId: options.loaderId
|
|
46
|
-
});
|
|
47
|
-
return [
|
|
48
|
-
2,
|
|
49
|
-
code
|
|
50
|
-
];
|
|
51
91
|
});
|
|
52
92
|
});
|
|
53
93
|
return _loader.apply(this, arguments);
|
|
@@ -6,7 +6,9 @@ import { installGlobals, writeReadableStreamToWritable, Response as NodeResponse
|
|
|
6
6
|
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL } from "@modern-js/utils/runtime/remix-router";
|
|
7
7
|
import { transformNestedRoutes } from "@modern-js/utils/runtime/nested-routes";
|
|
8
8
|
import { isPlainObject } from "@modern-js/utils/lodash";
|
|
9
|
-
import { matchEntry } from "@modern-js/utils/runtime-node";
|
|
9
|
+
import { matchEntry, createRequestContext, reporterCtx } from "@modern-js/utils/runtime-node";
|
|
10
|
+
import { time } from "@modern-js/utils/universal/time";
|
|
11
|
+
import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
|
|
10
12
|
import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
|
|
11
13
|
import { createDeferredReadableStream } from "./response";
|
|
12
14
|
installGlobals();
|
|
@@ -155,7 +157,7 @@ var sendLoaderResponse = function() {
|
|
|
155
157
|
}();
|
|
156
158
|
export var handleRequest = function() {
|
|
157
159
|
var _ref = _async_to_generator(function(param) {
|
|
158
|
-
var context, serverRoutes, routesConfig, method, query, routeId, entry, basename,
|
|
160
|
+
var context, serverRoutes, routesConfig, method, query, routeId, entry, basename, end, res, logger, reporter, routes, queryRoute, request, requestContext, response, deferredData, body, init, headers, error, _logger, message, cost;
|
|
159
161
|
return _ts_generator(this, function(_state) {
|
|
160
162
|
switch (_state.label) {
|
|
161
163
|
case 0:
|
|
@@ -172,12 +174,15 @@ export var handleRequest = function() {
|
|
|
172
174
|
throw new Error("CSR data loader request only support http GET method");
|
|
173
175
|
}
|
|
174
176
|
basename = entry.urlPath;
|
|
175
|
-
|
|
177
|
+
end = time();
|
|
178
|
+
res = context.res, logger = context.logger, reporter = context.reporter;
|
|
179
|
+
routes = transformNestedRoutes(routesConfig, reporter);
|
|
176
180
|
queryRoute = createStaticHandler(routes, {
|
|
177
181
|
basename: basename
|
|
178
182
|
}).queryRoute;
|
|
179
|
-
res = context.res, logger = context.logger;
|
|
180
183
|
request = createLoaderRequest(context);
|
|
184
|
+
requestContext = createRequestContext();
|
|
185
|
+
requestContext.set(reporterCtx, reporter);
|
|
181
186
|
_state.label = 1;
|
|
182
187
|
case 1:
|
|
183
188
|
_state.trys.push([
|
|
@@ -189,7 +194,8 @@ export var handleRequest = function() {
|
|
|
189
194
|
return [
|
|
190
195
|
4,
|
|
191
196
|
queryRoute(request, {
|
|
192
|
-
routeId: routeId
|
|
197
|
+
routeId: routeId,
|
|
198
|
+
requestContext: requestContext
|
|
193
199
|
})
|
|
194
200
|
];
|
|
195
201
|
case 2:
|
|
@@ -237,6 +243,8 @@ export var handleRequest = function() {
|
|
|
237
243
|
4
|
|
238
244
|
];
|
|
239
245
|
case 4:
|
|
246
|
+
cost = end();
|
|
247
|
+
reporter.reportTiming("".concat(LOADER_REPORTER_NAME, "-navigation"), cost);
|
|
240
248
|
return [
|
|
241
249
|
4,
|
|
242
250
|
sendLoaderResponse(res, response)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { promisify } from "util";
|
|
2
|
+
import { logger } from "@modern-js/utils/logger";
|
|
1
3
|
import { generateClient } from "./generateClient";
|
|
2
4
|
export default async function loader(source) {
|
|
3
5
|
var _this__compiler;
|
|
@@ -23,6 +25,18 @@ export default async function loader(source) {
|
|
|
23
25
|
if (!options.mapFile) {
|
|
24
26
|
return source;
|
|
25
27
|
}
|
|
28
|
+
if (options.clientData) {
|
|
29
|
+
const readFile = promisify(this.fs.readFile);
|
|
30
|
+
try {
|
|
31
|
+
const clientDataPath = this.resourcePath.includes(".loader.") ? this.resourcePath.replace(".loader.", ".data.client.") : this.resourcePath.replace(".data.", ".data.client.");
|
|
32
|
+
const clientDataContent = await readFile(clientDataPath);
|
|
33
|
+
return clientDataContent;
|
|
34
|
+
} catch (error) {
|
|
35
|
+
if (process.env.NODE_ENV === "development") {
|
|
36
|
+
logger.error(`Failed to read the clientData file ${options.clientData}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
26
40
|
const code = generateClient({
|
|
27
41
|
mapFile: options.mapFile,
|
|
28
42
|
loaderId: options.loaderId
|
|
@@ -2,7 +2,9 @@ import { installGlobals, writeReadableStreamToWritable, Response as NodeResponse
|
|
|
2
2
|
import { createStaticHandler, ErrorResponse, UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL } from "@modern-js/utils/runtime/remix-router";
|
|
3
3
|
import { transformNestedRoutes } from "@modern-js/utils/runtime/nested-routes";
|
|
4
4
|
import { isPlainObject } from "@modern-js/utils/lodash";
|
|
5
|
-
import { matchEntry } from "@modern-js/utils/runtime-node";
|
|
5
|
+
import { matchEntry, createRequestContext, reporterCtx } from "@modern-js/utils/runtime-node";
|
|
6
|
+
import { time } from "@modern-js/utils/universal/time";
|
|
7
|
+
import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
|
|
6
8
|
import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
|
|
7
9
|
import { createDeferredReadableStream } from "./response";
|
|
8
10
|
installGlobals();
|
|
@@ -81,16 +83,20 @@ export const handleRequest = async ({ context, serverRoutes, routes: routesConfi
|
|
|
81
83
|
throw new Error("CSR data loader request only support http GET method");
|
|
82
84
|
}
|
|
83
85
|
const basename = entry.urlPath;
|
|
84
|
-
const
|
|
86
|
+
const end = time();
|
|
87
|
+
const { res, logger, reporter } = context;
|
|
88
|
+
const routes = transformNestedRoutes(routesConfig, reporter);
|
|
85
89
|
const { queryRoute } = createStaticHandler(routes, {
|
|
86
90
|
basename
|
|
87
91
|
});
|
|
88
|
-
const { res, logger } = context;
|
|
89
92
|
const request = createLoaderRequest(context);
|
|
93
|
+
const requestContext = createRequestContext();
|
|
94
|
+
requestContext.set(reporterCtx, reporter);
|
|
90
95
|
let response;
|
|
91
96
|
try {
|
|
92
97
|
response = await queryRoute(request, {
|
|
93
|
-
routeId
|
|
98
|
+
routeId,
|
|
99
|
+
requestContext
|
|
94
100
|
});
|
|
95
101
|
if (isResponse(response) && isRedirectResponse(response.status)) {
|
|
96
102
|
response = convertModernRedirectResponse(response.headers, basename);
|
|
@@ -127,5 +133,7 @@ export const handleRequest = async ({ context, serverRoutes, routes: routesConfi
|
|
|
127
133
|
}
|
|
128
134
|
});
|
|
129
135
|
}
|
|
136
|
+
const cost = end();
|
|
137
|
+
reporter.reportTiming(`${LOADER_REPORTER_NAME}-navigation`, cost);
|
|
130
138
|
await sendLoaderResponse(res, response);
|
|
131
139
|
};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import type { LoaderContext } from 'webpack';
|
|
2
|
-
|
|
3
|
+
type Context = {
|
|
3
4
|
mapFile: string;
|
|
4
5
|
loaderId?: string;
|
|
5
|
-
|
|
6
|
+
clientData?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export default function loader(this: LoaderContext<Context>, source: string): Promise<string | Buffer | undefined>;
|
|
9
|
+
export {};
|
package/package.json
CHANGED
|
@@ -15,28 +15,28 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.32.1",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=14.17.6"
|
|
21
21
|
},
|
|
22
|
-
"jsnext:source": "./src/index.ts",
|
|
23
|
-
"types": "./dist/types/index.d.ts",
|
|
24
|
-
"main": "./dist/cjs/index.js",
|
|
25
|
-
"module": "./dist/esm/index.js",
|
|
22
|
+
"jsnext:source": "./src/runtime/index.ts",
|
|
23
|
+
"types": "./dist/types/runtime/index.d.ts",
|
|
24
|
+
"main": "./dist/cjs/runtime/index.js",
|
|
25
|
+
"module": "./dist/esm/runtime/index.js",
|
|
26
26
|
"exports": {
|
|
27
27
|
"./loader": {
|
|
28
|
-
"jsnext:source": "./src/cli/loader.ts",
|
|
29
28
|
"types": "./dist/types/cli/loader.d.ts",
|
|
29
|
+
"jsnext:source": "./src/cli/loader.ts",
|
|
30
30
|
"default": "./dist/cjs/cli/loader.js"
|
|
31
31
|
},
|
|
32
32
|
"./server": {
|
|
33
|
-
"jsnext:source": "./src/server/index.ts",
|
|
34
33
|
"types": "./dist/types/server/index.d.ts",
|
|
34
|
+
"jsnext:source": "./src/server/index.ts",
|
|
35
35
|
"default": "./dist/cjs/server/index.js"
|
|
36
36
|
},
|
|
37
37
|
"./runtime": {
|
|
38
|
-
"jsnext:source": "./src/runtime/index.ts",
|
|
39
38
|
"types": "./dist/types/runtime/index.d.ts",
|
|
39
|
+
"jsnext:source": "./src/runtime/index.ts",
|
|
40
40
|
"default": "./dist/esm/runtime/index.js"
|
|
41
41
|
}
|
|
42
42
|
},
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@remix-run/node": "^1.12.0",
|
|
59
59
|
"path-to-regexp": "^6.2.0",
|
|
60
60
|
"@swc/helpers": "0.5.1",
|
|
61
|
-
"@modern-js/utils": "2.
|
|
61
|
+
"@modern-js/utils": "2.32.1"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@types/babel__core": "^7.20.0",
|
|
@@ -72,14 +72,13 @@
|
|
|
72
72
|
"ts-jest": "^29.1.0",
|
|
73
73
|
"typescript": "^5",
|
|
74
74
|
"webpack": "^5.88.1",
|
|
75
|
-
"webpack-chain": "^6.5.1",
|
|
76
75
|
"react": "^18",
|
|
77
76
|
"react-dom": "^18",
|
|
78
|
-
"@modern-js/
|
|
79
|
-
"@modern-js/server-core": "2.
|
|
80
|
-
"@modern-js/
|
|
81
|
-
"@scripts/build": "2.
|
|
82
|
-
"@scripts/jest-config": "2.
|
|
77
|
+
"@modern-js/core": "2.32.1",
|
|
78
|
+
"@modern-js/server-core": "2.32.1",
|
|
79
|
+
"@modern-js/types": "2.32.1",
|
|
80
|
+
"@scripts/build": "2.32.1",
|
|
81
|
+
"@scripts/jest-config": "2.32.1"
|
|
83
82
|
},
|
|
84
83
|
"peerDependencies": {
|
|
85
84
|
"react": ">=17.0.0"
|