@modern-js/runtime 3.6.0 → 3.7.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.
@@ -76,7 +76,9 @@ const ssrBuilderPlugin = (modernAPI, outputModule, exportLoadablePath)=>({
76
76
  source: {
77
77
  define: {
78
78
  'process.env.MODERN_TARGET': isServerEnvironment ? JSON.stringify('node') : JSON.stringify('browser'),
79
- 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv)
79
+ 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv),
80
+ 'process.env.MODERN_ENABLE_HYDRATION': JSON.stringify((0, utils_namespaceObject.isUseSSRBundle)(userConfig)),
81
+ 'process.env.MODERN_ENABLE_RSC': JSON.stringify(Boolean(userConfig.server?.rsc))
80
82
  }
81
83
  },
82
84
  output: {
@@ -28,13 +28,21 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
- hydrateRoot: ()=>hydrateRoot
31
+ hydrateRoot: ()=>hydrateRoot,
32
+ hydrateWithReact: ()=>hydrateWithReact
32
33
  });
33
34
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
34
35
  const component_namespaceObject = require("@loadable/component");
36
+ const constants_namespaceObject = require("@modern-js/utils/universal/constants");
37
+ const client_namespaceObject = require("react-dom/client");
35
38
  const external_constants_js_namespaceObject = require("../constants.js");
36
39
  const wrapper_js_namespaceObject = require("../react/wrapper.js");
37
40
  const external_withCallback_js_namespaceObject = require("./withCallback.js");
