@bleedingdev/modern-js-app-tools 3.5.0-ultramodern.23 → 3.5.0-ultramodern.24
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/dist/cjs/builder/generator/getBuilderEnvironments.js +1 -0
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.mjs +35 -17
- package/dist/esm/builder/generator/getBuilderEnvironments.mjs +1 -0
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.mjs +35 -17
- package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +1 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.mjs +35 -17
- package/package.json +11 -11
|
@@ -302,6 +302,7 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
|
|
|
302
302
|
chain.output.module(true).library({
|
|
303
303
|
type: 'module'
|
|
304
304
|
}).chunkFormat('module').chunkLoading('import').workerChunkLoading('import');
|
|
305
|
+
chain.optimization.usedExports(false).providedExports(false).innerGraph(false).sideEffects(false);
|
|
305
306
|
chain.plugins.delete('plugin-module-federation');
|
|
306
307
|
if (tanstackRouterSsrServerFile) {
|
|
307
308
|
chain.resolve.alias.set('@tanstack/router-core/ssr/server$', tanstackRouterSsrServerFile);
|
|
@@ -2,6 +2,8 @@ const ASSETS_BINDING = 'ASSETS';
|
|
|
2
2
|
const MODERN_WORKER_MANIFEST = p_workerManifest;
|
|
3
3
|
const WORKER_MODULE_LOADERS = p_workerModuleLoaders;
|
|
4
4
|
const workerModulePromises = new Map();
|
|
5
|
+
const effectBffHandlerPromises = new Map();
|
|
6
|
+
let effectEdgeRuntimePromise;
|
|
5
7
|
const remoteJsonPromises = new Map();
|
|
6
8
|
const CORS_POLICY = MODERN_WORKER_MANIFEST.security?.cors || {};
|
|
7
9
|
const ASSET_CORS_ENABLED = false !== CORS_POLICY.assets;
|
|
@@ -163,6 +165,7 @@ async function createCorsPreflightResponse(request, env) {
|
|
|
163
165
|
});
|
|
164
166
|
}
|
|
165
167
|
async function fetchAsset(request, env) {
|
|
168
|
+
if ('GET' !== request.method && 'HEAD' !== request.method) return null;
|
|
166
169
|
const assets = env?.[ASSETS_BINDING];
|
|
167
170
|
if (!assets || 'function' != typeof assets.fetch) return null;
|
|
168
171
|
const response = await assets.fetch(request);
|
|
@@ -211,7 +214,7 @@ function getPathExtension(pathname) {
|
|
|
211
214
|
}
|
|
212
215
|
function isAssetLikePathname(pathname) {
|
|
213
216
|
const extension = getPathExtension(pathname);
|
|
214
|
-
return '' !== extension
|
|
217
|
+
return '' !== extension;
|
|
215
218
|
}
|
|
216
219
|
function routeMatchesExactly(route, pathname) {
|
|
217
220
|
if ('string' != typeof route?.urlPath) return false;
|
|
@@ -712,6 +715,10 @@ async function loadWorkerModule(workerPath) {
|
|
|
712
715
|
if (!workerModulePromises.has(workerPath)) workerModulePromises.set(workerPath, loader());
|
|
713
716
|
return workerModulePromises.get(workerPath);
|
|
714
717
|
}
|
|
718
|
+
async function loadEffectEdgeRuntime() {
|
|
719
|
+
effectEdgeRuntimePromise ??= import('@modern-js/plugin-bff/effect-edge');
|
|
720
|
+
return effectEdgeRuntimePromise;
|
|
721
|
+
}
|
|
715
722
|
function getRuntimeModule(workerModule) {
|
|
716
723
|
const defaultExport = workerModule.default;
|
|
717
724
|
const nestedDefaultExport = defaultExport && 'object' == typeof defaultExport ? defaultExport.default : void 0;
|
|
@@ -776,21 +783,6 @@ function createRequestForMountedPrefix(request, prefix) {
|
|
|
776
783
|
url.pathname = nextPath.startsWith('/') ? nextPath : `/${nextPath}`;
|
|
777
784
|
return new Request(url, request);
|
|
778
785
|
}
|
|
779
|
-
function createEffectContext(originalRequest, mountedRequest, env) {
|
|
780
|
-
const url = new URL(originalRequest.url);
|
|
781
|
-
return {
|
|
782
|
-
request: mountedRequest,
|
|
783
|
-
env: env || {},
|
|
784
|
-
path: url.pathname,
|
|
785
|
-
method: originalRequest.method,
|
|
786
|
-
operationContext: {
|
|
787
|
-
request: mountedRequest,
|
|
788
|
-
env: env || {},
|
|
789
|
-
path: url.pathname,
|
|
790
|
-
method: originalRequest.method
|
|
791
|
-
}
|
|
792
|
-
};
|
|
793
|
-
}
|
|
794
786
|
async function dispatchBffRequest(request, env) {
|
|
795
787
|
const bff = MODERN_WORKER_MANIFEST.bff;
|
|
796
788
|
if (!bff?.worker || !matchesPrefix(new URL(request.url).pathname, bff.prefix)) return null;
|
|
@@ -803,9 +795,23 @@ async function dispatchBffRequest(request, env) {
|
|
|
803
795
|
}
|
|
804
796
|
});
|
|
805
797
|
const mountedRequest = createRequestForMountedPrefix(request, bff.prefix);
|
|
806
|
-
const effectContext = createEffectContext(request, mountedRequest, env);
|
|
807
798
|
const defaultExport = workerModule.default;
|
|
808
799
|
const runtime = getRuntimeModule(workerModule);
|
|
800
|
+
if ('effect' === bff.runtimeFramework) {
|
|
801
|
+
let effectHandlerPromise = effectBffHandlerPromises.get(bff.worker);
|
|
802
|
+
if (!effectHandlerPromise) {
|
|
803
|
+
const { createEffectBffEdgeHandler } = await loadEffectEdgeRuntime();
|
|
804
|
+
effectHandlerPromise = createEffectBffEdgeHandler({
|
|
805
|
+
module: runtime,
|
|
806
|
+
prefix: bff.prefix
|
|
807
|
+
});
|
|
808
|
+
effectBffHandlerPromises.set(bff.worker, effectHandlerPromise);
|
|
809
|
+
}
|
|
810
|
+
const effectHandler = await effectHandlerPromise;
|
|
811
|
+
return effectHandler.handler(request, {
|
|
812
|
+
env
|
|
813
|
+
});
|
|
814
|
+
}
|
|
809
815
|
const directHandler = 'function' == typeof runtime.handler && runtime.handler || 'function' == typeof defaultExport && defaultExport;
|
|
810
816
|
const createdHandler = 'function' == typeof runtime.createHandler ? runtime.createHandler().handler : void 0;
|
|
811
817
|
const handler = directHandler || createdHandler;
|
|
@@ -816,6 +822,18 @@ async function dispatchBffRequest(request, env) {
|
|
|
816
822
|
'x-modern-js-bff-worker': bff.worker
|
|
817
823
|
}
|
|
818
824
|
});
|
|
825
|
+
const effectContext = {
|
|
826
|
+
request: mountedRequest,
|
|
827
|
+
env: env || {},
|
|
828
|
+
path: new URL(request.url).pathname,
|
|
829
|
+
method: request.method,
|
|
830
|
+
operationContext: {
|
|
831
|
+
request: mountedRequest,
|
|
832
|
+
env: env || {},
|
|
833
|
+
path: new URL(request.url).pathname,
|
|
834
|
+
method: request.method
|
|
835
|
+
}
|
|
836
|
+
};
|
|
819
837
|
return handler.length > 1 ? handler(mountedRequest, effectContext) : handler(mountedRequest);
|
|
820
838
|
}
|
|
821
839
|
export default {
|
|
@@ -259,6 +259,7 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
|
|
|
259
259
|
chain.output.module(true).library({
|
|
260
260
|
type: 'module'
|
|
261
261
|
}).chunkFormat('module').chunkLoading('import').workerChunkLoading('import');
|
|
262
|
+
chain.optimization.usedExports(false).providedExports(false).innerGraph(false).sideEffects(false);
|
|
262
263
|
chain.plugins.delete('plugin-module-federation');
|
|
263
264
|
if (tanstackRouterSsrServerFile) {
|
|
264
265
|
chain.resolve.alias.set('@tanstack/router-core/ssr/server$', tanstackRouterSsrServerFile);
|
|
@@ -2,6 +2,8 @@ const ASSETS_BINDING = 'ASSETS';
|
|
|
2
2
|
const MODERN_WORKER_MANIFEST = p_workerManifest;
|
|
3
3
|
const WORKER_MODULE_LOADERS = p_workerModuleLoaders;
|
|
4
4
|
const workerModulePromises = new Map();
|
|
5
|
+
const effectBffHandlerPromises = new Map();
|
|
6
|
+
let effectEdgeRuntimePromise;
|
|
5
7
|
const remoteJsonPromises = new Map();
|
|
6
8
|
const CORS_POLICY = MODERN_WORKER_MANIFEST.security?.cors || {};
|
|
7
9
|
const ASSET_CORS_ENABLED = false !== CORS_POLICY.assets;
|
|
@@ -163,6 +165,7 @@ async function createCorsPreflightResponse(request, env) {
|
|
|
163
165
|
});
|
|
164
166
|
}
|
|
165
167
|
async function fetchAsset(request, env) {
|
|
168
|
+
if ('GET' !== request.method && 'HEAD' !== request.method) return null;
|
|
166
169
|
const assets = env?.[ASSETS_BINDING];
|
|
167
170
|
if (!assets || 'function' != typeof assets.fetch) return null;
|
|
168
171
|
const response = await assets.fetch(request);
|
|
@@ -211,7 +214,7 @@ function getPathExtension(pathname) {
|
|
|
211
214
|
}
|
|
212
215
|
function isAssetLikePathname(pathname) {
|
|
213
216
|
const extension = getPathExtension(pathname);
|
|
214
|
-
return '' !== extension
|
|
217
|
+
return '' !== extension;
|
|
215
218
|
}
|
|
216
219
|
function routeMatchesExactly(route, pathname) {
|
|
217
220
|
if ('string' != typeof route?.urlPath) return false;
|
|
@@ -712,6 +715,10 @@ async function loadWorkerModule(workerPath) {
|
|
|
712
715
|
if (!workerModulePromises.has(workerPath)) workerModulePromises.set(workerPath, loader());
|
|
713
716
|
return workerModulePromises.get(workerPath);
|
|
714
717
|
}
|
|
718
|
+
async function loadEffectEdgeRuntime() {
|
|
719
|
+
effectEdgeRuntimePromise ??= import('@modern-js/plugin-bff/effect-edge');
|
|
720
|
+
return effectEdgeRuntimePromise;
|
|
721
|
+
}
|
|
715
722
|
function getRuntimeModule(workerModule) {
|
|
716
723
|
const defaultExport = workerModule.default;
|
|
717
724
|
const nestedDefaultExport = defaultExport && 'object' == typeof defaultExport ? defaultExport.default : void 0;
|
|
@@ -776,21 +783,6 @@ function createRequestForMountedPrefix(request, prefix) {
|
|
|
776
783
|
url.pathname = nextPath.startsWith('/') ? nextPath : `/${nextPath}`;
|
|
777
784
|
return new Request(url, request);
|
|
778
785
|
}
|
|
779
|
-
function createEffectContext(originalRequest, mountedRequest, env) {
|
|
780
|
-
const url = new URL(originalRequest.url);
|
|
781
|
-
return {
|
|
782
|
-
request: mountedRequest,
|
|
783
|
-
env: env || {},
|
|
784
|
-
path: url.pathname,
|
|
785
|
-
method: originalRequest.method,
|
|
786
|
-
operationContext: {
|
|
787
|
-
request: mountedRequest,
|
|
788
|
-
env: env || {},
|
|
789
|
-
path: url.pathname,
|
|
790
|
-
method: originalRequest.method
|
|
791
|
-
}
|
|
792
|
-
};
|
|
793
|
-
}
|
|
794
786
|
async function dispatchBffRequest(request, env) {
|
|
795
787
|
const bff = MODERN_WORKER_MANIFEST.bff;
|
|
796
788
|
if (!bff?.worker || !matchesPrefix(new URL(request.url).pathname, bff.prefix)) return null;
|
|
@@ -803,9 +795,23 @@ async function dispatchBffRequest(request, env) {
|
|
|
803
795
|
}
|
|
804
796
|
});
|
|
805
797
|
const mountedRequest = createRequestForMountedPrefix(request, bff.prefix);
|
|
806
|
-
const effectContext = createEffectContext(request, mountedRequest, env);
|
|
807
798
|
const defaultExport = workerModule.default;
|
|
808
799
|
const runtime = getRuntimeModule(workerModule);
|
|
800
|
+
if ('effect' === bff.runtimeFramework) {
|
|
801
|
+
let effectHandlerPromise = effectBffHandlerPromises.get(bff.worker);
|
|
802
|
+
if (!effectHandlerPromise) {
|
|
803
|
+
const { createEffectBffEdgeHandler } = await loadEffectEdgeRuntime();
|
|
804
|
+
effectHandlerPromise = createEffectBffEdgeHandler({
|
|
805
|
+
module: runtime,
|
|
806
|
+
prefix: bff.prefix
|
|
807
|
+
});
|
|
808
|
+
effectBffHandlerPromises.set(bff.worker, effectHandlerPromise);
|
|
809
|
+
}
|
|
810
|
+
const effectHandler = await effectHandlerPromise;
|
|
811
|
+
return effectHandler.handler(request, {
|
|
812
|
+
env
|
|
813
|
+
});
|
|
814
|
+
}
|
|
809
815
|
const directHandler = 'function' == typeof runtime.handler && runtime.handler || 'function' == typeof defaultExport && defaultExport;
|
|
810
816
|
const createdHandler = 'function' == typeof runtime.createHandler ? runtime.createHandler().handler : void 0;
|
|
811
817
|
const handler = directHandler || createdHandler;
|
|
@@ -816,6 +822,18 @@ async function dispatchBffRequest(request, env) {
|
|
|
816
822
|
'x-modern-js-bff-worker': bff.worker
|
|
817
823
|
}
|
|
818
824
|
});
|
|
825
|
+
const effectContext = {
|
|
826
|
+
request: mountedRequest,
|
|
827
|
+
env: env || {},
|
|
828
|
+
path: new URL(request.url).pathname,
|
|
829
|
+
method: request.method,
|
|
830
|
+
operationContext: {
|
|
831
|
+
request: mountedRequest,
|
|
832
|
+
env: env || {},
|
|
833
|
+
path: new URL(request.url).pathname,
|
|
834
|
+
method: request.method
|
|
835
|
+
}
|
|
836
|
+
};
|
|
819
837
|
return handler.length > 1 ? handler(mountedRequest, effectContext) : handler(mountedRequest);
|
|
820
838
|
}
|
|
821
839
|
export default {
|
|
@@ -264,6 +264,7 @@ function getBuilderEnvironments(normalizedConfig, appContext, tempBuilderConfig)
|
|
|
264
264
|
chain.output.module(true).library({
|
|
265
265
|
type: 'module'
|
|
266
266
|
}).chunkFormat('module').chunkLoading('import').workerChunkLoading('import');
|
|
267
|
+
chain.optimization.usedExports(false).providedExports(false).innerGraph(false).sideEffects(false);
|
|
267
268
|
chain.plugins.delete('plugin-module-federation');
|
|
268
269
|
if (tanstackRouterSsrServerFile) {
|
|
269
270
|
chain.resolve.alias.set('@tanstack/router-core/ssr/server$', tanstackRouterSsrServerFile);
|
|
@@ -2,6 +2,8 @@ const ASSETS_BINDING = 'ASSETS';
|
|
|
2
2
|
const MODERN_WORKER_MANIFEST = p_workerManifest;
|
|
3
3
|
const WORKER_MODULE_LOADERS = p_workerModuleLoaders;
|
|
4
4
|
const workerModulePromises = new Map();
|
|
5
|
+
const effectBffHandlerPromises = new Map();
|
|
6
|
+
let effectEdgeRuntimePromise;
|
|
5
7
|
const remoteJsonPromises = new Map();
|
|
6
8
|
const CORS_POLICY = MODERN_WORKER_MANIFEST.security?.cors || {};
|
|
7
9
|
const ASSET_CORS_ENABLED = false !== CORS_POLICY.assets;
|
|
@@ -163,6 +165,7 @@ async function createCorsPreflightResponse(request, env) {
|
|
|
163
165
|
});
|
|
164
166
|
}
|
|
165
167
|
async function fetchAsset(request, env) {
|
|
168
|
+
if ('GET' !== request.method && 'HEAD' !== request.method) return null;
|
|
166
169
|
const assets = env?.[ASSETS_BINDING];
|
|
167
170
|
if (!assets || 'function' != typeof assets.fetch) return null;
|
|
168
171
|
const response = await assets.fetch(request);
|
|
@@ -211,7 +214,7 @@ function getPathExtension(pathname) {
|
|
|
211
214
|
}
|
|
212
215
|
function isAssetLikePathname(pathname) {
|
|
213
216
|
const extension = getPathExtension(pathname);
|
|
214
|
-
return '' !== extension
|
|
217
|
+
return '' !== extension;
|
|
215
218
|
}
|
|
216
219
|
function routeMatchesExactly(route, pathname) {
|
|
217
220
|
if ('string' != typeof route?.urlPath) return false;
|
|
@@ -712,6 +715,10 @@ async function loadWorkerModule(workerPath) {
|
|
|
712
715
|
if (!workerModulePromises.has(workerPath)) workerModulePromises.set(workerPath, loader());
|
|
713
716
|
return workerModulePromises.get(workerPath);
|
|
714
717
|
}
|
|
718
|
+
async function loadEffectEdgeRuntime() {
|
|
719
|
+
effectEdgeRuntimePromise ??= import('@modern-js/plugin-bff/effect-edge');
|
|
720
|
+
return effectEdgeRuntimePromise;
|
|
721
|
+
}
|
|
715
722
|
function getRuntimeModule(workerModule) {
|
|
716
723
|
const defaultExport = workerModule.default;
|
|
717
724
|
const nestedDefaultExport = defaultExport && 'object' == typeof defaultExport ? defaultExport.default : void 0;
|
|
@@ -776,21 +783,6 @@ function createRequestForMountedPrefix(request, prefix) {
|
|
|
776
783
|
url.pathname = nextPath.startsWith('/') ? nextPath : `/${nextPath}`;
|
|
777
784
|
return new Request(url, request);
|
|
778
785
|
}
|
|
779
|
-
function createEffectContext(originalRequest, mountedRequest, env) {
|
|
780
|
-
const url = new URL(originalRequest.url);
|
|
781
|
-
return {
|
|
782
|
-
request: mountedRequest,
|
|
783
|
-
env: env || {},
|
|
784
|
-
path: url.pathname,
|
|
785
|
-
method: originalRequest.method,
|
|
786
|
-
operationContext: {
|
|
787
|
-
request: mountedRequest,
|
|
788
|
-
env: env || {},
|
|
789
|
-
path: url.pathname,
|
|
790
|
-
method: originalRequest.method
|
|
791
|
-
}
|
|
792
|
-
};
|
|
793
|
-
}
|
|
794
786
|
async function dispatchBffRequest(request, env) {
|
|
795
787
|
const bff = MODERN_WORKER_MANIFEST.bff;
|
|
796
788
|
if (!bff?.worker || !matchesPrefix(new URL(request.url).pathname, bff.prefix)) return null;
|
|
@@ -803,9 +795,23 @@ async function dispatchBffRequest(request, env) {
|
|
|
803
795
|
}
|
|
804
796
|
});
|
|
805
797
|
const mountedRequest = createRequestForMountedPrefix(request, bff.prefix);
|
|
806
|
-
const effectContext = createEffectContext(request, mountedRequest, env);
|
|
807
798
|
const defaultExport = workerModule.default;
|
|
808
799
|
const runtime = getRuntimeModule(workerModule);
|
|
800
|
+
if ('effect' === bff.runtimeFramework) {
|
|
801
|
+
let effectHandlerPromise = effectBffHandlerPromises.get(bff.worker);
|
|
802
|
+
if (!effectHandlerPromise) {
|
|
803
|
+
const { createEffectBffEdgeHandler } = await loadEffectEdgeRuntime();
|
|
804
|
+
effectHandlerPromise = createEffectBffEdgeHandler({
|
|
805
|
+
module: runtime,
|
|
806
|
+
prefix: bff.prefix
|
|
807
|
+
});
|
|
808
|
+
effectBffHandlerPromises.set(bff.worker, effectHandlerPromise);
|
|
809
|
+
}
|
|
810
|
+
const effectHandler = await effectHandlerPromise;
|
|
811
|
+
return effectHandler.handler(request, {
|
|
812
|
+
env
|
|
813
|
+
});
|
|
814
|
+
}
|
|
809
815
|
const directHandler = 'function' == typeof runtime.handler && runtime.handler || 'function' == typeof defaultExport && defaultExport;
|
|
810
816
|
const createdHandler = 'function' == typeof runtime.createHandler ? runtime.createHandler().handler : void 0;
|
|
811
817
|
const handler = directHandler || createdHandler;
|
|
@@ -816,6 +822,18 @@ async function dispatchBffRequest(request, env) {
|
|
|
816
822
|
'x-modern-js-bff-worker': bff.worker
|
|
817
823
|
}
|
|
818
824
|
});
|
|
825
|
+
const effectContext = {
|
|
826
|
+
request: mountedRequest,
|
|
827
|
+
env: env || {},
|
|
828
|
+
path: new URL(request.url).pathname,
|
|
829
|
+
method: request.method,
|
|
830
|
+
operationContext: {
|
|
831
|
+
request: mountedRequest,
|
|
832
|
+
env: env || {},
|
|
833
|
+
path: new URL(request.url).pathname,
|
|
834
|
+
method: request.method
|
|
835
|
+
}
|
|
836
|
+
};
|
|
819
837
|
return handler.length > 1 ? handler(mountedRequest, effectContext) : handler(mountedRequest);
|
|
820
838
|
}
|
|
821
839
|
export default {
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"modern",
|
|
18
18
|
"modern.js"
|
|
19
19
|
],
|
|
20
|
-
"version": "3.5.0-ultramodern.
|
|
20
|
+
"version": "3.5.0-ultramodern.24",
|
|
21
21
|
"types": "./dist/types/index.d.ts",
|
|
22
22
|
"main": "./dist/cjs/index.js",
|
|
23
23
|
"exports": {
|
|
@@ -90,16 +90,16 @@
|
|
|
90
90
|
"ndepe": "^0.1.13",
|
|
91
91
|
"pkg-types": "^2.3.1",
|
|
92
92
|
"std-env": "4.1.0",
|
|
93
|
-
"@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.5.0-ultramodern.
|
|
94
|
-
"@modern-js/
|
|
95
|
-
"@modern-js/
|
|
96
|
-
"@modern-js/prod-server": "npm:@bleedingdev/modern-js-prod-server@3.5.0-ultramodern.
|
|
97
|
-
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.5.0-ultramodern.
|
|
98
|
-
"@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.
|
|
99
|
-
"@modern-js/
|
|
100
|
-
"@modern-js/
|
|
101
|
-
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.
|
|
102
|
-
"@modern-js/
|
|
93
|
+
"@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.5.0-ultramodern.24",
|
|
94
|
+
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.24",
|
|
95
|
+
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.24",
|
|
96
|
+
"@modern-js/prod-server": "npm:@bleedingdev/modern-js-prod-server@3.5.0-ultramodern.24",
|
|
97
|
+
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.5.0-ultramodern.24",
|
|
98
|
+
"@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.24",
|
|
99
|
+
"@modern-js/server-utils": "npm:@bleedingdev/modern-js-server-utils@3.5.0-ultramodern.24",
|
|
100
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.24",
|
|
101
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.24",
|
|
102
|
+
"@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.24"
|
|
103
103
|
},
|
|
104
104
|
"devDependencies": {
|
|
105
105
|
"@rslib/core": "0.23.1",
|