@modern-js/plugin-data-loader 0.0.0-next-20250224040415 → 0.0.0-next-20250224065439

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.
@@ -25,9 +25,11 @@ __export(runtime_exports, {
25
25
  module.exports = __toCommonJS(runtime_exports);
26
26
  var import_browser = require("@modern-js/runtime-utils/browser");
27
27
  var import_node = require("@modern-js/runtime-utils/node");
28
+ var import_node2 = require("@modern-js/runtime-utils/node");
28
29
  var import_remix_router = require("@modern-js/runtime-utils/remix-router");
29
30
  var import_server = require("@modern-js/runtime-utils/server");
30
31
  var import_time = require("@modern-js/runtime-utils/time");
32
+ var import_request = require("@modern-js/runtime-utils/universal/request");
31
33
  var import_lodash = require("@modern-js/utils/lodash");
32
34
  var import_constants = require("@modern-js/utils/universal/constants");
33
35
  var import_constants2 = require("../common/constants");
@@ -68,63 +70,69 @@ const handleRequest = async ({ request, serverRoutes, routes: routesConfig, cont
68
70
  }
69
71
  const basename = entry.urlPath;
70
72
  const end = (0, import_time.time)();
71
- const { reporter, loaderContext } = context;
72
- const routes = (0, import_browser.transformNestedRoutes)(routesConfig, reporter);
73
- const { queryRoute } = (0, import_remix_router.createStaticHandler)(routes, {
74
- basename
75
- });
76
- const requestContext = (0, import_node.createRequestContext)(loaderContext);
77
- requestContext.set(import_node.reporterCtx, reporter);
78
- let response;
79
- try {
80
- response = await queryRoute(request, {
81
- routeId,
82
- requestContext
73
+ const { reporter, loaderContext, monitors } = context;
74
+ const headersData = (0, import_request.parseHeaders)(request);
75
+ return import_node2.storage.run({
76
+ headers: headersData,
77
+ monitors
78
+ }, async () => {
79
+ const routes = (0, import_browser.transformNestedRoutes)(routesConfig, reporter);
80
+ const { queryRoute } = (0, import_remix_router.createStaticHandler)(routes, {
81
+ basename
83
82
  });
84
- if (isResponse(response) && isRedirectResponse(response.status)) {
85
- response = convertModernRedirectResponse(response.headers, basename);
86
- } else if ((0, import_lodash.isPlainObject)(response) && import_remix_router.UNSAFE_DEFERRED_SYMBOL in response) {
87
- const deferredData = response[import_remix_router.UNSAFE_DEFERRED_SYMBOL];
88
- const body = (0, import_response.createDeferredReadableStream)(deferredData, request.signal);
89
- const init = deferredData.init || {};
90
- if (init.status && isRedirectResponse(init.status)) {
91
- if (!init.headers) {
92
- throw new Error("redirect response includes no headers");
83
+ const requestContext = (0, import_node.createRequestContext)(loaderContext);
84
+ requestContext.set(import_node.reporterCtx, reporter);
85
+ let response;
86
+ try {
87
+ response = await queryRoute(request, {
88
+ routeId,
89
+ requestContext
90
+ });
91
+ if (isResponse(response) && isRedirectResponse(response.status)) {
92
+ response = convertModernRedirectResponse(response.headers, basename);
93
+ } else if ((0, import_lodash.isPlainObject)(response) && import_remix_router.UNSAFE_DEFERRED_SYMBOL in response) {
94
+ const deferredData = response[import_remix_router.UNSAFE_DEFERRED_SYMBOL];
95
+ const body = (0, import_response.createDeferredReadableStream)(deferredData, request.signal);
96
+ const init = deferredData.init || {};
97
+ if (init.status && isRedirectResponse(init.status)) {
98
+ if (!init.headers) {
99
+ throw new Error("redirect response includes no headers");
100
+ }
101
+ response = convertModernRedirectResponse(new Headers(init.headers), basename);
102
+ } else {
103
+ const headers = new Headers(init.headers);
104
+ headers.set("Content-Type", `${import_constants2.CONTENT_TYPE_DEFERRED}; charset=UTF-8`);
105
+ init.headers = headers;
106
+ response = new Response(body, init);
93
107
  }
94
- response = convertModernRedirectResponse(new Headers(init.headers), basename);
95
108
  } else {
96
- const headers = new Headers(init.headers);
97
- headers.set("Content-Type", `${import_constants2.CONTENT_TYPE_DEFERRED}; charset=UTF-8`);
98
- init.headers = headers;
99
- response = new Response(body, init);
109
+ response = isResponse(response) ? response : new Response(JSON.stringify(response), {
110
+ headers: {
111
+ "Content-Type": "application/json; charset=utf-8"
112
+ }
113
+ });
114
+ }
115
+ const cost = end();
116
+ response.headers.set("X-Modernjs-Response", "yes");
117
+ onTiming === null || onTiming === void 0 ? void 0 : onTiming(`${import_constants.LOADER_REPORTER_NAME}-navigation`, cost);
118
+ } catch (error) {
119
+ if (isResponse(error)) {
120
+ error.headers.set("X-Modernjs-Catch", "yes");
121
+ response = error;
122
+ } else if ((0, import_remix_router.isRouteErrorResponse)(error)) {
123
+ response = (0, import_errors.errorResponseToJson)(error);
124
+ } else {
125
+ const errorInstance = error instanceof Error || error instanceof DOMException ? error : new Error("Unexpected Server Error");
126
+ response = (0, import_remix_router.json)((0, import_errors.serializeError)(errorInstance), {
127
+ status: 500,
128
+ headers: {
129
+ "X-Modernjs-Error": "yes"
130
+ }
131
+ });
100
132
  }
101
- } else {
102
- response = isResponse(response) ? response : new Response(JSON.stringify(response), {
103
- headers: {
104
- "Content-Type": "application/json; charset=utf-8"
105
- }
106
- });
107
- }
108
- const cost = end();
109
- response.headers.set("X-Modernjs-Response", "yes");
110
- onTiming === null || onTiming === void 0 ? void 0 : onTiming(`${import_constants.LOADER_REPORTER_NAME}-navigation`, cost);
111
- } catch (error) {
112
- if (isResponse(error)) {
113
- error.headers.set("X-Modernjs-Catch", "yes");
114
- response = error;
115
- } else if ((0, import_remix_router.isRouteErrorResponse)(error)) {
116
- response = (0, import_errors.errorResponseToJson)(error);
117
- } else {
118
- const errorInstance = error instanceof Error || error instanceof DOMException ? error : new Error("Unexpected Server Error");
119
- response = (0, import_remix_router.json)((0, import_errors.serializeError)(errorInstance), {
120
- status: 500,
121
- headers: {
122
- "X-Modernjs-Error": "yes"
123
- }
124
- });
125
133
  }
126
- }
127
- return response;
134
+ return response;
135
+ });
128
136
  };
129
137
  // Annotate the CommonJS export names for ESM import in node:
130
138
  0 && (module.exports = {
@@ -4,9 +4,11 @@ import { _ as _type_of } from "@swc/helpers/_/_type_of";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import { transformNestedRoutes } from "@modern-js/runtime-utils/browser";
6
6
  import { createRequestContext, reporterCtx } from "@modern-js/runtime-utils/node";
7
+ import { storage } from "@modern-js/runtime-utils/node";
7
8
  import { UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL, createStaticHandler, isRouteErrorResponse, json } from "@modern-js/runtime-utils/remix-router";
8
9
  import { matchEntry } from "@modern-js/runtime-utils/server";
9
10
  import { time } from "@modern-js/runtime-utils/time";
11
+ import { parseHeaders } from "@modern-js/runtime-utils/universal/request";
10
12
  import { isPlainObject } from "@modern-js/utils/lodash";
11
13
  import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
12
14
  import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
@@ -40,102 +42,114 @@ function convertModernRedirectResponse(headers, basename) {
40
42
  }
41
43
  var handleRequest = function() {
42
44
  var _ref = _async_to_generator(function(param) {
43
- var request, serverRoutes, routesConfig, context, onTiming, url, routeId, entry, basename, end, reporter, loaderContext, routes, queryRoute, requestContext, response, deferredData, body, init, headers, cost, error, errorInstance;
45
+ var request, serverRoutes, routesConfig, context, onTiming, url, routeId, entry, basename, end, reporter, loaderContext, monitors, headersData;
44
46
  return _ts_generator(this, function(_state) {
45
- switch (_state.label) {
46
- case 0:
47
- request = param.request, serverRoutes = param.serverRoutes, routesConfig = param.routes, context = param.context, onTiming = param.onTiming;
48
- url = new URL(request.url);
49
- routeId = url.searchParams.get(LOADER_ID_PARAM);
50
- entry = matchEntry(url.pathname, serverRoutes);
51
- if (!routeId || !entry) {
52
- return [
53
- 2
54
- ];
55
- }
56
- basename = entry.urlPath;
57
- end = time();
58
- reporter = context.reporter, loaderContext = context.loaderContext;
59
- routes = transformNestedRoutes(routesConfig, reporter);
60
- queryRoute = createStaticHandler(routes, {
61
- basename
62
- }).queryRoute;
63
- requestContext = createRequestContext(loaderContext);
64
- requestContext.set(reporterCtx, reporter);
65
- _state.label = 1;
66
- case 1:
67
- _state.trys.push([
68
- 1,
69
- 3,
70
- ,
71
- 4
72
- ]);
73
- return [
74
- 4,
75
- queryRoute(request, {
76
- routeId,
77
- requestContext
78
- })
79
- ];
80
- case 2:
81
- response = _state.sent();
82
- if (isResponse(response) && isRedirectResponse(response.status)) {
83
- response = convertModernRedirectResponse(response.headers, basename);
84
- } else if (isPlainObject(response) && DEFERRED_SYMBOL in response) {
85
- deferredData = response[DEFERRED_SYMBOL];
86
- body = createDeferredReadableStream(deferredData, request.signal);
87
- init = deferredData.init || {};
88
- if (init.status && isRedirectResponse(init.status)) {
89
- if (!init.headers) {
90
- throw new Error("redirect response includes no headers");
91
- }
92
- response = convertModernRedirectResponse(new Headers(init.headers), basename);
93
- } else {
94
- headers = new Headers(init.headers);
95
- headers.set("Content-Type", "".concat(CONTENT_TYPE_DEFERRED, "; charset=UTF-8"));
96
- init.headers = headers;
97
- response = new Response(body, init);
98
- }
99
- } else {
100
- response = isResponse(response) ? response : new Response(JSON.stringify(response), {
101
- headers: {
102
- "Content-Type": "application/json; charset=utf-8"
103
- }
104
- });
105
- }
106
- cost = end();
107
- response.headers.set("X-Modernjs-Response", "yes");
108
- onTiming === null || onTiming === void 0 ? void 0 : onTiming("".concat(LOADER_REPORTER_NAME, "-navigation"), cost);
109
- return [
110
- 3,
111
- 4
112
- ];
113
- case 3:
114
- error = _state.sent();
115
- if (isResponse(error)) {
116
- error.headers.set("X-Modernjs-Catch", "yes");
117
- response = error;
118
- } else if (isRouteErrorResponse(error)) {
119
- response = errorResponseToJson(error);
120
- } else {
121
- errorInstance = _instanceof(error, Error) || _instanceof(error, DOMException) ? error : new Error("Unexpected Server Error");
122
- response = json(serializeError(errorInstance), {
123
- status: 500,
124
- headers: {
125
- "X-Modernjs-Error": "yes"
126
- }
127
- });
128
- }
129
- return [
130
- 3,
131
- 4
132
- ];
133
- case 4:
134
- return [
135
- 2,
136
- response
137
- ];
47
+ request = param.request, serverRoutes = param.serverRoutes, routesConfig = param.routes, context = param.context, onTiming = param.onTiming;
48
+ url = new URL(request.url);
49
+ routeId = url.searchParams.get(LOADER_ID_PARAM);
50
+ entry = matchEntry(url.pathname, serverRoutes);
51
+ if (!routeId || !entry) {
52
+ return [
53
+ 2
54
+ ];
138
55
  }
56
+ basename = entry.urlPath;
57
+ end = time();
58
+ reporter = context.reporter, loaderContext = context.loaderContext, monitors = context.monitors;
59
+ headersData = parseHeaders(request);
60
+ return [
61
+ 2,
62
+ storage.run({
63
+ headers: headersData,
64
+ monitors
65
+ }, /* @__PURE__ */ _async_to_generator(function() {
66
+ var routes, queryRoute, requestContext, response, deferredData, body, init, headers, cost, error, errorInstance;
67
+ return _ts_generator(this, function(_state2) {
68
+ switch (_state2.label) {
69
+ case 0:
70
+ routes = transformNestedRoutes(routesConfig, reporter);
71
+ queryRoute = createStaticHandler(routes, {
72
+ basename
73
+ }).queryRoute;
74
+ requestContext = createRequestContext(loaderContext);
75
+ requestContext.set(reporterCtx, reporter);
76
+ _state2.label = 1;
77
+ case 1:
78
+ _state2.trys.push([
79
+ 1,
80
+ 3,
81
+ ,
82
+ 4
83
+ ]);
84
+ return [
85
+ 4,
86
+ queryRoute(request, {
87
+ routeId,
88
+ requestContext
89
+ })
90
+ ];
91
+ case 2:
92
+ response = _state2.sent();
93
+ if (isResponse(response) && isRedirectResponse(response.status)) {
94
+ response = convertModernRedirectResponse(response.headers, basename);
95
+ } else if (isPlainObject(response) && DEFERRED_SYMBOL in response) {
96
+ deferredData = response[DEFERRED_SYMBOL];
97
+ body = createDeferredReadableStream(deferredData, request.signal);
98
+ init = deferredData.init || {};
99
+ if (init.status && isRedirectResponse(init.status)) {
100
+ if (!init.headers) {
101
+ throw new Error("redirect response includes no headers");
102
+ }
103
+ response = convertModernRedirectResponse(new Headers(init.headers), basename);
104
+ } else {
105
+ headers = new Headers(init.headers);
106
+ headers.set("Content-Type", "".concat(CONTENT_TYPE_DEFERRED, "; charset=UTF-8"));
107
+ init.headers = headers;
108
+ response = new Response(body, init);
109
+ }
110
+ } else {
111
+ response = isResponse(response) ? response : new Response(JSON.stringify(response), {
112
+ headers: {
113
+ "Content-Type": "application/json; charset=utf-8"
114
+ }
115
+ });
116
+ }
117
+ cost = end();
118
+ response.headers.set("X-Modernjs-Response", "yes");
119
+ onTiming === null || onTiming === void 0 ? void 0 : onTiming("".concat(LOADER_REPORTER_NAME, "-navigation"), cost);
120
+ return [
121
+ 3,
122
+ 4
123
+ ];
124
+ case 3:
125
+ error = _state2.sent();
126
+ if (isResponse(error)) {
127
+ error.headers.set("X-Modernjs-Catch", "yes");
128
+ response = error;
129
+ } else if (isRouteErrorResponse(error)) {
130
+ response = errorResponseToJson(error);
131
+ } else {
132
+ errorInstance = _instanceof(error, Error) || _instanceof(error, DOMException) ? error : new Error("Unexpected Server Error");
133
+ response = json(serializeError(errorInstance), {
134
+ status: 500,
135
+ headers: {
136
+ "X-Modernjs-Error": "yes"
137
+ }
138
+ });
139
+ }
140
+ return [
141
+ 3,
142
+ 4
143
+ ];
144
+ case 4:
145
+ return [
146
+ 2,
147
+ response
148
+ ];
149
+ }
150
+ });
151
+ }))
152
+ ];
139
153
  });
140
154
  });
141
155
  return function handleRequest2(_) {
@@ -1,8 +1,10 @@
1
1
  import { transformNestedRoutes } from "@modern-js/runtime-utils/browser";
2
2
  import { createRequestContext, reporterCtx } from "@modern-js/runtime-utils/node";
3
+ import { storage } from "@modern-js/runtime-utils/node";
3
4
  import { UNSAFE_DEFERRED_SYMBOL as DEFERRED_SYMBOL, createStaticHandler, isRouteErrorResponse, json } from "@modern-js/runtime-utils/remix-router";
4
5
  import { matchEntry } from "@modern-js/runtime-utils/server";
5
6
  import { time } from "@modern-js/runtime-utils/time";
7
+ import { parseHeaders } from "@modern-js/runtime-utils/universal/request";
6
8
  import { isPlainObject } from "@modern-js/utils/lodash";
7
9
  import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
8
10
  import { CONTENT_TYPE_DEFERRED, LOADER_ID_PARAM } from "../common/constants";
@@ -43,63 +45,69 @@ const handleRequest = async ({ request, serverRoutes, routes: routesConfig, cont
43
45
  }
44
46
  const basename = entry.urlPath;
45
47
  const end = time();
46
- const { reporter, loaderContext } = context;
47
- const routes = transformNestedRoutes(routesConfig, reporter);
48
- const { queryRoute } = createStaticHandler(routes, {
49
- basename
50
- });
51
- const requestContext = createRequestContext(loaderContext);
52
- requestContext.set(reporterCtx, reporter);
53
- let response;
54
- try {
55
- response = await queryRoute(request, {
56
- routeId,
57
- requestContext
48
+ const { reporter, loaderContext, monitors } = context;
49
+ const headersData = parseHeaders(request);
50
+ return storage.run({
51
+ headers: headersData,
52
+ monitors
53
+ }, async () => {
54
+ const routes = transformNestedRoutes(routesConfig, reporter);
55
+ const { queryRoute } = createStaticHandler(routes, {
56
+ basename
58
57
  });
59
- if (isResponse(response) && isRedirectResponse(response.status)) {
60
- response = convertModernRedirectResponse(response.headers, basename);
61
- } else if (isPlainObject(response) && DEFERRED_SYMBOL in response) {
62
- const deferredData = response[DEFERRED_SYMBOL];
63
- const body = createDeferredReadableStream(deferredData, request.signal);
64
- const init = deferredData.init || {};
65
- if (init.status && isRedirectResponse(init.status)) {
66
- if (!init.headers) {
67
- throw new Error("redirect response includes no headers");
58
+ const requestContext = createRequestContext(loaderContext);
59
+ requestContext.set(reporterCtx, reporter);
60
+ let response;
61
+ try {
62
+ response = await queryRoute(request, {
63
+ routeId,
64
+ requestContext
65
+ });
66
+ if (isResponse(response) && isRedirectResponse(response.status)) {
67
+ response = convertModernRedirectResponse(response.headers, basename);
68
+ } else if (isPlainObject(response) && DEFERRED_SYMBOL in response) {
69
+ const deferredData = response[DEFERRED_SYMBOL];
70
+ const body = createDeferredReadableStream(deferredData, request.signal);
71
+ const init = deferredData.init || {};
72
+ if (init.status && isRedirectResponse(init.status)) {
73
+ if (!init.headers) {
74
+ throw new Error("redirect response includes no headers");
75
+ }
76
+ response = convertModernRedirectResponse(new Headers(init.headers), basename);
77
+ } else {
78
+ const headers = new Headers(init.headers);
79
+ headers.set("Content-Type", `${CONTENT_TYPE_DEFERRED}; charset=UTF-8`);
80
+ init.headers = headers;
81
+ response = new Response(body, init);
68
82
  }
69
- response = convertModernRedirectResponse(new Headers(init.headers), basename);
70
83
  } else {
71
- const headers = new Headers(init.headers);
72
- headers.set("Content-Type", `${CONTENT_TYPE_DEFERRED}; charset=UTF-8`);
73
- init.headers = headers;
74
- response = new Response(body, init);
84
+ response = isResponse(response) ? response : new Response(JSON.stringify(response), {
85
+ headers: {
86
+ "Content-Type": "application/json; charset=utf-8"
87
+ }
88
+ });
89
+ }
90
+ const cost = end();
91
+ response.headers.set("X-Modernjs-Response", "yes");
92
+ onTiming === null || onTiming === void 0 ? void 0 : onTiming(`${LOADER_REPORTER_NAME}-navigation`, cost);
93
+ } catch (error) {
94
+ if (isResponse(error)) {
95
+ error.headers.set("X-Modernjs-Catch", "yes");
96
+ response = error;
97
+ } else if (isRouteErrorResponse(error)) {
98
+ response = errorResponseToJson(error);
99
+ } else {
100
+ const errorInstance = error instanceof Error || error instanceof DOMException ? error : new Error("Unexpected Server Error");
101
+ response = json(serializeError(errorInstance), {
102
+ status: 500,
103
+ headers: {
104
+ "X-Modernjs-Error": "yes"
105
+ }
106
+ });
75
107
  }
76
- } else {
77
- response = isResponse(response) ? response : new Response(JSON.stringify(response), {
78
- headers: {
79
- "Content-Type": "application/json; charset=utf-8"
80
- }
81
- });
82
- }
83
- const cost = end();
84
- response.headers.set("X-Modernjs-Response", "yes");
85
- onTiming === null || onTiming === void 0 ? void 0 : onTiming(`${LOADER_REPORTER_NAME}-navigation`, cost);
86
- } catch (error) {
87
- if (isResponse(error)) {
88
- error.headers.set("X-Modernjs-Catch", "yes");
89
- response = error;
90
- } else if (isRouteErrorResponse(error)) {
91
- response = errorResponseToJson(error);
92
- } else {
93
- const errorInstance = error instanceof Error || error instanceof DOMException ? error : new Error("Unexpected Server Error");
94
- response = json(serializeError(errorInstance), {
95
- status: 500,
96
- headers: {
97
- "X-Modernjs-Error": "yes"
98
- }
99
- });
100
108
  }
101
- }
102
- return response;
109
+ return response;
110
+ });
103
111
  };
104
112
  export {
105
113
  handleRequest,
@@ -1,14 +1,4 @@
1
- import type { NestedRoute, Reporter, ServerRoute } from '@modern-js/types';
1
+ import type { ServerLoaderBundle } from '@modern-js/server-core';
2
2
  export declare function isRedirectResponse(status: number): boolean;
3
3
  export declare function isResponse(value: any): value is Response;
4
- export declare const handleRequest: ({ request, serverRoutes, routes: routesConfig, context, onTiming, }: {
5
- request: Request;
6
- serverRoutes: ServerRoute[];
7
- routes: NestedRoute[];
8
- onError?: ((error: unknown) => void) | undefined;
9
- onTiming?: ((name: string, dur: number) => void) | undefined;
10
- context: {
11
- loaderContext?: Map<string, unknown>;
12
- reporter?: Reporter;
13
- };
14
- }) => Promise<Response | void>;
4
+ export declare const handleRequest: ServerLoaderBundle['handleRequest'];
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "0.0.0-next-20250224040415",
18
+ "version": "0.0.0-next-20250224065439",
19
19
  "engines": {
20
20
  "node": ">=16.2.0"
21
21
  },
@@ -49,8 +49,8 @@
49
49
  "@babel/core": "^7.26.0",
50
50
  "@swc/helpers": "0.5.13",
51
51
  "path-to-regexp": "^6.2.0",
52
- "@modern-js/runtime-utils": "0.0.0-next-20250224040415",
53
- "@modern-js/utils": "0.0.0-next-20250224040415"
52
+ "@modern-js/runtime-utils": "0.0.0-next-20250224065439",
53
+ "@modern-js/utils": "0.0.0-next-20250224065439"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/babel__core": "^7.20.5",
@@ -66,11 +66,11 @@
66
66
  "ts-jest": "^29.1.0",
67
67
  "typescript": "^5",
68
68
  "webpack": "^5.98.0",
69
- "@modern-js/core": "0.0.0-next-20250224040415",
70
- "@modern-js/server-core": "0.0.0-next-20250224040415",
71
- "@modern-js/types": "0.0.0-next-20250224040415",
72
- "@scripts/build": "0.0.0-next-20250224040415",
73
- "@scripts/jest-config": "0.0.0-next-20250224040415"
69
+ "@modern-js/core": "0.0.0-next-20250224065439",
70
+ "@modern-js/server-core": "0.0.0-next-20250224065439",
71
+ "@modern-js/types": "0.0.0-next-20250224065439",
72
+ "@scripts/build": "0.0.0-next-20250224065439",
73
+ "@scripts/jest-config": "0.0.0-next-20250224065439"
74
74
  },
75
75
  "peerDependencies": {
76
76
  "react": ">=17.0.0"