41
+ async function hydrateWithReact(App, rootElement) {
42
+ return (0, client_namespaceObject.hydrateRoot)(rootElement, App, {
43
+ identifierPrefix: constants_namespaceObject.SSR_HYDRATION_ID_PREFIX
44
+ });
45
+ }
38
46
  function hydrateRoot(App, context, ModernRender, ModernHydrate) {
39
47
  const hydrateContext = {
40
48
  ...context,
@@ -78,8 +86,10 @@ function hydrateRoot(App, context, ModernRender, ModernHydrate) {
78
86
  }
79
87
  }
80
88
  exports.hydrateRoot = __webpack_exports__.hydrateRoot;
89
+ exports.hydrateWithReact = __webpack_exports__.hydrateWithReact;
81
90
  for(var __rspack_i in __webpack_exports__)if (-1 === [
82
- "hydrateRoot"
91
+ "hydrateRoot",
92
+ "hydrateWithReact"
83
93
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
84
94
  Object.defineProperty(exports, '__esModule', {
85
95
  value: true
@@ -37,11 +37,10 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- hydrateWithReact: ()=>hydrateWithReact,
40
+ hydrateWithReact: ()=>external_hydrate_js_namespaceObject.hydrateWithReact,
41
41
  render: ()=>render,
42
42
  renderWithReact: ()=>renderWithReact
43
43
  });
44
- const constants_namespaceObject = require("@modern-js/utils/universal/constants");
45
44
  const external_cookie_namespaceObject = require("cookie");
46
45
  var external_cookie_default = /*#__PURE__*/ __webpack_require__.n(external_cookie_namespaceObject);
47
46
  const client_namespaceObject = require("react-dom/client");
@@ -108,10 +107,12 @@ async function render(App, id) {
108
107
  async function ModernRender(App) {
109
108
  return renderWithReact(App, rootElement);
110
109
  }
111
- async function ModernHydrate(App) {
112
- return hydrateWithReact(App, rootElement);
110
+ if (process.env.MODERN_ENABLE_HYDRATION && window._SSR_DATA) {
111
+ async function ModernHydrate(App) {
112
+ return (0, external_hydrate_js_namespaceObject.hydrateWithReact)(App, rootElement);
113
+ }
114
+ return (0, external_hydrate_js_namespaceObject.hydrateRoot)(App, context, ModernRender, ModernHydrate);
113
115
  }
114
- if (window._SSR_DATA) return (0, external_hydrate_js_namespaceObject.hydrateRoot)(App, context, ModernRender, ModernHydrate);
115
116
  return ModernRender((0, wrapper_js_namespaceObject.wrapRuntimeContextProvider)(App, context));
116
117
  }
117
118
  throw Error('`render` function needs id in browser environment, it needs to be string or element');
@@ -121,12 +122,6 @@ async function renderWithReact(App, rootElement) {
121
122
  root.render(App);
122
123
  return root;
123
124
  }
124
- async function hydrateWithReact(App, rootElement) {
125
- const root = (0, client_namespaceObject.hydrateRoot)(rootElement, App, {
126
- identifierPrefix: constants_namespaceObject.SSR_HYDRATION_ID_PREFIX
127
- });
128
- return root;
129
- }
130
125
  exports.hydrateWithReact = __webpack_exports__.hydrateWithReact;
131
126
  exports.render = __webpack_exports__.render;
132
127
  exports.renderWithReact = __webpack_exports__.renderWithReact;
@@ -101,10 +101,10 @@ const routerPlugin = (userConfig = {})=>({
101
101
  };
102
102
  let cachedRouter = null;
103
103
  const RouterWrapper = (props)=>{
104
- const routerResult = useRouterCreation({
104
+ const routerResult = useRouterCreation(process.env.MODERN_ENABLE_RSC ? {
105
105
  ...props,
106
106
  rscPayload: props?.rscPayload
107
- }, {
107
+ } : props, {
108
108
  api: api,
109
109
  createRoutes,
110
110
  supportHtml5History,
@@ -158,16 +158,15 @@ function useRouterCreation(props, options) {
158
158
  const baseUrl = selectBasePath(location.pathname).replace(/^\/*/, '/');
159
159
  const _basename = '/' === baseUrl ? (0, external_utils_js_namespaceObject.urlJoin)(baseUrl, runtimeContext._internalRouterBaseName || basename || '') : baseUrl;
160
160
  const { unstable_getBlockNavState: getBlockNavState } = runtimeContext;
161
- const rscPayload = props?.rscPayload ? safeUse(props.rscPayload) : null;
162
- let hydrationData = window._ROUTER_DATA || rscPayload;
161
+ const rscPayload = process.env.MODERN_ENABLE_RSC && props?.rscPayload ? safeUse(props.rscPayload) : null;
162
+ let hydrationData = process.env.MODERN_ENABLE_RSC ? window._ROUTER_DATA || rscPayload : window._ROUTER_DATA;
163
163
  return (0, external_react_namespaceObject.useMemo)(()=>{
164
164
  if (hydrationData?.errors) hydrationData = {
165
165
  ...hydrationData,
166
166
  errors: (0, external_utils_js_namespaceObject.deserializeErrors)(hydrationData.errors)
167
167
  };
168
- const isRscClient = (0, index_js_namespaceObject.getGlobalIsRscClient)();
169
168
  let routes = null;
170
- routes = isRscClient ? createRoutes ? createRoutes() : (0, external_utils_js_namespaceObject.createRouteObjectsFromConfig)({
169
+ routes = process.env.MODERN_ENABLE_RSC && (0, index_js_namespaceObject.getGlobalIsRscClient)() ? createRoutes ? createRoutes() : (0, external_utils_js_namespaceObject.createRouteObjectsFromConfig)({
171
170
  routesConfig: finalRouteConfig
172
171
  }) : createRoutes ? createRoutes() : (0, router_namespaceObject.createRoutesFromElements)((0, external_utils_js_namespaceObject.renderRoutes)({
173
172
  routesConfig: finalRouteConfig,
@@ -175,7 +174,7 @@ function useRouterCreation(props, options) {
175
174
  }));
176
175
  if (!routes) routes = [];
177
176
  const hooks = api.getHooks();
178
- if (rscPayload) try {
177
+ if (process.env.MODERN_ENABLE_RSC && rscPayload) try {
179
178
  const router = (0, external_rsc_router_js_namespaceObject.createClientRouterFromPayload)(rscPayload, routes, _basename);
180
179
  return {
181
180
  router,
@@ -32,7 +32,9 @@ const ssrBuilderPlugin = (modernAPI, outputModule, exportLoadablePath)=>({
32
32
  source: {
33
33
  define: {
34
34
  'process.env.MODERN_TARGET': isServerEnvironment ? JSON.stringify('node') : JSON.stringify('browser'),
35
- 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv)
35
+ 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv),
36
+ 'process.env.MODERN_ENABLE_HYDRATION': JSON.stringify(isUseSSRBundle(userConfig)),
37
+ 'process.env.MODERN_ENABLE_RSC': JSON.stringify(Boolean(userConfig.server?.rsc))
36
38
  }
37
39
  },
38
40
  output: {
@@ -1,9 +1,16 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { loadableReady } from "@loadable/component";
3
+ import { SSR_HYDRATION_ID_PREFIX } from "@modern-js/utils/universal/constants";
4
+ import { hydrateRoot } from "react-dom/client";
3
5
  import { RenderLevel } from "../constants.mjs";
4
6
  import { wrapRuntimeContextProvider } from "../react/wrapper.mjs";
5
7
  import { WithCallback } from "./withCallback.mjs";
6
- function hydrateRoot(App, context, ModernRender, ModernHydrate) {
8
+ async function hydrateWithReact(App, rootElement) {
9
+ return hydrateRoot(rootElement, App, {
10
+ identifierPrefix: SSR_HYDRATION_ID_PREFIX
11
+ });
12
+ }
13
+ function hydrate_hydrateRoot(App, context, ModernRender, ModernHydrate) {
7
14
  const hydrateContext = {
8
15
  ...context,
9
16
  get routes () {
@@ -45,4 +52,4 @@ function hydrateRoot(App, context, ModernRender, ModernHydrate) {
45
52
  return ModernRender(wrapRuntimeContextProvider(App, context));
46
53
  }
47
54
  }
48
- export { hydrateRoot };
55
+ export { hydrateWithReact, hydrate_hydrateRoot as hydrateRoot };
@@ -1,10 +1,9 @@
1
- import { SSR_HYDRATION_ID_PREFIX } from "@modern-js/utils/universal/constants";
2
1
  import cookie from "cookie";
3
- import { createRoot, hydrateRoot } from "react-dom/client";
2
+ import { createRoot } from "react-dom/client";
4
3
  import { getGlobalInternalRuntimeContext } from "../context/index.mjs";
5
4
  import { getInitialContext } from "../context/runtime.mjs";
6
5
  import { wrapRuntimeContextProvider } from "../react/wrapper.mjs";
7
- import { hydrateRoot as external_hydrate_mjs_hydrateRoot } from "./hydrate.mjs";
6
+ import { hydrateRoot, hydrateWithReact } from "./hydrate.mjs";
8
7
  const getQuery = ()=>window.location.search.substring(1).split('&').reduce((res, item)=>{
9
8
  const [key, value] = item.split('=');
10
9
  if (key) res[key] = value;
@@ -64,10 +63,12 @@ async function render(App, id) {
64
63
  async function ModernRender(App) {
65
64
  return renderWithReact(App, rootElement);
66
65
  }
67
- async function ModernHydrate(App) {
68
- return hydrateWithReact(App, rootElement);
66
+ if (process.env.MODERN_ENABLE_HYDRATION && window._SSR_DATA) {
67
+ async function ModernHydrate(App) {
68
+ return hydrateWithReact(App, rootElement);
69
+ }
70
+ return hydrateRoot(App, context, ModernRender, ModernHydrate);
69
71
  }
70
- if (window._SSR_DATA) return external_hydrate_mjs_hydrateRoot(App, context, ModernRender, ModernHydrate);
71
72
  return ModernRender(wrapRuntimeContextProvider(App, context));
72
73
  }
73
74
  throw Error('`render` function needs id in browser environment, it needs to be string or element');
@@ -77,10 +78,4 @@ async function renderWithReact(App, rootElement) {
77
78
  root.render(App);
78
79
  return root;
79
80
  }
80
- async function hydrateWithReact(App, rootElement) {
81
- const root = hydrateRoot(rootElement, App, {
82
- identifierPrefix: SSR_HYDRATION_ID_PREFIX
83
- });
84
- return root;
85
- }
86
81
  export { hydrateWithReact, render, renderWithReact };
@@ -66,10 +66,10 @@ const routerPlugin = (userConfig = {})=>({
66
66
  };
67
67
  let cachedRouter = null;
68
68
  const RouterWrapper = (props)=>{
69
- const routerResult = useRouterCreation({
69
+ const routerResult = useRouterCreation(process.env.MODERN_ENABLE_RSC ? {
70
70
  ...props,
71
71
  rscPayload: props?.rscPayload
72
- }, {
72
+ } : props, {
73
73
  api: api,
74
74
  createRoutes,
75
75
  supportHtml5History,
@@ -123,16 +123,15 @@ function useRouterCreation(props, options) {
123
123
  const baseUrl = selectBasePath(location.pathname).replace(/^\/*/, '/');
124
124
  const _basename = '/' === baseUrl ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || basename || '') : baseUrl;
125
125
  const { unstable_getBlockNavState: getBlockNavState } = runtimeContext;
126
- const rscPayload = props?.rscPayload ? safeUse(props.rscPayload) : null;
127
- let hydrationData = window._ROUTER_DATA || rscPayload;
126
+ const rscPayload = process.env.MODERN_ENABLE_RSC && props?.rscPayload ? safeUse(props.rscPayload) : null;
127
+ let hydrationData = process.env.MODERN_ENABLE_RSC ? window._ROUTER_DATA || rscPayload : window._ROUTER_DATA;
128
128
  return (0, __rspack_external_react.useMemo)(()=>{
129
129
  if (hydrationData?.errors) hydrationData = {
130
130
  ...hydrationData,
131
131
  errors: deserializeErrors(hydrationData.errors)
132
132
  };
133
- const isRscClient = getGlobalIsRscClient();
134
133
  let routes = null;
135
- routes = isRscClient ? createRoutes ? createRoutes() : createRouteObjectsFromConfig({
134
+ routes = process.env.MODERN_ENABLE_RSC && getGlobalIsRscClient() ? createRoutes ? createRoutes() : createRouteObjectsFromConfig({
136
135
  routesConfig: finalRouteConfig
137
136
  }) : createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes({
138
137
  routesConfig: finalRouteConfig,
@@ -140,7 +139,7 @@ function useRouterCreation(props, options) {
140
139
  }));
141
140
  if (!routes) routes = [];
142
141
  const hooks = api.getHooks();
143
- if (rscPayload) try {
142
+ if (process.env.MODERN_ENABLE_RSC && rscPayload) try {
144
143
  const router = createClientRouterFromPayload(rscPayload, routes, _basename);
145
144
  return {
146
145
  router,
@@ -34,7 +34,9 @@ const ssrBuilderPlugin = (modernAPI, outputModule, exportLoadablePath)=>({
34
34
  source: {
35
35
  define: {
36
36
  'process.env.MODERN_TARGET': isServerEnvironment ? JSON.stringify('node') : JSON.stringify('browser'),
37
- 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv)
37
+ 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv),
38
+ 'process.env.MODERN_ENABLE_HYDRATION': JSON.stringify(isUseSSRBundle(userConfig)),
39
+ 'process.env.MODERN_ENABLE_RSC': JSON.stringify(Boolean(userConfig.server?.rsc))
38
40
  }
39
41
  },
40
42
  output: {
@@ -1,10 +1,17 @@
1
1
  import "node:module";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { loadableReady } from "@loadable/component";
4
+ import { SSR_HYDRATION_ID_PREFIX } from "@modern-js/utils/universal/constants";
5
+ import { hydrateRoot } from "react-dom/client";
4
6
  import { RenderLevel } from "../constants.mjs";
5
7
  import { wrapRuntimeContextProvider } from "../react/wrapper.mjs";
6
8
  import { WithCallback } from "./withCallback.mjs";
7
- function hydrateRoot(App, context, ModernRender, ModernHydrate) {
9
+ async function hydrateWithReact(App, rootElement) {
10
+ return hydrateRoot(rootElement, App, {
11
+ identifierPrefix: SSR_HYDRATION_ID_PREFIX
12
+ });
13
+ }
14
+ function hydrate_hydrateRoot(App, context, ModernRender, ModernHydrate) {
8
15
  const hydrateContext = {
9
16
  ...context,
10
17
  get routes () {
@@ -46,4 +53,4 @@ function hydrateRoot(App, context, ModernRender, ModernHydrate) {
46
53
  return ModernRender(wrapRuntimeContextProvider(App, context));
47
54
  }
48
55
  }
49
- export { hydrateRoot };
56
+ export { hydrateWithReact, hydrate_hydrateRoot as hydrateRoot };
@@ -1,11 +1,10 @@
1
1
  import "node:module";
2
- import { SSR_HYDRATION_ID_PREFIX } from "@modern-js/utils/universal/constants";
3
2
  import cookie from "cookie";
4
- import { createRoot, hydrateRoot } from "react-dom/client";
3
+ import { createRoot } from "react-dom/client";
5
4
  import { getGlobalInternalRuntimeContext } from "../context/index.mjs";
6
5
  import { getInitialContext } from "../context/runtime.mjs";
7
6
  import { wrapRuntimeContextProvider } from "../react/wrapper.mjs";
8
- import { hydrateRoot as external_hydrate_mjs_hydrateRoot } from "./hydrate.mjs";
7
+ import { hydrateRoot, hydrateWithReact } from "./hydrate.mjs";
9
8
  const getQuery = ()=>window.location.search.substring(1).split('&').reduce((res, item)=>{
10
9
  const [key, value] = item.split('=');
11
10
  if (key) res[key] = value;
@@ -65,10 +64,12 @@ async function render(App, id) {
65
64
  async function ModernRender(App) {
66
65
  return renderWithReact(App, rootElement);
67
66
  }
68
- async function ModernHydrate(App) {
69
- return hydrateWithReact(App, rootElement);
67
+ if (process.env.MODERN_ENABLE_HYDRATION && window._SSR_DATA) {
68
+ async function ModernHydrate(App) {
69
+ return hydrateWithReact(App, rootElement);
70
+ }
71
+ return hydrateRoot(App, context, ModernRender, ModernHydrate);
70
72
  }
71
- if (window._SSR_DATA) return external_hydrate_mjs_hydrateRoot(App, context, ModernRender, ModernHydrate);
72
73
  return ModernRender(wrapRuntimeContextProvider(App, context));
73
74
  }
74
75
  throw Error('`render` function needs id in browser environment, it needs to be string or element');
@@ -78,10 +79,4 @@ async function renderWithReact(App, rootElement) {
78
79
  root.render(App);
79
80
  return root;
80
81
  }
81
- async function hydrateWithReact(App, rootElement) {
82
- const root = hydrateRoot(rootElement, App, {
83
- identifierPrefix: SSR_HYDRATION_ID_PREFIX
84
- });
85
- return root;
86
- }
87
82
  export { hydrateWithReact, render, renderWithReact };
@@ -67,10 +67,10 @@ const routerPlugin = (userConfig = {})=>({
67
67
  };
68
68
  let cachedRouter = null;
69
69
  const RouterWrapper = (props)=>{
70
- const routerResult = useRouterCreation({
70
+ const routerResult = useRouterCreation(process.env.MODERN_ENABLE_RSC ? {
71
71
  ...props,
72
72
  rscPayload: props?.rscPayload
73
- }, {
73
+ } : props, {
74
74
  api: api,
75
75
  createRoutes,
76
76
  supportHtml5History,
@@ -124,16 +124,15 @@ function useRouterCreation(props, options) {
124
124
  const baseUrl = selectBasePath(location.pathname).replace(/^\/*/, '/');
125
125
  const _basename = '/' === baseUrl ? urlJoin(baseUrl, runtimeContext._internalRouterBaseName || basename || '') : baseUrl;
126
126
  const { unstable_getBlockNavState: getBlockNavState } = runtimeContext;
127
- const rscPayload = props?.rscPayload ? safeUse(props.rscPayload) : null;
128
- let hydrationData = window._ROUTER_DATA || rscPayload;
127
+ const rscPayload = process.env.MODERN_ENABLE_RSC && props?.rscPayload ? safeUse(props.rscPayload) : null;
128
+ let hydrationData = process.env.MODERN_ENABLE_RSC ? window._ROUTER_DATA || rscPayload : window._ROUTER_DATA;
129
129
  return (0, __rspack_external_react.useMemo)(()=>{
130
130
  if (hydrationData?.errors) hydrationData = {
131
131
  ...hydrationData,
132
132
  errors: deserializeErrors(hydrationData.errors)
133
133
  };
134
- const isRscClient = getGlobalIsRscClient();
135
134
  let routes = null;
136
- routes = isRscClient ? createRoutes ? createRoutes() : createRouteObjectsFromConfig({
135
+ routes = process.env.MODERN_ENABLE_RSC && getGlobalIsRscClient() ? createRoutes ? createRoutes() : createRouteObjectsFromConfig({
137
136
  routesConfig: finalRouteConfig
138
137
  }) : createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes({
139
138
  routesConfig: finalRouteConfig,
@@ -141,7 +140,7 @@ function useRouterCreation(props, options) {
141
140
  }));
142
141
  if (!routes) routes = [];
143
142
  const hooks = api.getHooks();
144
- if (rscPayload) try {
143
+ if (process.env.MODERN_ENABLE_RSC && rscPayload) try {
145
144
  const router = createClientRouterFromPayload(rscPayload, routes, _basename);
146
145
  return {
147
146
  router,
@@ -1,4 +1,5 @@
1
1
  import type React from 'react';
2
- import type { Root } from 'react-dom/client';
2
+ import { type Root } from 'react-dom/client';
3
3
  import type { TRuntimeContext } from '../context/runtime';
4
+ export declare function hydrateWithReact(App: React.ReactElement, rootElement: HTMLElement): Promise<Root>;
4
5
  export declare function hydrateRoot(App: React.ReactElement, context: TRuntimeContext, ModernRender: (App: React.ReactElement) => Promise<HTMLElement | Root>, ModernHydrate: (App: React.ReactElement) => Promise<HTMLElement | Root>): Promise<HTMLElement | Root>;
@@ -1,7 +1,8 @@
1
1
  import type React from 'react';
2
+ import { hydrateWithReact } from './hydrate';
3
+ export { hydrateWithReact };
2
4
  export type RenderFunc = typeof render;
3
5
  export declare function render(App: React.ReactElement<{
4
6
  basename: string;
5
7
  }>, id?: HTMLElement | string): Promise<HTMLElement | import("react-dom/client").Root>;
6
8
  export declare function renderWithReact(App: React.ReactElement, rootElement: HTMLElement): Promise<import("react-dom/client").Root>;
7
- export declare function hydrateWithReact(App: React.ReactElement, rootElement: HTMLElement): Promise<import("react-dom/client").Root>;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "3.6.0",
18
+ "version": "3.7.0",
19
19
  "engines": {
20
20
  "node": ">=20"
21
21
  },
@@ -215,12 +215,12 @@
215
215
  "isbot": "3.8.0",
216
216
  "react-helmet": "^6.1.0",
217
217
  "react-is": "^18.3.1",
218
- "@modern-js/plugin": "3.6.0",
219
- "@modern-js/plugin-data-loader": "3.6.0",
220
- "@modern-js/render": "3.6.0",
221
- "@modern-js/runtime-utils": "3.6.0",
222
- "@modern-js/types": "3.6.0",
223
- "@modern-js/utils": "3.6.0"
218
+ "@modern-js/plugin": "3.7.0",
219
+ "@modern-js/plugin-data-loader": "3.7.0",
220
+ "@modern-js/render": "3.7.0",
221
+ "@modern-js/runtime-utils": "3.7.0",
222
+ "@modern-js/types": "3.7.0",
223
+ "@modern-js/utils": "3.7.0"
224
224
  },
225
225
  "peerDependencies": {
226
226
  "react": ">=18.0.0",
@@ -240,7 +240,7 @@
240
240
  "react-dom": "^19.2.7",
241
241
  "ts-node": "^10.9.2",
242
242
  "typescript": "^5",
243
- "@modern-js/app-tools": "3.6.0",
243
+ "@modern-js/app-tools": "3.7.0",
244
244
  "@modern-js/rslib": "2.68.10",
245
245
  "@scripts/rstest-config": "2.66.0"
246
246
  },