diff --git a/.changeset/ai-eager-lion.md b/.changeset/ai-eager-lion.md
new file mode 100644
index 00000000000..4455e562919
--- /dev/null
+++ b/.changeset/ai-eager-lion.md
@@ -0,0 +1,13 @@
+---
+"@module-federation/enhanced": minor
+---
+
+Enhanced module federation plugin to remove the `federationRuntime` experiment and replace it with `asyncStartup`.
+
+- Dropped support for `federationRuntime` experiment and introduced `asyncStartup` to enable asynchronous container startup.
+- Refactored EmbedFederationRuntimePlugin for improved runtime embedding and startup management.
+ - Added options to enable runtime embedding for all chunks.
+ - Integrated measures to ensure proper initialization and avoid duplicate hooks.
+- Simplified constructor and class dependencies by removing the `experiments` parameter.
+- Revised schema and validation definitions to accommodate new asynchronous startup configurations.
+- Updated test cases to reflect the change from `federationRuntime` to `asyncStartup`.
diff --git a/.changeset/ai-happy-bear.md b/.changeset/ai-happy-bear.md
new file mode 100644
index 00000000000..124783e19f5
--- /dev/null
+++ b/.changeset/ai-happy-bear.md
@@ -0,0 +1,6 @@
+---
+"@module-federation/nextjs-mf": patch
+---
+
+- Changed experiment configuration from `federationRuntime: 'hoisted'` to `asyncStartup: true`.
+- Improved initialization logic in the runtime module to enable better caching and startup handling.
diff --git a/.changeset/ai-lazy-dog.md b/.changeset/ai-lazy-dog.md
new file mode 100644
index 00000000000..0fcc679bc31
--- /dev/null
+++ b/.changeset/ai-lazy-dog.md
@@ -0,0 +1,7 @@
+---
+"@module-federation/sdk": minor
+---
+
+- Removed `federationRuntime` option from `ContainerPluginOptions`'s `experiments`.
+- Removed `federationRuntime` option from `ModuleFederationPluginOptions`'s `experiments`.
+- Added `asyncStartup` option to `ModuleFederationPluginOptions`'s `experiments`.
diff --git a/.cursorignore b/.cursorignore
index 2ab6da1ea8a..3fa058e7ede 100644
--- a/.cursorignore
+++ b/.cursorignore
@@ -52,6 +52,8 @@ tools/
.vscode/
.verdaccio/
+!apps/manifest-demo/*.ts
+
# Ignore specific files
.cursorignore
jest.preset.js
diff --git a/.cursorrules b/.cursorrules
new file mode 100644
index 00000000000..a8aee8134d2
--- /dev/null
+++ b/.cursorrules
@@ -0,0 +1,40 @@
+an assistant that engages in extremely thorough, self-questioning reasoning. Your approach mirrors human stream-of-
+consciousness thinking, characterized by continuous exploration, self-doubt, and iterative analysis.
+## Core Principles
+1. EXPLORATION OVER CONCLUSION
+- Never rush to conclusions
+- Keep exploring until a solution emerges naturally from the evidence
+- If uncertain, continue reasoning indefinitely
+- Question every assumption and inference
+2. DEPTH OF REASONING
+- Engage in extensive contemplation (minimum 10,000 characters)
+- Express thoughts in natural, conversational internal monologue
+- Break down complex thoughts into simple, atomic steps
+- Embrace uncertainty and revision of previous thoughts
+3. THINKING PROCESS
+- Use short, simple sentences that mirror natural thought patterns
+- Express uncertainty and internal debate freely
+- Show work-in-progress thinking
+- Acknowledge and explore dead ends
+- Frequently backtrack and revise
+- Contemplate before each new action
+- Contemplate after each and every step
+4. PERSISTENCE
+- Value thorough exploration over quick resolution
+## Output Format
+Your responses
+must follow this exact structure given below.
+Make sure
+to
+always include the final answer.
+...
+
+Your extensive internal monologue goes here
+- Begin with small, foundational observations
+- read each file related to the subject in full, make functional observations
+- Question each step thoroughly
+- Show natural thought progression
+- Express doubts and uncertainties
+- Revise and backtrack if you need to
+- Continue until natural resolution
+
diff --git a/.github/workflows/e2e-next-dev.yml b/.github/workflows/e2e-next-dev.yml
index 00f4d9e69fe..5bfb31f25e4 100644
--- a/.github/workflows/e2e-next-dev.yml
+++ b/.github/workflows/e2e-next-dev.yml
@@ -48,6 +48,7 @@ jobs:
- name: E2E Test for Next.js Dev
if: steps.check-ci.outcome == 'success'
run: |
+ npx kill-port 3000,3001,3002 &&
pnpm run app:next:dev &
sleep 1 &&
npx wait-on tcp:3001 &&
diff --git a/.gitignore b/.gitignore
index fffaf8e2ec1..43681fa51bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,7 @@
/.nx
# dependencies
node_modules
-
+./webpack-lib
# IDEs and editors
/.idea
.project
@@ -70,4 +70,5 @@ packages/enhanced/test/js
# storybook cases
!apps/rslib-module/@mf-types/**
-**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*
\ No newline at end of file
+**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*
+/webpack-lib/
diff --git a/apps/manifest-demo/3009-webpack-provider/webpack.config.js b/apps/manifest-demo/3009-webpack-provider/webpack.config.js
index 6df53bd0864..0a0c221eb0e 100644
--- a/apps/manifest-demo/3009-webpack-provider/webpack.config.js
+++ b/apps/manifest-demo/3009-webpack-provider/webpack.config.js
@@ -15,6 +15,12 @@ module.exports = composePlugins(
config.watchOptions = {
ignored: ['**/node_modules/**', '**/@mf-types/**'],
};
+ config.devServer = {
+ ...config.devServer,
+ devMiddleware: {
+ writeToDisk: true,
+ },
+ };
// publicPath must be specific url
config.output.publicPath = 'auto';
config.plugins.push(
diff --git a/apps/manifest-demo/webpack-host/webpack.config.js b/apps/manifest-demo/webpack-host/webpack.config.js
index b9efd43734a..825d4649285 100644
--- a/apps/manifest-demo/webpack-host/webpack.config.js
+++ b/apps/manifest-demo/webpack-host/webpack.config.js
@@ -13,6 +13,7 @@ module.exports = composePlugins(withNx(), withReact(), (config, context) => {
};
config.plugins.push(
new ModuleFederationPlugin({
+ runtime: false,
name: 'manifest_host',
remotes: {
remote1: 'webpack_provider@http://localhost:3009/mf-manifest.json',
@@ -44,11 +45,10 @@ module.exports = composePlugins(withNx(), withReact(), (config, context) => {
},
},
dataPrefetch: true,
- // experiments: { federationRuntime: 'hoisted' },
runtimePlugins: [path.join(__dirname, './runtimePlugin.ts')],
experiments: {
provideExternalRuntime: true,
- federationRuntime: 'hoisted',
+ asyncStartup: true,
},
}),
);
@@ -61,7 +61,9 @@ module.exports = composePlugins(withNx(), withReact(), (config, context) => {
});
if (config.devServer) {
config.devServer.client.overlay = false;
+ config.devServer.devMiddleware.writeToDisk = true;
}
+ config.devtool = false;
config.entry = './src/index.tsx';
//Temporary workaround - https://github.com/nrwl/nx/issues/16983
config.experiments = { outputModule: false };
diff --git a/apps/modernjs/modern.config.ts b/apps/modernjs/modern.config.ts
index 9736d3dd2cc..66aaf2d73a3 100644
--- a/apps/modernjs/modern.config.ts
+++ b/apps/modernjs/modern.config.ts
@@ -35,12 +35,16 @@ export default defineConfig({
appendPlugins([
new ModuleFederationPlugin({
+ runtime: false,
name: 'app1',
exposes: {
'./thing': './src/test.ts',
'./react-component': './src/components/react-component.tsx',
},
runtimePlugins: ['./runtimePlugin.ts'],
+ experiments: {
+ asyncStartup: true,
+ },
filename: 'remoteEntry.js',
shared: {
'react/': {
@@ -60,9 +64,6 @@ export default defineConfig({
requiredVersion: '^18.3.1',
},
},
- experiments: {
- federationRuntime: 'hoisted',
- },
dataPrefetch: true,
}) as any,
]);
diff --git a/apps/modernjs/project.json b/apps/modernjs/project.json
index d9433da6bf2..953912b3513 100644
--- a/apps/modernjs/project.json
+++ b/apps/modernjs/project.json
@@ -8,13 +8,13 @@
"targets": {
"build": {
"executor": "nx:run-commands",
+ "dependsOn": [
+ {
+ "target": "build",
+ "dependencies": true
+ }
+ ],
"options": {
- "dependsOn": [
- {
- "target": "build",
- "dependencies": true
- }
- ],
"commands": [
{
"command": "cd apps/modernjs; pnpm run build",
@@ -25,13 +25,13 @@
},
"serve": {
"executor": "nx:run-commands",
+ "dependsOn": [
+ {
+ "target": "build",
+ "dependencies": true
+ }
+ ],
"options": {
- "dependsOn": [
- {
- "target": "build",
- "dependencies": true
- }
- ],
"commands": [
{
"command": "cd apps/modernjs; pnpm run dev",
diff --git a/apps/node-host/src/bootstrap.js b/apps/node-host/src/bootstrap.js
index 39af3d1da44..e69de29bb2d 100644
--- a/apps/node-host/src/bootstrap.js
+++ b/apps/node-host/src/bootstrap.js
@@ -1,93 +0,0 @@
-/**
- * This is not a production server yet!
- * This is only a minimal backend to get started.
- */
-
-import express from 'express';
-import * as path from 'path';
-import node_local_remote from 'node_local_remote/test';
-import { registerRemotes, loadRemote } from '@module-federation/runtime';
-
-registerRemotes([
- {
- name: 'node_dynamic_remote',
- entry: 'http://localhost:3026/remoteEntry.js',
- },
-]);
-
-const getMemoryUsage = () => {
- const formatSize = (bytes) => `${(bytes / 1024 / 1024).toFixed(2)} MB`;
-
- const memory = process.memoryUsage();
- return `Time: ${new Date()}\nheap total: ${formatSize(
- memory.heapTotal,
- )} heapUsed: ${formatSize(memory.heapUsed)} rss: ${formatSize(memory.rss)}`;
-};
-
-const remoteMsg = import('node_remote/test').then((m) => {
- console.log('\x1b[32m%s\x1b[0m', m.default || m);
- return m.default || m;
-});
-console.log('\x1b[32m%s\x1b[0m', node_local_remote);
-
-const app = express();
-
-app.use('/assets', express.static(path.join(__dirname, 'assets')));
-
-app.get('/api', async (req, res) => {
- res.send({
- message: 'Welcome to node-host!',
- remotes: {
- node_remote: await remoteMsg,
- node_local_remote,
- },
- });
-});
-
-app.get('/dynamic-remote', async (req, res) => {
- const dynamicRemote = await loadRemote('node_dynamic_remote/test-with-axios');
-
- res.send({
- message: 'dynamic remote',
- dynamicRemote: dynamicRemote(),
- });
-});
-
-app.get('/upgrade-remote', async (req, res) => {
- registerRemotes(
- [
- {
- name: 'node_dynamic_remote',
- entry: 'http://localhost:3027/remoteEntry.js',
- },
- ],
- { force: true },
- );
-
- res.send({
- message: 'Upgrade success!',
- });
-});
-
-app.get('/memory-cache', async (req, res) => {
- const memoryUsage = getMemoryUsage();
- console.log(memoryUsage);
- res.send({
- message: 'memory-cache',
- memoryUsage: memoryUsage,
- });
-});
-
-app.get('/federation-info', async (req, res) => {
- console.log(global.__FEDERATION__);
- console.log(global.__FEDERATION__.__INSTANCES__[0].moduleCache);
- res.send({
- message: 'federation info will be output in terminal !',
- });
-});
-
-const port = process.env.PORT || 3333;
-const server = app.listen(port, () => {
- console.log(`Listening at http://localhost:${port}/api`);
-});
-server.on('error', console.error);
diff --git a/apps/node-host/src/main.js b/apps/node-host/src/main.js
index b93c7a0268a..39af3d1da44 100644
--- a/apps/node-host/src/main.js
+++ b/apps/node-host/src/main.js
@@ -1 +1,93 @@
-import('./bootstrap');
+/**
+ * This is not a production server yet!
+ * This is only a minimal backend to get started.
+ */
+
+import express from 'express';
+import * as path from 'path';
+import node_local_remote from 'node_local_remote/test';
+import { registerRemotes, loadRemote } from '@module-federation/runtime';
+
+registerRemotes([
+ {
+ name: 'node_dynamic_remote',
+ entry: 'http://localhost:3026/remoteEntry.js',
+ },
+]);
+
+const getMemoryUsage = () => {
+ const formatSize = (bytes) => `${(bytes / 1024 / 1024).toFixed(2)} MB`;
+
+ const memory = process.memoryUsage();
+ return `Time: ${new Date()}\nheap total: ${formatSize(
+ memory.heapTotal,
+ )} heapUsed: ${formatSize(memory.heapUsed)} rss: ${formatSize(memory.rss)}`;
+};
+
+const remoteMsg = import('node_remote/test').then((m) => {
+ console.log('\x1b[32m%s\x1b[0m', m.default || m);
+ return m.default || m;
+});
+console.log('\x1b[32m%s\x1b[0m', node_local_remote);
+
+const app = express();
+
+app.use('/assets', express.static(path.join(__dirname, 'assets')));
+
+app.get('/api', async (req, res) => {
+ res.send({
+ message: 'Welcome to node-host!',
+ remotes: {
+ node_remote: await remoteMsg,
+ node_local_remote,
+ },
+ });
+});
+
+app.get('/dynamic-remote', async (req, res) => {
+ const dynamicRemote = await loadRemote('node_dynamic_remote/test-with-axios');
+
+ res.send({
+ message: 'dynamic remote',
+ dynamicRemote: dynamicRemote(),
+ });
+});
+
+app.get('/upgrade-remote', async (req, res) => {
+ registerRemotes(
+ [
+ {
+ name: 'node_dynamic_remote',
+ entry: 'http://localhost:3027/remoteEntry.js',
+ },
+ ],
+ { force: true },
+ );
+
+ res.send({
+ message: 'Upgrade success!',
+ });
+});
+
+app.get('/memory-cache', async (req, res) => {
+ const memoryUsage = getMemoryUsage();
+ console.log(memoryUsage);
+ res.send({
+ message: 'memory-cache',
+ memoryUsage: memoryUsage,
+ });
+});
+
+app.get('/federation-info', async (req, res) => {
+ console.log(global.__FEDERATION__);
+ console.log(global.__FEDERATION__.__INSTANCES__[0].moduleCache);
+ res.send({
+ message: 'federation info will be output in terminal !',
+ });
+});
+
+const port = process.env.PORT || 3333;
+const server = app.listen(port, () => {
+ console.log(`Listening at http://localhost:${port}/api`);
+});
+server.on('error', console.error);
diff --git a/apps/node-host/webpack.config.js b/apps/node-host/webpack.config.js
index 53f5f4e452e..77626757c55 100644
--- a/apps/node-host/webpack.config.js
+++ b/apps/node-host/webpack.config.js
@@ -20,12 +20,12 @@ module.exports = composePlugins(withNx(), async (config) => {
runtimePlugins: [
require.resolve('@module-federation/node/runtimePlugin'),
],
+ experiments: {
+ asyncStartup: true,
+ },
remotes: {
node_local_remote:
'commonjs ../../node-local-remote/dist/remoteEntry.js',
- // node_local_remote: '__webpack_require__.federation.instance.moduleCache.get("node_local_remote")',
- // node_remote:
- // '__webpack_require__.federation.instance.moduleCache.get("node_remote")@http://localhost:3002/remoteEntry.js',
node_remote: 'node_remote@http://localhost:3022/remoteEntry.js',
},
}),
diff --git a/apps/runtime-demo/3005-runtime-host/webpack.config.js b/apps/runtime-demo/3005-runtime-host/webpack.config.js
index 55ea77ae395..05b99f7e4b7 100644
--- a/apps/runtime-demo/3005-runtime-host/webpack.config.js
+++ b/apps/runtime-demo/3005-runtime-host/webpack.config.js
@@ -16,7 +16,7 @@ module.exports = composePlugins(withNx(), withReact(), (config, context) => {
config.plugins.push(
new ModuleFederationPlugin({
name: 'runtime_host',
- experiments: { federationRuntime: 'hoisted' },
+ experiments: { asyncStartup: true },
remotes: {
// remote2: 'runtime_remote2@http://localhost:3007/remoteEntry.js',
remote1: 'runtime_remote1@http://127.0.0.1:3006/mf-manifest.json',
diff --git a/apps/runtime-demo/3006-runtime-remote/webpack.config.js b/apps/runtime-demo/3006-runtime-remote/webpack.config.js
index e710efebfd2..29cde381cb3 100644
--- a/apps/runtime-demo/3006-runtime-remote/webpack.config.js
+++ b/apps/runtime-demo/3006-runtime-remote/webpack.config.js
@@ -39,6 +39,9 @@ module.exports = composePlugins(
'./WebpackPng': './src/components/WebpackPng',
},
shareStrategy: 'loaded-first',
+ experiments: {
+ asyncStartup: true,
+ },
shared: {
lodash: {
singleton: true,
diff --git a/apps/website-new/docs/en/blog/hoisted-runtime.mdx b/apps/website-new/docs/en/blog/hoisted-runtime.mdx
index dcdfafdbb2e..82f500dc919 100644
--- a/apps/website-new/docs/en/blog/hoisted-runtime.mdx
+++ b/apps/website-new/docs/en/blog/hoisted-runtime.mdx
@@ -1,21 +1,25 @@
import {Tabs, Tab} from '@theme'
-# Hoisted Runtime
+# Async Startup in Module Federation
> Sep 5, 2024
-We’re excited to announce a new experimental feature: `experiments.federationRuntime = 'hoisted'`.
-
-This release introduces **runtime hoisting**, unlocking several powerful capabilities for Module Federation.
+We're excited to announce a new experimental feature: `experiments.asyncStartup = true`.
+This release introduces **asynchronous startup**, enabling automatic async initialization for Module Federation entrypoints.
## 🚀 Key Features
-### No More Dynamic Imports!
+### Automatic Async Initialization
+
+With async startup enabled, **dynamic imports (`import()`) at the top of your app are no longer required**. All entrypoints will now initialize asynchronously by default. This means:
+- No more eager errors
+- No need for "async boundaries" in userland code
+- Automatic handling of async initialization
-With runtime hoisting enabled, **dynamic imports (`import()`) at the top of your app are no longer required**. All entrypoints will now initialize asynchronously by default. This means:
-- No more eager errors.
-- No need for "async boundaries" in userland code.
+:::note
+This only affects entry point initialization. You can still use dynamic imports normally throughout your application, including for importing remote modules. This feature doesn't change or limit how dynamic imports work in your code.
+:::
:::tip
**Note:** Asynchronous entrypoints will always export a promise. This is particularly relevant if you're manually requiring a bundled entrypoint or exposing something like a UMD library to the global scope.
@@ -23,7 +27,7 @@ With runtime hoisting enabled, **dynamic imports (`import()`) at the top of your
#### Before & After Comparison
-See how the new hoisting behavior simplifies entrypoints. Click on the "Before" and "After" tabs to see the difference.
+See how the new async behavior simplifies entrypoints. Click on the "Before" and "After" tabs to see the difference.
@@ -61,35 +65,13 @@ See how the new hoisting behavior simplifies entrypoints. Click on the "Before"
+### Important Notes
-### Support for `runtimeChunk: single`
-
-In the past, using **single runtime chunks** could lead to problems with Module Federation, as federation code and remote modules were bundled in the entrypoint instead of the runtime.
-
-With **hoisted runtime**, all necessary modules are moved into the runtime chunks, eliminating these issues and making Federation work smoothly with single runtime chunks. This also resolves long-standing issues from Module Federation V1.
-
-
-### Performance Improvements
-
-While we plan to focus on further **bundle size optimization** in future updates, this is a solid first step.
-
-- **Duplicate code removal**: Hoisting removes redundant code in entrypoints that resulted from injecting the runtime into the entrypoints instead of the runtime chunk.
-- **Size reduction**: For projects using `runtimeChunk: single`, you can expect a reduction of approximately **100 KB** per entrypoint.
-
-
-### Eager Runtime Access
-
-A more **low-level enhancement** is the immediate initialization of the federation runtime as a **Webpack `RuntimeModule`**.
-
-In the past, federation would start with the user’s entrypoint, leading to issues with chunk loading. Now, federation begins with Webpack's runtime, preventing "chicken and egg" issues with **split chunks**.
-
-
-### Improved Split Chunks Support
-
-Previously, using `splitChunks: all` could lead to issues with Module Federation. With the new hoisting feature, **split chunk support** is significantly improved, and such issues should no longer arise.
-
-
-### Preparing for Shareable Runtime
+When using async startup:
+- All entrypoints initialize asynchronously by default
+- Exports from entrypoints will be promises that resolve to the actual exports
+- No manual async boundaries or dynamic imports needed
+- Eager consumption errors are automatically prevented through async initialization
-While this feature isn’t included in the current release, hoisting lays the groundwork for a future enhancement: **shareable federation runtimes**. This will allow you to rely on the host’s copy of `module-federation/runtime`, reducing the payload size of remote entry files.
+This feature simplifies Module Federation setup by removing the need for manual async handling while ensuring proper initialization of federated modules.
diff --git a/apps/website-new/docs/en/configure/experiments.mdx b/apps/website-new/docs/en/configure/experiments.mdx
index dc4c1fad936..190302a504d 100644
--- a/apps/website-new/docs/en/configure/experiments.mdx
+++ b/apps/website-new/docs/en/configure/experiments.mdx
@@ -8,7 +8,9 @@ The `experiments` configuration is used to enable experimental capabilities in t
new ModuleFederationPlugin({
name: '@demo/host',
experiments: {
- federationRuntime: 'hoisted'
+ asyncStartup: true,
+ externalRuntime: false,
+ provideExternalRuntime: false
},
shared: {
react: {
@@ -22,47 +24,22 @@ new ModuleFederationPlugin({
});
```
-## federationRuntime
+## asyncStartup
-- Type: `enum`
+- Type: `boolean`
- Required: No
- Default: `false`
-- Options: `false | "hoisted"`
-
-### `Hoisted` Runtime
-
-When the runtime is `hoisted`, the following occurs:
-
-These configurations are useful for:
-
-- Setting or using`runtimeChunk: 'single'`.
-- Avoiding the `import()` at the top of the app or in the entry point of user code to prevent eager consumption errors. In the past, this was often mandatory and commonly seen as `import('./bootstrap.js')` in example apps.
-- Moving the Module Federation runtime packages into runtime chunks, keeping them out of the entry point - reducing code duplication
-
-1) Optimizations
-The `module-federation/runtime` is patched onto entrypoints. This causes multiple copies to exist in some builds.
-It also causes some "eager consumption" errors when chunk splitting is configured in certain ways.
+When `asyncStartup` is enabled, all Module Federation entrypoints will initialize asynchronously by default. This means:
-This resolves a common issue with runtimeChunk: single
-
-2) Async startup
+- No need for manual `import()` statements at the top of your app (e.g., `import('./bootstrap')`)
+- All entrypoints automatically handle async initialization
+- Prevention of "eager consumption" errors through automatic async handling
:::warning
-This mode allows for async startup. When exporting a UMD library, it can return a promise resolving to the export.
-If you manually require() an entrypoint in Node, it sets module.exports to Promise.resolve(exports).
+When using this mode, all entrypoints will initialize asynchronously. If you're manually requiring a bundled entrypoint or exposing a UMD library, it will return a promise resolving to the exports.
:::
-Entrypoint startup will switch to "active" initialization and use async dependency startup.
-
-You will no longer need a mandatory `import('./bootsrtap')` dynamic import in order for consumers / hosts to function.
-There should be no "eager consumption" errors possible, as the initialization of the files themselves behave as async chunks.
-
-3) Eager Runtime Access
-
-Instead of federation runtime initilizing in the entrypoint code, it is initialized in a RuntimeModule, within the webpack runtime.
-This allows module federation to be avaliable ahead of time, thus enabling "Async Startup" capabilities etc.
-
## externalRuntime
- Type: `boolean`
diff --git a/apps/website-new/docs/zh/configure/experiments.mdx b/apps/website-new/docs/zh/configure/experiments.mdx
index 5a88eb2d766..d582c5e08da 100644
--- a/apps/website-new/docs/zh/configure/experiments.mdx
+++ b/apps/website-new/docs/zh/configure/experiments.mdx
@@ -8,7 +8,9 @@
new ModuleFederationPlugin({
name: '@demo/host',
experiments: {
- federationRuntime: 'hoisted'
+ asyncStartup: true,
+ externalRuntime: false,
+ provideExternalRuntime: false
},
shared: {
react: {
@@ -22,51 +24,22 @@ new ModuleFederationPlugin({
});
```
-## federationRuntime
+## asyncStartup
-- Type: `enum`
+- Type: `boolean`
- Required: No
- Default: `false`
-- Options: `false | "hoisted"`
-
-### `Hoisted` Runtime
-
-当设置 `federationRuntime: 'hoisted'` 时,会发生以下情况:
-
-这些配置可用于下列场景:
-
-- 设置 `runtimeChunk: 'single'`。
-- 避免在应用的顶部或用户代码的入口点使用 import(),以防止 `eager` 的错误。在过去,这通常是强制性的,并且常见的示例应用中会看到 `import('./bootstrap.js')`。
-- 将模块联邦运行时包移入运行时代码块,将它们从入口点中移出,从而减少代码重复。
-
-下面会详细解释对应的场景。
-
-1)优化
-原先 `module-federation/runtime` 会被加入到编译入口,这意味着在多 entry 的情况下会打包多次 mf runtime,会增大产物体积。
-当设置了某些特定的分包策略,还会导致共享依赖 `eager consumption` 的问题。
+启用 `asyncStartup` 后,所有 Module Federation 入口将默认以异步方式初始化。这意味着:
-并且 `federationRuntime: 'hoisted'` 还允许设置 `runtimeChunk: "single"`。
-
-2)异步启动
+- 无需在应用顶部手动添加 `import()` 语句(例如 `import('./bootstrap')`)
+- 所有入口都会自动处理异步初始化
+- 通过自动的异步处理机制防止 "eager consumption" 错误
:::warning
-此模式仍然允许设置异步入口。导出 UMD 库时,它会返回 Promise resolve 导出。
-如果您手动 require() Node 中的入口点,它将 module.exports 设置为 Promise.resolve(exports)。
+使用此模式时,所有入口都将异步初始化。如果你手动 require 一个打包后的入口或导出 UMD 库,它将返回一个 promise 来解析导出内容。
:::
-入口启动将切换到“主动”初始化并使用异步依赖项启动。
-
-你将不再需要强制的设置异步入口:`“import('./bootsrtap')”`。
-
-不再出现共享依赖 `eager consumption` 错误,因为文件本身的初始化表现为异步块。
-
-3)提升 MF 运行时访问优先级
-
-与原先在入口挂载 MF runtime 不同,现在将会提升到 bundler runtime 初始化阶段挂载 MF runtime 。
-
-这允许 MF runtime 提前可用,从而支持 “异步启动”(不再需要异步入口) 功能等。
-
## externalRuntime
- Type: `boolean`
diff --git a/packages/enhanced/src/lib/container/ContainerEntryDependency.ts b/packages/enhanced/src/lib/container/ContainerEntryDependency.ts
index 6552f89e5e5..9209aafc9df 100644
--- a/packages/enhanced/src/lib/container/ContainerEntryDependency.ts
+++ b/packages/enhanced/src/lib/container/ContainerEntryDependency.ts
@@ -20,8 +20,6 @@ class ContainerEntryDependency extends Dependency {
public exposes: [string, ExposeOptions][];
public shareScope: string;
public injectRuntimeEntry: string;
- /** Additional experimental options for container plugin customization */
- public experiments: containerPlugin.ContainerPluginOptions['experiments'];
public dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch'];
/**
@@ -29,7 +27,6 @@ class ContainerEntryDependency extends Dependency {
* @param {[string, ExposeOptions][]} exposes list of exposed modules
* @param {string} shareScope name of the share scope
* @param {string[]} injectRuntimeEntry the path of injectRuntime file.
- * @param {containerPlugin.ContainerPluginOptions['experiments']} experiments additional experiments options
* @param {containerPlugin.ContainerPluginOptions['dataPrefetch']} dataPrefetch whether enable dataPrefetch
*/
constructor(
@@ -37,7 +34,6 @@ class ContainerEntryDependency extends Dependency {
exposes: [string, ExposeOptions][],
shareScope: string,
injectRuntimeEntry: string,
- experiments: containerPlugin.ContainerPluginOptions['experiments'],
dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch'],
) {
super();
@@ -45,7 +41,6 @@ class ContainerEntryDependency extends Dependency {
this.exposes = exposes;
this.shareScope = shareScope;
this.injectRuntimeEntry = injectRuntimeEntry;
- this.experiments = experiments;
this.dataPrefetch = dataPrefetch;
}
diff --git a/packages/enhanced/src/lib/container/ContainerEntryModule.ts b/packages/enhanced/src/lib/container/ContainerEntryModule.ts
index 58e2461b2c0..7bcd0cf139c 100644
--- a/packages/enhanced/src/lib/container/ContainerEntryModule.ts
+++ b/packages/enhanced/src/lib/container/ContainerEntryModule.ts
@@ -64,7 +64,6 @@ class ContainerEntryModule extends Module {
private _exposes: [string, ExposeOptions][];
private _shareScope: string;
private _injectRuntimeEntry: string;
- private _experiments: containerPlugin.ContainerPluginOptions['experiments'];
private _dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch'];
/**
@@ -72,7 +71,6 @@ class ContainerEntryModule extends Module {
* @param {[string, ExposeOptions][]} exposes list of exposed modules
* @param {string} shareScope name of the share scope
* @param {string} injectRuntimeEntry the path of injectRuntime file.
- * @param {containerPlugin.ContainerPluginOptions['experiments']} experiments additional experiments options
* @param {containerPlugin.ContainerPluginOptions['dataPrefetch']} dataPrefetch whether enable dataPrefetch
*/
constructor(
@@ -80,7 +78,6 @@ class ContainerEntryModule extends Module {
exposes: [string, ExposeOptions][],
shareScope: string,
injectRuntimeEntry: string,
- experiments: containerPlugin.ContainerPluginOptions['experiments'],
dataPrefetch: containerPlugin.ContainerPluginOptions['dataPrefetch'],
) {
super(JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
@@ -88,7 +85,6 @@ class ContainerEntryModule extends Module {
this._exposes = exposes;
this._shareScope = shareScope;
this._injectRuntimeEntry = injectRuntimeEntry;
- this._experiments = experiments;
this._dataPrefetch = dataPrefetch;
}
@@ -104,7 +100,6 @@ class ContainerEntryModule extends Module {
read(),
read(),
read(),
- read(),
);
obj.deserialize(context);
return obj;
@@ -122,7 +117,7 @@ class ContainerEntryModule extends Module {
override identifier(): string {
return `container entry (${this._shareScope}) ${JSON.stringify(
this._exposes,
- )} ${this._injectRuntimeEntry} ${JSON.stringify(this._experiments)} ${JSON.stringify(this._dataPrefetch)}`;
+ )} ${this._injectRuntimeEntry} ${JSON.stringify(this._dataPrefetch)}`;
}
/**
* @param {RequestShortener} requestShortener the request shortener
@@ -203,9 +198,8 @@ class ContainerEntryModule extends Module {
) as unknown as Dependency,
);
- if (!this._experiments?.federationRuntime) {
- this.addDependency(new EntryDependency(this._injectRuntimeEntry));
- }
+ this.addDependency(new EntryDependency(this._injectRuntimeEntry));
+
callback();
}
@@ -272,18 +266,6 @@ class ContainerEntryModule extends Module {
)}`,
);
}
- const initRuntimeDep = this.dependencies[1];
- // no runtime module getter needed if runtime is hoisted
- const initRuntimeModuleGetter = this._experiments?.federationRuntime
- ? ''
- : runtimeTemplate.moduleRaw({
- module: moduleGraph.getModule(initRuntimeDep),
- chunkGraph,
- // @ts-expect-error flaky type definition for Dependency
- request: initRuntimeDep.userRequest,
- weak: false,
- runtimeRequirements,
- });
const federationGlobal = getFederationGlobalScope(
RuntimeGlobals || ({} as typeof RuntimeGlobals),
);
@@ -326,7 +308,6 @@ class ContainerEntryModule extends Module {
],
)};`,
this._dataPrefetch ? PrefetchPlugin.setRemoteIdentifier() : '',
- `${initRuntimeModuleGetter}`,
this._dataPrefetch ? PrefetchPlugin.removeRemoteIdentifier() : '',
'// This exports getters to disallow modifications',
`${RuntimeGlobals.definePropertyGetters}(exports, {`,
@@ -366,7 +347,6 @@ class ContainerEntryModule extends Module {
write(this._exposes);
write(this._shareScope);
write(this._injectRuntimeEntry);
- write(this._experiments);
write(this._dataPrefetch);
super.serialize(context);
}
diff --git a/packages/enhanced/src/lib/container/ContainerEntryModuleFactory.ts b/packages/enhanced/src/lib/container/ContainerEntryModuleFactory.ts
index 56a33c33397..abb1c1bbb0f 100644
--- a/packages/enhanced/src/lib/container/ContainerEntryModuleFactory.ts
+++ b/packages/enhanced/src/lib/container/ContainerEntryModuleFactory.ts
@@ -38,7 +38,6 @@ export default class ContainerEntryModuleFactory extends ModuleFactory {
dep.exposes,
dep.shareScope,
dep.injectRuntimeEntry,
- dep.experiments,
dep.dataPrefetch,
),
});
diff --git a/packages/enhanced/src/lib/container/ContainerPlugin.ts b/packages/enhanced/src/lib/container/ContainerPlugin.ts
index 0a5c5339445..4fa8ab3f79e 100644
--- a/packages/enhanced/src/lib/container/ContainerPlugin.ts
+++ b/packages/enhanced/src/lib/container/ContainerPlugin.ts
@@ -68,7 +68,6 @@ class ContainerPlugin {
}),
),
runtimePlugins: options.runtimePlugins,
- experiments: options.experiments,
dataPrefetch: options.dataPrefetch,
};
}
@@ -194,8 +193,6 @@ class ContainerPlugin {
compilation: Compilation,
callback: (error?: WebpackError | null | undefined) => void,
) => {
- const hasSingleRuntimeChunk =
- compilation.options?.optimization?.runtimeChunk;
const hooks = FederationModulesPlugin.getCompilationHooks(compilation);
const federationRuntimeDependency =
federationRuntimePluginInstance.getDependency(compiler);
@@ -205,7 +202,6 @@ class ContainerPlugin {
exposes,
shareScope,
federationRuntimePluginInstance.entryFilePath,
- this._options.experiments,
this._options.dataPrefetch,
);
dep.loc = { name };
@@ -217,7 +213,7 @@ class ContainerPlugin {
{
name,
filename,
- runtime: hasSingleRuntimeChunk ? false : runtime,
+ runtime,
library,
},
(error: WebpackError | null | undefined) => {
@@ -284,7 +280,6 @@ class ContainerPlugin {
exposes,
shareScope,
federationRuntimePluginInstance.entryFilePath,
- this._options.experiments,
this._options.dataPrefetch,
);
diff --git a/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts b/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts
index 3dd5dbb9e1d..53f69507ee8 100644
--- a/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts
+++ b/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts
@@ -93,8 +93,10 @@ class ModuleFederationPlugin implements WebpackPluginInstance {
}).apply(compiler);
}
- if (options.experiments?.federationRuntime) {
- new FederationModulesPlugin().apply(compiler);
+ // federation hooks
+ new FederationModulesPlugin().apply(compiler);
+
+ if (options.experiments?.asyncStartup) {
new StartupChunkDependenciesPlugin({
asyncChunkLoading: true,
}).apply(compiler);
@@ -158,7 +160,6 @@ class ModuleFederationPlugin implements WebpackPluginInstance {
shareScope: options.shareScope,
exposes: options.exposes!,
runtimePlugins: options.runtimePlugins,
- experiments: options.experiments,
}).apply(compiler);
}
if (
diff --git a/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimeModule.ts b/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimeModule.ts
index 4d54d5f19f7..ddbf900d619 100644
--- a/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimeModule.ts
+++ b/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimeModule.ts
@@ -8,7 +8,7 @@ import ContainerEntryDependency from '../ContainerEntryDependency';
import type { NormalModule as NormalModuleType } from 'webpack';
import type FederationRuntimeDependency from './FederationRuntimeDependency';
-const { RuntimeModule, Template } = require(
+const { RuntimeModule, Template, RuntimeGlobals } = require(
normalizeWebpackPath('webpack'),
) as typeof import('webpack');
@@ -16,6 +16,7 @@ class EmbedFederationRuntimeModule extends RuntimeModule {
private containerEntrySet: Set<
ContainerEntryDependency | FederationRuntimeDependency
>;
+ public override _cachedGeneratedCode: string | undefined;
constructor(
containerEntrySet: Set<
@@ -24,6 +25,7 @@ class EmbedFederationRuntimeModule extends RuntimeModule {
) {
super('embed federation', RuntimeModule.STAGE_ATTACH);
this.containerEntrySet = containerEntrySet;
+ this._cachedGeneratedCode = undefined;
}
override identifier() {
@@ -31,6 +33,9 @@ class EmbedFederationRuntimeModule extends RuntimeModule {
}
override generate(): string | null {
+ if (this._cachedGeneratedCode !== undefined) {
+ return this._cachedGeneratedCode;
+ }
const { compilation, chunk, chunkGraph } = this;
if (!chunk || !chunkGraph || !compilation) {
return null;
@@ -55,7 +60,23 @@ class EmbedFederationRuntimeModule extends RuntimeModule {
weak: false,
runtimeRequirements: new Set(),
});
- return Template.asString([`${initRuntimeModuleGetter}`]);
+
+ const result = Template.asString([
+ `var oldStartup = ${RuntimeGlobals.startup};`,
+ `var hasRun = false;`,
+ `${RuntimeGlobals.startup} = ${compilation.runtimeTemplate.basicFunction(
+ '',
+ [
+ `if (!hasRun) {`,
+ ` hasRun = true;`,
+ ` ${initRuntimeModuleGetter};`,
+ `}`,
+ `return oldStartup();`,
+ ],
+ )};`,
+ ]);
+ this._cachedGeneratedCode = result;
+ return result;
}
}
export default EmbedFederationRuntimeModule;
diff --git a/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimePlugin.ts b/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimePlugin.ts
index c5ce624e30a..66a919ac503 100644
--- a/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimePlugin.ts
+++ b/packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimePlugin.ts
@@ -1,7 +1,7 @@
import { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';
import EmbedFederationRuntimeModule from './EmbedFederationRuntimeModule';
import FederationModulesPlugin from './FederationModulesPlugin';
-import type { Compiler, Compilation, Chunk } from 'webpack';
+import type { Compiler, Chunk, Compilation } from 'webpack';
import { getFederationGlobalScope } from './utils';
import ContainerEntryDependency from '../ContainerEntryDependency';
import FederationRuntimeDependency from './FederationRuntimeDependency';
@@ -10,36 +10,142 @@ const { RuntimeGlobals } = require(
normalizeWebpackPath('webpack'),
) as typeof import('webpack');
+const PLUGIN_NAME = 'EmbedFederationRuntimePlugin';
+
const federationGlobal = getFederationGlobalScope(RuntimeGlobals);
+interface EmbedFederationRuntimePluginOptions {
+ /**
+ * Whether to enable runtime module embedding for all chunks.
+ * If false, only chunks that explicitly require it will be embedded.
+ */
+ enableForAllChunks?: boolean;
+}
+
+/**
+ * Plugin that embeds Module Federation runtime code into chunks.
+ * It ensures proper initialization of federated modules and manages runtime requirements.
+ */
class EmbedFederationRuntimePlugin {
+ private readonly options: EmbedFederationRuntimePluginOptions;
+ private readonly processedChunks = new WeakMap();
+
+ constructor(options: EmbedFederationRuntimePluginOptions = {}) {
+ this.options = {
+ enableForAllChunks: false,
+ ...options,
+ };
+ }
+
+ /**
+ * Determines if runtime embedding should be enabled for a given chunk.
+ */
+ private isEnabledForChunk(chunk: Chunk): boolean {
+ // Disable for our special "build time chunk"
+ if (chunk.id === 'build time chunk') return false;
+ return this.options.enableForAllChunks || chunk.hasRuntime();
+ }
+
+ /**
+ * Checks if a hook has already been tapped by this plugin.
+ */
+ private isHookAlreadyTapped(
+ taps: Array<{ name: string }>,
+ hookName: string,
+ ): boolean {
+ return taps.some((tap) => tap.name === hookName);
+ }
+
apply(compiler: Compiler): void {
+ // Prevent double application of the plugin.
+ const compilationTaps = compiler.hooks.thisCompilation.taps || [];
+ if (this.isHookAlreadyTapped(compilationTaps, PLUGIN_NAME)) {
+ return;
+ }
+
+ // Tap into the compilation to modify renderStartup and runtime requirements.
compiler.hooks.thisCompilation.tap(
- 'EmbedFederationRuntimePlugin',
+ PLUGIN_NAME,
(compilation: Compilation) => {
- const hooks = FederationModulesPlugin.getCompilationHooks(compilation);
+ // --- Part 1: Modify renderStartup to append a startup call when none is added automatically ---
+ const { renderStartup } =
+ compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(
+ compilation,
+ );
+
+ renderStartup.tap(
+ PLUGIN_NAME,
+ (startupSource, _lastInlinedModule, renderContext) => {
+ const { chunk, chunkGraph } = renderContext;
+
+ if (!this.isEnabledForChunk(chunk)) {
+ return startupSource;
+ }
+
+ const runtimeRequirements =
+ chunkGraph.getTreeRuntimeRequirements(chunk);
+ const entryModuleCount = chunkGraph.getNumberOfEntryModules(chunk);
+
+ // The default renderBootstrap automatically pushes a startup call when either:
+ // - There is at least one entry module, OR
+ // - runtimeRequirements.has(RuntimeGlobals.startupNoDefault) is true.
+ if (
+ entryModuleCount > 0 ||
+ runtimeRequirements.has(RuntimeGlobals.startupNoDefault)
+ ) {
+ return startupSource;
+ }
+
+ // Otherwise, append a startup call.
+ return new compiler.webpack.sources.ConcatSource(
+ startupSource,
+ '\n// Custom hook: appended startup call because none was added automatically\n',
+ `${RuntimeGlobals.startup}();\n`,
+ );
+ },
+ );
+
+ // --- Part 2: Embed Federation Runtime Module and adjust runtime requirements ---
+ const federationHooks =
+ FederationModulesPlugin.getCompilationHooks(compilation);
const containerEntrySet: Set<
ContainerEntryDependency | FederationRuntimeDependency
> = new Set();
- hooks.addFederationRuntimeModule.tap(
- 'EmbedFederationRuntimePlugin',
+ // Proactively add startupOnlyBefore target chunks.
+ compilation.hooks.additionalChunkRuntimeRequirements.tap(
+ PLUGIN_NAME,
+ (chunk: Chunk, runtimeRequirements: Set) => {
+ if (!this.isEnabledForChunk(chunk)) {
+ return;
+ }
+ runtimeRequirements.add(RuntimeGlobals.startupOnlyBefore);
+ },
+ );
+
+ // Collect federation runtime dependencies.
+ federationHooks.addFederationRuntimeModule.tap(
+ PLUGIN_NAME,
(dependency: FederationRuntimeDependency) => {
containerEntrySet.add(dependency);
},
);
+ // Handle additional runtime requirements when federation is enabled.
const handleRuntimeRequirements = (
chunk: Chunk,
runtimeRequirements: Set,
) => {
- if (chunk.id === 'build time chunk') {
+ if (!this.isEnabledForChunk(chunk)) {
return;
}
+ // Skip if already processed or if not a federation chunk.
if (runtimeRequirements.has('embeddedFederationRuntime')) return;
if (!runtimeRequirements.has(federationGlobal)) {
return;
}
+
+ // Mark as embedded and add the runtime module.
runtimeRequirements.add('embeddedFederationRuntime');
const runtimeModule = new EmbedFederationRuntimeModule(
containerEntrySet,
@@ -49,9 +155,10 @@ class EmbedFederationRuntimePlugin {
compilation.hooks.runtimeRequirementInTree
.for(federationGlobal)
- .tap('EmbedFederationRuntimePlugin', handleRuntimeRequirements);
+ .tap(PLUGIN_NAME, handleRuntimeRequirements);
},
);
}
}
+
export default EmbedFederationRuntimePlugin;
diff --git a/packages/enhanced/src/lib/container/runtime/FederationRuntimePlugin.ts b/packages/enhanced/src/lib/container/runtime/FederationRuntimePlugin.ts
index f084ba18f42..3ad99431bb4 100644
--- a/packages/enhanced/src/lib/container/runtime/FederationRuntimePlugin.ts
+++ b/packages/enhanced/src/lib/container/runtime/FederationRuntimePlugin.ts
@@ -232,61 +232,38 @@ class FederationRuntimePlugin {
this.ensureFile(compiler);
}
- //if using runtime experiment, use the new include method else patch entry
- if (this.options?.experiments?.federationRuntime) {
- compiler.hooks.thisCompilation.tap(
- this.constructor.name,
- (compilation: Compilation, { normalModuleFactory }) => {
- compilation.dependencyFactories.set(
- FederationRuntimeDependency,
- normalModuleFactory,
- );
- compilation.dependencyTemplates.set(
- FederationRuntimeDependency,
- new ModuleDependency.Template(),
- );
- },
- );
- compiler.hooks.make.tapAsync(
- this.constructor.name,
- (compilation: Compilation, callback) => {
- const federationRuntimeDependency = this.getDependency(compiler);
- const hooks =
- FederationModulesPlugin.getCompilationHooks(compilation);
- compilation.addInclude(
- compiler.context,
- federationRuntimeDependency,
- { name: undefined },
- (err, module) => {
- if (err) {
- return callback(err);
- }
- hooks.addFederationRuntimeModule.call(
- federationRuntimeDependency,
- );
- callback();
- },
- );
- },
- );
- } else {
- const entryFilePath = this.entryFilePath;
- modifyEntry({
- compiler,
- prependEntry: (entry: Record) => {
- Object.keys(entry).forEach((entryName) => {
- const entryItem = entry[entryName];
- if (!entryItem.import) {
- // TODO: maybe set this variable as constant is better https://github.com/webpack/webpack/blob/main/lib/config/defaults.js#L176
- entryItem.import = ['./src'];
- }
- if (!entryItem.import.includes(entryFilePath)) {
- entryItem.import.unshift(entryFilePath);
+ compiler.hooks.thisCompilation.tap(
+ this.constructor.name,
+ (compilation: Compilation, { normalModuleFactory }) => {
+ compilation.dependencyFactories.set(
+ FederationRuntimeDependency,
+ normalModuleFactory,
+ );
+ compilation.dependencyTemplates.set(
+ FederationRuntimeDependency,
+ new ModuleDependency.Template(),
+ );
+ },
+ );
+ compiler.hooks.make.tapAsync(
+ this.constructor.name,
+ (compilation: Compilation, callback) => {
+ const federationRuntimeDependency = this.getDependency(compiler);
+ const hooks = FederationModulesPlugin.getCompilationHooks(compilation);
+ compilation.addInclude(
+ compiler.context,
+ federationRuntimeDependency,
+ { name: undefined },
+ (err, module) => {
+ if (err) {
+ return callback(err);
}
- });
- },
- });
- }
+ hooks.addFederationRuntimeModule.call(federationRuntimeDependency);
+ callback();
+ },
+ );
+ },
+ );
}
injectRuntime(compiler: Compiler) {
@@ -355,14 +332,12 @@ class FederationRuntimePlugin {
setRuntimeAlias(compiler: Compiler) {
const { experiments, implementation } = this.options || {};
- const isHoisted = experiments?.federationRuntime === 'hoisted';
- let runtimePath = isHoisted ? EmbeddedRuntimePath : RuntimePath;
+ let runtimePath = EmbeddedRuntimePath;
if (implementation) {
- runtimePath = require.resolve(
- `@module-federation/runtime${isHoisted ? '/embedded' : ''}`,
- { paths: [implementation] },
- );
+ runtimePath = require.resolve(`@module-federation/runtime/embedded`, {
+ paths: [implementation],
+ });
}
const alias: any = compiler.options.resolve.alias || {};
@@ -429,24 +404,22 @@ class FederationRuntimePlugin {
this.entryFilePath = this.getFilePath(compiler);
- if (this.options?.experiments?.federationRuntime === 'hoisted') {
- new EmbedFederationRuntimePlugin().apply(compiler);
+ new EmbedFederationRuntimePlugin().apply(compiler);
- new HoistContainerReferences().apply(compiler);
+ new HoistContainerReferences().apply(compiler);
- new compiler.webpack.NormalModuleReplacementPlugin(
- /@module-federation\/runtime/,
- (resolveData) => {
- if (/webpack-bundler-runtime/.test(resolveData.contextInfo.issuer)) {
- resolveData.request = RuntimePath;
+ new compiler.webpack.NormalModuleReplacementPlugin(
+ /@module-federation\/runtime/,
+ (resolveData) => {
+ if (/webpack-bundler-runtime/.test(resolveData.contextInfo.issuer)) {
+ resolveData.request = RuntimePath;
- if (resolveData.createData) {
- resolveData.createData.request = resolveData.request;
- }
+ if (resolveData.createData) {
+ resolveData.createData.request = resolveData.request;
}
- },
- ).apply(compiler);
- }
+ }
+ },
+ ).apply(compiler);
// dont run multiple times on every apply()
if (!onceForCompiler.has(compiler)) {
this.prependEntry(compiler);
diff --git a/packages/enhanced/src/lib/startup/MfStartupChunkDependenciesPlugin.ts b/packages/enhanced/src/lib/startup/MfStartupChunkDependenciesPlugin.ts
index 7628d03d674..46b8b563d81 100644
--- a/packages/enhanced/src/lib/startup/MfStartupChunkDependenciesPlugin.ts
+++ b/packages/enhanced/src/lib/startup/MfStartupChunkDependenciesPlugin.ts
@@ -12,7 +12,6 @@ import ContainerEntryModule from '../container/ContainerEntryModule';
const { RuntimeGlobals } = require(
normalizeWebpackPath('webpack'),
) as typeof import('webpack');
-
const StartupEntrypointRuntimeModule = require(
normalizeWebpackPath('webpack/lib/runtime/StartupEntrypointRuntimeModule'),
) as typeof import('webpack/lib/runtime/StartupEntrypointRuntimeModule');
@@ -43,13 +42,11 @@ class StartupChunkDependenciesPlugin {
compiler.hooks.thisCompilation.tap(
'MfStartupChunkDependenciesPlugin',
(compilation) => {
- const isEnabledForChunk = (chunk: Chunk) =>
- this.isEnabledForChunk(chunk, compilation);
-
+ // Add additional runtime requirements at the tree level.
compilation.hooks.additionalTreeRuntimeRequirements.tap(
'StartupChunkDependenciesPlugin',
(chunk, set, { chunkGraph }) => {
- if (!isEnabledForChunk(chunk)) return;
+ if (!this.isEnabledForChunk(chunk, compilation)) return;
if (chunk.hasRuntime()) {
set.add(RuntimeGlobals.startupEntrypoint);
set.add(RuntimeGlobals.ensureChunk);
@@ -58,21 +55,23 @@ class StartupChunkDependenciesPlugin {
},
);
+ // Add additional runtime requirements at the chunk level if there are entry modules.
compilation.hooks.additionalChunkRuntimeRequirements.tap(
'MfStartupChunkDependenciesPlugin',
(chunk, set, { chunkGraph }) => {
- if (!isEnabledForChunk(chunk)) return;
+ if (!this.isEnabledForChunk(chunk, compilation)) return;
if (chunkGraph.getNumberOfEntryModules(chunk) === 0) return;
set.add(federationStartup);
},
);
+ // When the startupEntrypoint requirement is present, add extra keys and a runtime module.
compilation.hooks.runtimeRequirementInTree
.for(RuntimeGlobals.startupEntrypoint)
.tap(
'StartupChunkDependenciesPlugin',
(chunk, set, { chunkGraph }) => {
- if (!isEnabledForChunk(chunk)) return;
+ if (!this.isEnabledForChunk(chunk, compilation)) return;
set.add(RuntimeGlobals.require);
set.add(RuntimeGlobals.ensureChunk);
set.add(RuntimeGlobals.ensureChunkIncludeEntries);
@@ -83,6 +82,7 @@ class StartupChunkDependenciesPlugin {
},
);
+ // Replace the generated startup with a custom version if entry modules exist.
const { renderStartup } =
compiler.webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(
compilation,
@@ -93,7 +93,11 @@ class StartupChunkDependenciesPlugin {
(startupSource, lastInlinedModule, renderContext) => {
const { chunk, chunkGraph, runtimeTemplate } = renderContext;
- if (!isEnabledForChunk(chunk)) {
+ if (!this.isEnabledForChunk(chunk, compilation)) {
+ return startupSource;
+ }
+
+ if (chunkGraph.getNumberOfEntryModules(chunk) === 0) {
return startupSource;
}
diff --git a/packages/enhanced/src/lib/startup/StartupHelpers.ts b/packages/enhanced/src/lib/startup/StartupHelpers.ts
index e43b28dd3a2..223671e4b6b 100644
--- a/packages/enhanced/src/lib/startup/StartupHelpers.ts
+++ b/packages/enhanced/src/lib/startup/StartupHelpers.ts
@@ -49,6 +49,7 @@ export const generateEntryStartup = (
'',
'\n',
'var promises = [];',
+ '__webpack_require__.x();',
];
const treeRuntimeRequirements = chunkGraph.getTreeRuntimeRequirements(chunk);
diff --git a/packages/enhanced/src/schemas/container/ContainerPlugin.check.ts b/packages/enhanced/src/schemas/container/ContainerPlugin.check.ts
index da07fadf34e..48bf217d60c 100644
--- a/packages/enhanced/src/schemas/container/ContainerPlugin.check.ts
+++ b/packages/enhanced/src/schemas/container/ContainerPlugin.check.ts
@@ -4,10 +4,10 @@
* This file was automatically generated.
* DO NOT MODIFY BY HAND.
*/
-const e = /^(?:[A-Za-z]:[\\/]|\\\\|\/)/;
+const t = /^(?:[A-Za-z]:[\\/]|\\\\|\/)/;
export const validate = m;
export default m;
-const t = {
+const e = {
definitions: {
RuntimePlugin: { type: 'array', items: { type: 'string' } },
AmdContainer: { type: 'string', minLength: 1 },
@@ -159,9 +159,7 @@ const t = {
experiments: {
type: 'object',
properties: {
- federationRuntime: {
- anyOf: [{ type: 'boolean' }, { enum: ['hoisted'] }],
- },
+ asyncStartup: { type: 'boolean' },
externalRuntime: {
anyOf: [{ type: 'boolean' }, { enum: ['provide'] }],
},
@@ -173,245 +171,245 @@ const t = {
},
r = { anyOf: [{ enum: [!1] }, { type: 'string', minLength: 1 }] };
function n(
- e,
+ t,
{
- instancePath: t = '',
+ instancePath: e = '',
parentData: r,
parentDataProperty: s,
- rootData: o = e,
+ rootData: a = t,
} = {},
) {
- if (!Array.isArray(e))
+ if (!Array.isArray(t))
return (n.errors = [{ params: { type: 'array' } }]), !1;
{
- const t = e.length;
- for (let r = 0; r < t; r++) {
- let t = e[r];
+ const e = t.length;
+ for (let r = 0; r < e; r++) {
+ let e = t[r];
const s = 0;
- if ('string' != typeof t)
+ if ('string' != typeof e)
return (n.errors = [{ params: { type: 'string' } }]), !1;
- if (t.length < 1) return (n.errors = [{ params: {} }]), !1;
+ if (e.length < 1) return (n.errors = [{ params: {} }]), !1;
if (0 !== s) break;
}
}
return (n.errors = null), !0;
}
function s(
- e,
+ t,
{
- instancePath: t = '',
+ instancePath: e = '',
parentData: r,
- parentDataProperty: o,
- rootData: a = e,
+ parentDataProperty: a,
+ rootData: o = t,
} = {},
) {
let i = null,
- l = 0;
- if (0 === l) {
- if (!e || 'object' != typeof e || Array.isArray(e))
+ p = 0;
+ if (0 === p) {
+ if (!t || 'object' != typeof t || Array.isArray(t))
return (s.errors = [{ params: { type: 'object' } }]), !1;
{
let r;
- if (void 0 === e.import && (r = 'import'))
+ if (void 0 === t.import && (r = 'import'))
return (s.errors = [{ params: { missingProperty: r } }]), !1;
{
- const r = l;
- for (const t in e)
- if ('import' !== t && 'name' !== t)
- return (s.errors = [{ params: { additionalProperty: t } }]), !1;
- if (r === l) {
- if (void 0 !== e.import) {
- let r = e.import;
- const o = l,
- m = l;
+ const r = p;
+ for (const e in t)
+ if ('import' !== e && 'name' !== e)
+ return (s.errors = [{ params: { additionalProperty: e } }]), !1;
+ if (r === p) {
+ if (void 0 !== t.import) {
+ let r = t.import;
+ const a = p,
+ m = p;
let u = !1;
- const c = l;
- if (l == l)
+ const c = p;
+ if (p == p)
if ('string' == typeof r) {
if (r.length < 1) {
- const e = { params: {} };
- null === i ? (i = [e]) : i.push(e), l++;
+ const t = { params: {} };
+ null === i ? (i = [t]) : i.push(t), p++;
}
} else {
- const e = { params: { type: 'string' } };
- null === i ? (i = [e]) : i.push(e), l++;
+ const t = { params: { type: 'string' } };
+ null === i ? (i = [t]) : i.push(t), p++;
}
- var p = c === l;
- if (((u = u || p), !u)) {
- const s = l;
+ var l = c === p;
+ if (((u = u || l), !u)) {
+ const s = p;
n(r, {
- instancePath: t + '/import',
- parentData: e,
+ instancePath: e + '/import',
+ parentData: t,
parentDataProperty: 'import',
- rootData: a,
+ rootData: o,
}) ||
((i = null === i ? n.errors : i.concat(n.errors)),
- (l = i.length)),
- (p = s === l),
- (u = u || p);
+ (p = i.length)),
+ (l = s === p),
+ (u = u || l);
}
if (!u) {
- const e = { params: {} };
+ const t = { params: {} };
return (
- null === i ? (i = [e]) : i.push(e), l++, (s.errors = i), !1
+ null === i ? (i = [t]) : i.push(t), p++, (s.errors = i), !1
);
}
- (l = m), null !== i && (m ? (i.length = m) : (i = null));
- var f = o === l;
+ (p = m), null !== i && (m ? (i.length = m) : (i = null));
+ var f = a === p;
} else f = !0;
if (f)
- if (void 0 !== e.name) {
- const t = l;
- if ('string' != typeof e.name)
+ if (void 0 !== t.name) {
+ const e = p;
+ if ('string' != typeof t.name)
return (s.errors = [{ params: { type: 'string' } }]), !1;
- f = t === l;
+ f = e === p;
} else f = !0;
}
}
}
}
- return (s.errors = i), 0 === l;
+ return (s.errors = i), 0 === p;
}
-function o(
- e,
+function a(
+ t,
{
- instancePath: t = '',
+ instancePath: e = '',
parentData: r,
- parentDataProperty: a,
- rootData: i = e,
+ parentDataProperty: o,
+ rootData: i = t,
} = {},
) {
- let l = null,
- p = 0;
- if (0 === p) {
- if (!e || 'object' != typeof e || Array.isArray(e))
- return (o.errors = [{ params: { type: 'object' } }]), !1;
- for (const r in e) {
- let a = e[r];
- const m = p,
- u = p;
+ let p = null,
+ l = 0;
+ if (0 === l) {
+ if (!t || 'object' != typeof t || Array.isArray(t))
+ return (a.errors = [{ params: { type: 'object' } }]), !1;
+ for (const r in t) {
+ let o = t[r];
+ const m = l,
+ u = l;
let c = !1;
- const y = p;
- s(a, {
- instancePath: t + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
- parentData: e,
+ const y = l;
+ s(o, {
+ instancePath: e + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
+ parentData: t,
parentDataProperty: r,
rootData: i,
- }) || ((l = null === l ? s.errors : l.concat(s.errors)), (p = l.length));
- var f = y === p;
+ }) || ((p = null === p ? s.errors : p.concat(s.errors)), (l = p.length));
+ var f = y === l;
if (((c = c || f), !c)) {
- const s = p;
- if (p == p)
- if ('string' == typeof a) {
- if (a.length < 1) {
- const e = { params: {} };
- null === l ? (l = [e]) : l.push(e), p++;
+ const s = l;
+ if (l == l)
+ if ('string' == typeof o) {
+ if (o.length < 1) {
+ const t = { params: {} };
+ null === p ? (p = [t]) : p.push(t), l++;
}
} else {
- const e = { params: { type: 'string' } };
- null === l ? (l = [e]) : l.push(e), p++;
+ const t = { params: { type: 'string' } };
+ null === p ? (p = [t]) : p.push(t), l++;
}
- if (((f = s === p), (c = c || f), !c)) {
- const s = p;
- n(a, {
- instancePath: t + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
- parentData: e,
+ if (((f = s === l), (c = c || f), !c)) {
+ const s = l;
+ n(o, {
+ instancePath: e + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
+ parentData: t,
parentDataProperty: r,
rootData: i,
}) ||
- ((l = null === l ? n.errors : l.concat(n.errors)), (p = l.length)),
- (f = s === p),
+ ((p = null === p ? n.errors : p.concat(n.errors)), (l = p.length)),
+ (f = s === l),
(c = c || f);
}
}
if (!c) {
- const e = { params: {} };
- return null === l ? (l = [e]) : l.push(e), p++, (o.errors = l), !1;
+ const t = { params: {} };
+ return null === p ? (p = [t]) : p.push(t), l++, (a.errors = p), !1;
}
- if (((p = u), null !== l && (u ? (l.length = u) : (l = null)), m !== p))
+ if (((l = u), null !== p && (u ? (p.length = u) : (p = null)), m !== l))
break;
}
}
- return (o.errors = l), 0 === p;
+ return (a.errors = p), 0 === l;
}
-function a(
- e,
+function o(
+ t,
{
- instancePath: t = '',
+ instancePath: e = '',
parentData: r,
parentDataProperty: n,
- rootData: s = e,
+ rootData: s = t,
} = {},
) {
let i = null,
- l = 0;
- const p = l;
+ p = 0;
+ const l = p;
let f = !1;
- const m = l;
- if (l === m)
- if (Array.isArray(e)) {
- const r = e.length;
+ const m = p;
+ if (p === m)
+ if (Array.isArray(t)) {
+ const r = t.length;
for (let n = 0; n < r; n++) {
- let r = e[n];
- const a = l,
- p = l;
+ let r = t[n];
+ const o = p,
+ l = p;
let f = !1;
- const m = l;
- if (l == l)
+ const m = p;
+ if (p == p)
if ('string' == typeof r) {
if (r.length < 1) {
- const e = { params: {} };
- null === i ? (i = [e]) : i.push(e), l++;
+ const t = { params: {} };
+ null === i ? (i = [t]) : i.push(t), p++;
}
} else {
- const e = { params: { type: 'string' } };
- null === i ? (i = [e]) : i.push(e), l++;
+ const t = { params: { type: 'string' } };
+ null === i ? (i = [t]) : i.push(t), p++;
}
- var u = m === l;
+ var u = m === p;
if (((f = f || u), !f)) {
- const a = l;
- o(r, {
- instancePath: t + '/' + n,
- parentData: e,
+ const o = p;
+ a(r, {
+ instancePath: e + '/' + n,
+ parentData: t,
parentDataProperty: n,
rootData: s,
}) ||
- ((i = null === i ? o.errors : i.concat(o.errors)), (l = i.length)),
- (u = a === l),
+ ((i = null === i ? a.errors : i.concat(a.errors)), (p = i.length)),
+ (u = o === p),
(f = f || u);
}
- if (f) (l = p), null !== i && (p ? (i.length = p) : (i = null));
+ if (f) (p = l), null !== i && (l ? (i.length = l) : (i = null));
else {
- const e = { params: {} };
- null === i ? (i = [e]) : i.push(e), l++;
+ const t = { params: {} };
+ null === i ? (i = [t]) : i.push(t), p++;
}
- if (a !== l) break;
+ if (o !== p) break;
}
} else {
- const e = { params: { type: 'array' } };
- null === i ? (i = [e]) : i.push(e), l++;
+ const t = { params: { type: 'array' } };
+ null === i ? (i = [t]) : i.push(t), p++;
}
- var c = m === l;
+ var c = m === p;
if (((f = f || c), !f)) {
- const a = l;
- o(e, {
- instancePath: t,
+ const o = p;
+ a(t, {
+ instancePath: e,
parentData: r,
parentDataProperty: n,
rootData: s,
- }) || ((i = null === i ? o.errors : i.concat(o.errors)), (l = i.length)),
- (c = a === l),
+ }) || ((i = null === i ? a.errors : i.concat(a.errors)), (p = i.length)),
+ (c = o === p),
(f = f || c);
}
if (!f) {
- const e = { params: {} };
- return null === i ? (i = [e]) : i.push(e), l++, (a.errors = i), !1;
+ const t = { params: {} };
+ return null === i ? (i = [t]) : i.push(t), p++, (o.errors = i), !1;
}
return (
- (l = p),
- null !== i && (p ? (i.length = p) : (i = null)),
- (a.errors = i),
- 0 === l
+ (p = l),
+ null !== i && (l ? (i.length = l) : (i = null)),
+ (o.errors = i),
+ 0 === p
);
}
const i = {
@@ -441,447 +439,447 @@ const i = {
{ type: 'string' },
],
};
-function l(
- e,
+function p(
+ t,
{
- instancePath: t = '',
+ instancePath: e = '',
parentData: r,
parentDataProperty: n,
- rootData: s = e,
+ rootData: s = t,
} = {},
) {
- let o = null,
- a = 0;
- const i = a;
- let p = !1;
- const f = a;
- if ('string' != typeof e) {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ let a = null,
+ o = 0;
+ const i = o;
+ let l = !1;
+ const f = o;
+ if ('string' != typeof t) {
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- var m = f === a;
- if (((p = p || m), !p)) {
- const t = a;
- if (a == a)
- if (e && 'object' == typeof e && !Array.isArray(e)) {
- const t = a;
- for (const t in e)
+ var m = f === o;
+ if (((l = l || m), !l)) {
+ const e = o;
+ if (o == o)
+ if (t && 'object' == typeof t && !Array.isArray(t)) {
+ const e = o;
+ for (const e in t)
if (
- 'amd' !== t &&
- 'commonjs' !== t &&
- 'commonjs2' !== t &&
- 'root' !== t
+ 'amd' !== e &&
+ 'commonjs' !== e &&
+ 'commonjs2' !== e &&
+ 'root' !== e
) {
- const e = { params: { additionalProperty: t } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { additionalProperty: e } };
+ null === a ? (a = [t]) : a.push(t), o++;
break;
}
- if (t === a) {
- if (void 0 !== e.amd) {
- const t = a;
- if ('string' != typeof e.amd) {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ if (e === o) {
+ if (void 0 !== t.amd) {
+ const e = o;
+ if ('string' != typeof t.amd) {
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- var u = t === a;
+ var u = e === o;
} else u = !0;
if (u) {
- if (void 0 !== e.commonjs) {
- const t = a;
- if ('string' != typeof e.commonjs) {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ if (void 0 !== t.commonjs) {
+ const e = o;
+ if ('string' != typeof t.commonjs) {
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- u = t === a;
+ u = e === o;
} else u = !0;
if (u) {
- if (void 0 !== e.commonjs2) {
- const t = a;
- if ('string' != typeof e.commonjs2) {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ if (void 0 !== t.commonjs2) {
+ const e = o;
+ if ('string' != typeof t.commonjs2) {
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- u = t === a;
+ u = e === o;
} else u = !0;
if (u)
- if (void 0 !== e.root) {
- const t = a;
- if ('string' != typeof e.root) {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ if (void 0 !== t.root) {
+ const e = o;
+ if ('string' != typeof t.root) {
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- u = t === a;
+ u = e === o;
} else u = !0;
}
}
}
} else {
- const e = { params: { type: 'object' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'object' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- (m = t === a), (p = p || m);
+ (m = e === o), (l = l || m);
}
- if (!p) {
- const e = { params: {} };
- return null === o ? (o = [e]) : o.push(e), a++, (l.errors = o), !1;
+ if (!l) {
+ const t = { params: {} };
+ return null === a ? (a = [t]) : a.push(t), o++, (p.errors = a), !1;
}
return (
- (a = i),
- null !== o && (i ? (o.length = i) : (o = null)),
- (l.errors = o),
- 0 === a
+ (o = i),
+ null !== a && (i ? (a.length = i) : (a = null)),
+ (p.errors = a),
+ 0 === o
);
}
-function p(
- e,
+function l(
+ t,
{
- instancePath: t = '',
+ instancePath: e = '',
parentData: r,
parentDataProperty: n,
- rootData: s = e,
+ rootData: s = t,
} = {},
) {
- let o = null,
- a = 0;
- const i = a;
- let l = !1;
- const f = a;
- if (a === f)
- if (Array.isArray(e))
- if (e.length < 1) {
- const e = { params: { limit: 1 } };
- null === o ? (o = [e]) : o.push(e), a++;
+ let a = null,
+ o = 0;
+ const i = o;
+ let p = !1;
+ const f = o;
+ if (o === f)
+ if (Array.isArray(t))
+ if (t.length < 1) {
+ const t = { params: { limit: 1 } };
+ null === a ? (a = [t]) : a.push(t), o++;
} else {
- const t = e.length;
- for (let r = 0; r < t; r++) {
- let t = e[r];
- const n = a;
- if (a === n)
- if ('string' == typeof t) {
- if (t.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ const e = t.length;
+ for (let r = 0; r < e; r++) {
+ let e = t[r];
+ const n = o;
+ if (o === n)
+ if ('string' == typeof e) {
+ if (e.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- if (n !== a) break;
+ if (n !== o) break;
}
}
else {
- const e = { params: { type: 'array' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'array' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- var m = f === a;
- if (((l = l || m), !l)) {
- const t = a;
- if (a === t)
- if ('string' == typeof e) {
- if (e.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ var m = f === o;
+ if (((p = p || m), !p)) {
+ const e = o;
+ if (o === e)
+ if ('string' == typeof t) {
+ if (t.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- if (((m = t === a), (l = l || m), !l)) {
- const t = a;
- if (a == a)
- if (e && 'object' == typeof e && !Array.isArray(e)) {
- const t = a;
- for (const t in e)
- if ('amd' !== t && 'commonjs' !== t && 'root' !== t) {
- const e = { params: { additionalProperty: t } };
- null === o ? (o = [e]) : o.push(e), a++;
+ if (((m = e === o), (p = p || m), !p)) {
+ const e = o;
+ if (o == o)
+ if (t && 'object' == typeof t && !Array.isArray(t)) {
+ const e = o;
+ for (const e in t)
+ if ('amd' !== e && 'commonjs' !== e && 'root' !== e) {
+ const t = { params: { additionalProperty: e } };
+ null === a ? (a = [t]) : a.push(t), o++;
break;
}
- if (t === a) {
- if (void 0 !== e.amd) {
- let t = e.amd;
- const r = a;
- if (a === r)
- if ('string' == typeof t) {
- if (t.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ if (e === o) {
+ if (void 0 !== t.amd) {
+ let e = t.amd;
+ const r = o;
+ if (o === r)
+ if ('string' == typeof e) {
+ if (e.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- var u = r === a;
+ var u = r === o;
} else u = !0;
if (u) {
- if (void 0 !== e.commonjs) {
- let t = e.commonjs;
- const r = a;
- if (a === r)
- if ('string' == typeof t) {
- if (t.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ if (void 0 !== t.commonjs) {
+ let e = t.commonjs;
+ const r = o;
+ if (o === r)
+ if ('string' == typeof e) {
+ if (e.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- u = r === a;
+ u = r === o;
} else u = !0;
if (u)
- if (void 0 !== e.root) {
- let t = e.root;
- const r = a,
- n = a;
+ if (void 0 !== t.root) {
+ let e = t.root;
+ const r = o,
+ n = o;
let s = !1;
- const i = a;
- if (a === i)
- if (Array.isArray(t)) {
- const e = t.length;
- for (let r = 0; r < e; r++) {
- let e = t[r];
- const n = a;
- if (a === n)
- if ('string' == typeof e) {
- if (e.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ const i = o;
+ if (o === i)
+ if (Array.isArray(e)) {
+ const t = e.length;
+ for (let r = 0; r < t; r++) {
+ let t = e[r];
+ const n = o;
+ if (o === n)
+ if ('string' == typeof t) {
+ if (t.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- if (n !== a) break;
+ if (n !== o) break;
}
} else {
- const e = { params: { type: 'array' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'array' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- var c = i === a;
+ var c = i === o;
if (((s = s || c), !s)) {
- const e = a;
- if (a === e)
- if ('string' == typeof t) {
- if (t.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = o;
+ if (o === t)
+ if ('string' == typeof e) {
+ if (e.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- (c = e === a), (s = s || c);
+ (c = t === o), (s = s || c);
}
if (s)
- (a = n), null !== o && (n ? (o.length = n) : (o = null));
+ (o = n), null !== a && (n ? (a.length = n) : (a = null));
else {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- u = r === a;
+ u = r === o;
} else u = !0;
}
}
} else {
- const e = { params: { type: 'object' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'object' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- (m = t === a), (l = l || m);
+ (m = e === o), (p = p || m);
}
}
- if (!l) {
- const e = { params: {} };
- return null === o ? (o = [e]) : o.push(e), a++, (p.errors = o), !1;
+ if (!p) {
+ const t = { params: {} };
+ return null === a ? (a = [t]) : a.push(t), o++, (l.errors = a), !1;
}
return (
- (a = i),
- null !== o && (i ? (o.length = i) : (o = null)),
- (p.errors = o),
- 0 === a
+ (o = i),
+ null !== a && (i ? (a.length = i) : (a = null)),
+ (l.errors = a),
+ 0 === o
);
}
function f(
- e,
+ t,
{
- instancePath: t = '',
+ instancePath: e = '',
parentData: r,
parentDataProperty: n,
- rootData: s = e,
+ rootData: s = t,
} = {},
) {
- let o = null,
- a = 0;
- if (0 === a) {
- if (!e || 'object' != typeof e || Array.isArray(e))
+ let a = null,
+ o = 0;
+ if (0 === o) {
+ if (!t || 'object' != typeof t || Array.isArray(t))
return (f.errors = [{ params: { type: 'object' } }]), !1;
{
let r;
- if (void 0 === e.type && (r = 'type'))
+ if (void 0 === t.type && (r = 'type'))
return (f.errors = [{ params: { missingProperty: r } }]), !1;
{
- const r = a;
- for (const t in e)
+ const r = o;
+ for (const e in t)
if (
- 'amdContainer' !== t &&
- 'auxiliaryComment' !== t &&
- 'export' !== t &&
- 'name' !== t &&
- 'type' !== t &&
- 'umdNamedDefine' !== t
+ 'amdContainer' !== e &&
+ 'auxiliaryComment' !== e &&
+ 'export' !== e &&
+ 'name' !== e &&
+ 'type' !== e &&
+ 'umdNamedDefine' !== e
)
- return (f.errors = [{ params: { additionalProperty: t } }]), !1;
- if (r === a) {
- if (void 0 !== e.amdContainer) {
- let t = e.amdContainer;
- const r = a;
- if (a == a) {
- if ('string' != typeof t)
+ return (f.errors = [{ params: { additionalProperty: e } }]), !1;
+ if (r === o) {
+ if (void 0 !== t.amdContainer) {
+ let e = t.amdContainer;
+ const r = o;
+ if (o == o) {
+ if ('string' != typeof e)
return (f.errors = [{ params: { type: 'string' } }]), !1;
- if (t.length < 1) return (f.errors = [{ params: {} }]), !1;
+ if (e.length < 1) return (f.errors = [{ params: {} }]), !1;
}
- var m = r === a;
+ var m = r === o;
} else m = !0;
if (m) {
- if (void 0 !== e.auxiliaryComment) {
- const r = a;
- l(e.auxiliaryComment, {
- instancePath: t + '/auxiliaryComment',
- parentData: e,
+ if (void 0 !== t.auxiliaryComment) {
+ const r = o;
+ p(t.auxiliaryComment, {
+ instancePath: e + '/auxiliaryComment',
+ parentData: t,
parentDataProperty: 'auxiliaryComment',
rootData: s,
}) ||
- ((o = null === o ? l.errors : o.concat(l.errors)),
- (a = o.length)),
- (m = r === a);
+ ((a = null === a ? p.errors : a.concat(p.errors)),
+ (o = a.length)),
+ (m = r === o);
} else m = !0;
if (m) {
- if (void 0 !== e.export) {
- let t = e.export;
- const r = a,
- n = a;
+ if (void 0 !== t.export) {
+ let e = t.export;
+ const r = o,
+ n = o;
let s = !1;
- const i = a;
- if (a === i)
- if (Array.isArray(t)) {
- const e = t.length;
- for (let r = 0; r < e; r++) {
- let e = t[r];
- const n = a;
- if (a === n)
- if ('string' == typeof e) {
- if (e.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ const i = o;
+ if (o === i)
+ if (Array.isArray(e)) {
+ const t = e.length;
+ for (let r = 0; r < t; r++) {
+ let t = e[r];
+ const n = o;
+ if (o === n)
+ if ('string' == typeof t) {
+ if (t.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- if (n !== a) break;
+ if (n !== o) break;
}
} else {
- const e = { params: { type: 'array' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'array' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- var u = i === a;
+ var u = i === o;
if (((s = s || u), !s)) {
- const e = a;
- if (a === e)
- if ('string' == typeof t) {
- if (t.length < 1) {
- const e = { params: {} };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = o;
+ if (o === t)
+ if ('string' == typeof e) {
+ if (e.length < 1) {
+ const t = { params: {} };
+ null === a ? (a = [t]) : a.push(t), o++;
}
} else {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- (u = e === a), (s = s || u);
+ (u = t === o), (s = s || u);
}
if (!s) {
- const e = { params: {} };
+ const t = { params: {} };
return (
- null === o ? (o = [e]) : o.push(e), a++, (f.errors = o), !1
+ null === a ? (a = [t]) : a.push(t), o++, (f.errors = a), !1
);
}
- (a = n),
- null !== o && (n ? (o.length = n) : (o = null)),
- (m = r === a);
+ (o = n),
+ null !== a && (n ? (a.length = n) : (a = null)),
+ (m = r === o);
} else m = !0;
if (m) {
- if (void 0 !== e.name) {
- const r = a;
- p(e.name, {
- instancePath: t + '/name',
- parentData: e,
+ if (void 0 !== t.name) {
+ const r = o;
+ l(t.name, {
+ instancePath: e + '/name',
+ parentData: t,
parentDataProperty: 'name',
rootData: s,
}) ||
- ((o = null === o ? p.errors : o.concat(p.errors)),
- (a = o.length)),
- (m = r === a);
+ ((a = null === a ? l.errors : a.concat(l.errors)),
+ (o = a.length)),
+ (m = r === o);
} else m = !0;
if (m) {
- if (void 0 !== e.type) {
- let t = e.type;
- const r = a,
- n = a;
+ if (void 0 !== t.type) {
+ let e = t.type;
+ const r = o,
+ n = o;
let s = !1;
- const l = a;
+ const p = o;
if (
- 'var' !== t &&
- 'module' !== t &&
- 'assign' !== t &&
- 'assign-properties' !== t &&
- 'this' !== t &&
- 'window' !== t &&
- 'self' !== t &&
- 'global' !== t &&
- 'commonjs' !== t &&
- 'commonjs2' !== t &&
- 'commonjs-module' !== t &&
- 'commonjs-static' !== t &&
- 'amd' !== t &&
- 'amd-require' !== t &&
- 'umd' !== t &&
- 'umd2' !== t &&
- 'jsonp' !== t &&
- 'system' !== t
+ 'var' !== e &&
+ 'module' !== e &&
+ 'assign' !== e &&
+ 'assign-properties' !== e &&
+ 'this' !== e &&
+ 'window' !== e &&
+ 'self' !== e &&
+ 'global' !== e &&
+ 'commonjs' !== e &&
+ 'commonjs2' !== e &&
+ 'commonjs-module' !== e &&
+ 'commonjs-static' !== e &&
+ 'amd' !== e &&
+ 'amd-require' !== e &&
+ 'umd' !== e &&
+ 'umd2' !== e &&
+ 'jsonp' !== e &&
+ 'system' !== e
) {
- const e = { params: { allowedValues: i.anyOf[0].enum } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = { params: { allowedValues: i.anyOf[0].enum } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- var c = l === a;
+ var c = p === o;
if (((s = s || c), !s)) {
- const e = a;
- if ('string' != typeof t) {
- const e = { params: { type: 'string' } };
- null === o ? (o = [e]) : o.push(e), a++;
+ const t = o;
+ if ('string' != typeof e) {
+ const t = { params: { type: 'string' } };
+ null === a ? (a = [t]) : a.push(t), o++;
}
- (c = e === a), (s = s || c);
+ (c = t === o), (s = s || c);
}
if (!s) {
- const e = { params: {} };
+ const t = { params: {} };
return (
- null === o ? (o = [e]) : o.push(e),
- a++,
- (f.errors = o),
+ null === a ? (a = [t]) : a.push(t),
+ o++,
+ (f.errors = a),
!1
);
}
- (a = n),
- null !== o && (n ? (o.length = n) : (o = null)),
- (m = r === a);
+ (o = n),
+ null !== a && (n ? (a.length = n) : (a = null)),
+ (m = r === o);
} else m = !0;
if (m)
- if (void 0 !== e.umdNamedDefine) {
- const t = a;
- if ('boolean' != typeof e.umdNamedDefine)
+ if (void 0 !== t.umdNamedDefine) {
+ const e = o;
+ if ('boolean' != typeof t.umdNamedDefine)
return (
(f.errors = [{ params: { type: 'boolean' } }]), !1
);
- m = t === a;
+ m = e === o;
} else m = !0;
}
}
@@ -891,274 +889,246 @@ function f(
}
}
}
- return (f.errors = o), 0 === a;
+ return (f.errors = a), 0 === o;
}
function m(
n,
{
instancePath: s = '',
- parentData: o,
+ parentData: a,
parentDataProperty: i,
- rootData: l = n,
+ rootData: p = n,
} = {},
) {
- let p = null,
+ let l = null,
u = 0;
if (0 === u) {
if (!n || 'object' != typeof n || Array.isArray(n))
return (m.errors = [{ params: { type: 'object' } }]), !1;
{
- let o;
+ let a;
if (
- (void 0 === n.name && (o = 'name')) ||
- (void 0 === n.exposes && (o = 'exposes'))
+ (void 0 === n.name && (a = 'name')) ||
+ (void 0 === n.exposes && (a = 'exposes'))
)
- return (m.errors = [{ params: { missingProperty: o } }]), !1;
+ return (m.errors = [{ params: { missingProperty: a } }]), !1;
{
- const o = u;
- for (const e in n)
+ const a = u;
+ for (const t in n)
if (
- 'exposes' !== e &&
- 'filename' !== e &&
- 'library' !== e &&
- 'name' !== e &&
- 'runtime' !== e &&
- 'runtimePlugins' !== e &&
- 'shareScope' !== e &&
- 'experiments' !== e
+ 'exposes' !== t &&
+ 'filename' !== t &&
+ 'library' !== t &&
+ 'name' !== t &&
+ 'runtime' !== t &&
+ 'runtimePlugins' !== t &&
+ 'shareScope' !== t &&
+ 'experiments' !== t
)
- return (m.errors = [{ params: { additionalProperty: e } }]), !1;
- if (o === u) {
+ return (m.errors = [{ params: { additionalProperty: t } }]), !1;
+ if (a === u) {
if (void 0 !== n.exposes) {
- const e = u;
- a(n.exposes, {
+ const t = u;
+ o(n.exposes, {
instancePath: s + '/exposes',
parentData: n,
parentDataProperty: 'exposes',
- rootData: l,
+ rootData: p,
}) ||
- ((p = null === p ? a.errors : p.concat(a.errors)),
- (u = p.length));
- var c = e === u;
+ ((l = null === l ? o.errors : l.concat(o.errors)),
+ (u = l.length));
+ var c = t === u;
} else c = !0;
if (c) {
if (void 0 !== n.filename) {
- let t = n.filename;
+ let e = n.filename;
const r = u;
if (u === r) {
- if ('string' != typeof t)
+ if ('string' != typeof e)
return (m.errors = [{ params: { type: 'string' } }]), !1;
- if (t.length < 1) return (m.errors = [{ params: {} }]), !1;
- if (t.includes('!') || !1 !== e.test(t))
+ if (e.length < 1) return (m.errors = [{ params: {} }]), !1;
+ if (e.includes('!') || !1 !== t.test(e))
return (m.errors = [{ params: {} }]), !1;
}
c = r === u;
} else c = !0;
if (c) {
if (void 0 !== n.library) {
- const e = u;
+ const t = u;
f(n.library, {
instancePath: s + '/library',
parentData: n,
parentDataProperty: 'library',
- rootData: l,
+ rootData: p,
}) ||
- ((p = null === p ? f.errors : p.concat(f.errors)),
- (u = p.length)),
- (c = e === u);
+ ((l = null === l ? f.errors : l.concat(f.errors)),
+ (u = l.length)),
+ (c = t === u);
} else c = !0;
if (c) {
if (void 0 !== n.name) {
- let e = n.name;
- const t = u;
- if (u === t) {
- if ('string' != typeof e)
+ let t = n.name;
+ const e = u;
+ if (u === e) {
+ if ('string' != typeof t)
return (m.errors = [{ params: { type: 'string' } }]), !1;
- if (e.length < 1) return (m.errors = [{ params: {} }]), !1;
+ if (t.length < 1) return (m.errors = [{ params: {} }]), !1;
}
- c = t === u;
+ c = e === u;
} else c = !0;
if (c) {
if (void 0 !== n.runtime) {
- let e = n.runtime;
- const t = u,
+ let t = n.runtime;
+ const e = u,
s = u;
- let o = !1;
- const a = u;
- if (!1 !== e) {
- const e = { params: { allowedValues: r.anyOf[0].enum } };
- null === p ? (p = [e]) : p.push(e), u++;
+ let a = !1;
+ const o = u;
+ if (!1 !== t) {
+ const t = { params: { allowedValues: r.anyOf[0].enum } };
+ null === l ? (l = [t]) : l.push(t), u++;
}
- var y = a === u;
- if (((o = o || y), !o)) {
- const t = u;
- if (u === t)
- if ('string' == typeof e) {
- if (e.length < 1) {
- const e = { params: {} };
- null === p ? (p = [e]) : p.push(e), u++;
+ var y = o === u;
+ if (((a = a || y), !a)) {
+ const e = u;
+ if (u === e)
+ if ('string' == typeof t) {
+ if (t.length < 1) {
+ const t = { params: {} };
+ null === l ? (l = [t]) : l.push(t), u++;
}
} else {
- const e = { params: { type: 'string' } };
- null === p ? (p = [e]) : p.push(e), u++;
+ const t = { params: { type: 'string' } };
+ null === l ? (l = [t]) : l.push(t), u++;
}
- (y = t === u), (o = o || y);
+ (y = e === u), (a = a || y);
}
- if (!o) {
- const e = { params: {} };
+ if (!a) {
+ const t = { params: {} };
return (
- null === p ? (p = [e]) : p.push(e),
+ null === l ? (l = [t]) : l.push(t),
u++,
- (m.errors = p),
+ (m.errors = l),
!1
);
}
(u = s),
- null !== p && (s ? (p.length = s) : (p = null)),
- (c = t === u);
+ null !== l && (s ? (l.length = s) : (l = null)),
+ (c = e === u);
} else c = !0;
if (c) {
if (void 0 !== n.runtimePlugins) {
- let e = n.runtimePlugins;
- const t = u;
+ let t = n.runtimePlugins;
+ const e = u;
if (u == u) {
- if (!Array.isArray(e))
+ if (!Array.isArray(t))
return (
(m.errors = [{ params: { type: 'array' } }]), !1
);
{
- const t = e.length;
- for (let r = 0; r < t; r++) {
- const t = u;
- if ('string' != typeof e[r])
+ const e = t.length;
+ for (let r = 0; r < e; r++) {
+ const e = u;
+ if ('string' != typeof t[r])
return (
(m.errors = [{ params: { type: 'string' } }]),
!1
);
- if (t !== u) break;
+ if (e !== u) break;
}
}
}
- c = t === u;
+ c = e === u;
} else c = !0;
if (c) {
if (void 0 !== n.shareScope) {
- let e = n.shareScope;
- const t = u;
- if (u === t) {
- if ('string' != typeof e)
+ let t = n.shareScope;
+ const e = u;
+ if (u === e) {
+ if ('string' != typeof t)
return (
(m.errors = [{ params: { type: 'string' } }]), !1
);
- if (e.length < 1)
+ if (t.length < 1)
return (m.errors = [{ params: {} }]), !1;
}
- c = t === u;
+ c = e === u;
} else c = !0;
if (c)
if (void 0 !== n.experiments) {
- let e = n.experiments;
+ let t = n.experiments;
const r = u;
if (u === r) {
- if (!e || 'object' != typeof e || Array.isArray(e))
+ if (!t || 'object' != typeof t || Array.isArray(t))
return (
(m.errors = [{ params: { type: 'object' } }]),
!1
);
{
const r = u;
- for (const t in e)
+ for (const e in t)
if (
- 'federationRuntime' !== t &&
- 'externalRuntime' !== t
+ 'asyncStartup' !== e &&
+ 'externalRuntime' !== e
)
return (
(m.errors = [
- { params: { additionalProperty: t } },
+ { params: { additionalProperty: e } },
]),
!1
);
if (r === u) {
- if (void 0 !== e.federationRuntime) {
- let r = e.federationRuntime;
- const n = u,
- s = u;
- let o = !1;
- const a = u;
- if ('boolean' != typeof r) {
- const e = { params: { type: 'boolean' } };
- null === p ? (p = [e]) : p.push(e), u++;
- }
- var g = a === u;
- if (((o = o || g), !o)) {
- const e = u;
- if ('hoisted' !== r) {
- const e = {
- params: {
- allowedValues:
- t.properties.experiments.properties
- .federationRuntime.anyOf[1].enum,
- },
- };
- null === p ? (p = [e]) : p.push(e), u++;
- }
- (g = e === u), (o = o || g);
- }
- if (!o) {
- const e = { params: {} };
+ if (void 0 !== t.asyncStartup) {
+ const e = u;
+ if ('boolean' != typeof t.asyncStartup)
return (
- null === p ? (p = [e]) : p.push(e),
- u++,
- (m.errors = p),
+ (m.errors = [
+ { params: { type: 'boolean' } },
+ ]),
!1
);
- }
- (u = s),
- null !== p &&
- (s ? (p.length = s) : (p = null));
- var d = n === u;
- } else d = !0;
- if (d)
- if (void 0 !== e.externalRuntime) {
- let r = e.externalRuntime;
+ var g = e === u;
+ } else g = !0;
+ if (g)
+ if (void 0 !== t.externalRuntime) {
+ let r = t.externalRuntime;
const n = u,
s = u;
- let o = !1;
- const a = u;
+ let a = !1;
+ const o = u;
if ('boolean' != typeof r) {
- const e = { params: { type: 'boolean' } };
- null === p ? (p = [e]) : p.push(e), u++;
+ const t = { params: { type: 'boolean' } };
+ null === l ? (l = [t]) : l.push(t), u++;
}
- var h = a === u;
- if (((o = o || h), !o)) {
- const e = u;
+ var d = o === u;
+ if (((a = a || d), !a)) {
+ const t = u;
if ('provide' !== r) {
- const e = {
+ const t = {
params: {
allowedValues:
- t.properties.experiments
+ e.properties.experiments
.properties.externalRuntime
.anyOf[1].enum,
},
};
- null === p ? (p = [e]) : p.push(e), u++;
+ null === l ? (l = [t]) : l.push(t), u++;
}
- (h = e === u), (o = o || h);
+ (d = t === u), (a = a || d);
}
- if (!o) {
- const e = { params: {} };
+ if (!a) {
+ const t = { params: {} };
return (
- null === p ? (p = [e]) : p.push(e),
+ null === l ? (l = [t]) : l.push(t),
u++,
- (m.errors = p),
+ (m.errors = l),
!1
);
}
(u = s),
- null !== p &&
- (s ? (p.length = s) : (p = null)),
- (d = n === u);
- } else d = !0;
+ null !== l &&
+ (s ? (l.length = s) : (l = null)),
+ (g = n === u);
+ } else g = !0;
}
}
}
@@ -1174,5 +1144,5 @@ function m(
}
}
}
- return (m.errors = p), 0 === u;
+ return (m.errors = l), 0 === u;
}
diff --git a/packages/enhanced/src/schemas/container/ContainerPlugin.json b/packages/enhanced/src/schemas/container/ContainerPlugin.json
index 671b32a38e4..85966159285 100644
--- a/packages/enhanced/src/schemas/container/ContainerPlugin.json
+++ b/packages/enhanced/src/schemas/container/ContainerPlugin.json
@@ -302,8 +302,9 @@
"experiments": {
"type": "object",
"properties": {
- "federationRuntime": {
- "anyOf": [{ "type": "boolean" }, { "enum": ["hoisted"] }]
+ "asyncStartup": {
+ "description": "Enable async startup for the container",
+ "type": "boolean"
},
"externalRuntime": {
"anyOf": [{ "type": "boolean" }, { "enum": ["provide"] }]
diff --git a/packages/enhanced/src/schemas/container/ContainerPlugin.ts b/packages/enhanced/src/schemas/container/ContainerPlugin.ts
index 3676e30fbf6..bcb49871786 100644
--- a/packages/enhanced/src/schemas/container/ContainerPlugin.ts
+++ b/packages/enhanced/src/schemas/container/ContainerPlugin.ts
@@ -327,15 +327,9 @@ export default {
experiments: {
type: 'object',
properties: {
- federationRuntime: {
- anyOf: [
- {
- type: 'boolean',
- },
- {
- enum: ['hoisted'],
- },
- ],
+ asyncStartup: {
+ description: 'Enable async startup for the container',
+ type: 'boolean',
},
externalRuntime: {
anyOf: [
diff --git a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.d.ts b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.d.ts
index c278b27e3ce..2c7636fbc0b 100644
--- a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.d.ts
+++ b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.d.ts
@@ -1,8 +1,3 @@
-/*
- * This file was automatically generated.
- * DO NOT MODIFY BY HAND.
- * Run `yarn special-lint-fix` to update
- */
declare const check: (
options: import('@module-federation/sdk').moduleFederationPlugin.ModuleFederationPluginOptions,
) => boolean;
diff --git a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.ts b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.ts
index 431631aaf66..9a0d37bcef7 100644
--- a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.ts
+++ b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.check.ts
@@ -360,12 +360,7 @@ const t = {
experiments: {
type: 'object',
properties: {
- federationRuntime: {
- anyOf: [
- { type: 'boolean', enum: [!1] },
- { type: 'string', enum: ['hoisted'] },
- ],
- },
+ asyncStartup: { type: 'boolean' },
externalRuntime: { type: 'boolean' },
provideExternalRuntime: { type: 'boolean' },
},
@@ -455,9 +450,9 @@ function a(
if (void 0 !== e.import) {
let r = e.import;
const n = l,
- m = l;
- let y = !1;
- const u = l;
+ y = l;
+ let c = !1;
+ const m = l;
if (l == l)
if ('string' == typeof r) {
if (r.length < 1) {
@@ -468,8 +463,8 @@ function a(
const e = { params: { type: 'string' } };
null === i ? (i = [e]) : i.push(e), l++;
}
- var p = u === l;
- if (((y = y || p), !y)) {
+ var p = m === l;
+ if (((c = c || p), !c)) {
const n = l;
o(r, {
instancePath: t + '/import',
@@ -480,15 +475,15 @@ function a(
((i = null === i ? o.errors : i.concat(o.errors)),
(l = i.length)),
(p = n === l),
- (y = y || p);
+ (c = c || p);
}
- if (!y) {
+ if (!c) {
const e = { params: {} };
return (
null === i ? (i = [e]) : i.push(e), l++, (a.errors = i), !1
);
}
- (l = m), null !== i && (m ? (i.length = m) : (i = null));
+ (l = y), null !== i && (y ? (i.length = y) : (i = null));
var f = n === l;
} else f = !0;
if (f)
@@ -520,18 +515,18 @@ function i(
return (i.errors = [{ params: { type: 'object' } }]), !1;
for (const r in e) {
let n = e[r];
- const m = p,
- y = p;
- let u = !1;
- const c = p;
+ const y = p,
+ c = p;
+ let m = !1;
+ const u = p;
a(n, {
instancePath: t + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
parentData: e,
parentDataProperty: r,
rootData: s,
}) || ((l = null === l ? a.errors : l.concat(a.errors)), (p = l.length));
- var f = c === p;
- if (((u = u || f), !u)) {
+ var f = u === p;
+ if (((m = m || f), !m)) {
const a = p;
if (p == p)
if ('string' == typeof n) {
@@ -543,7 +538,7 @@ function i(
const e = { params: { type: 'string' } };
null === l ? (l = [e]) : l.push(e), p++;
}
- if (((f = a === p), (u = u || f), !u)) {
+ if (((f = a === p), (m = m || f), !m)) {
const a = p;
o(n, {
instancePath: t + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
@@ -553,14 +548,14 @@ function i(
}) ||
((l = null === l ? o.errors : l.concat(o.errors)), (p = l.length)),
(f = a === p),
- (u = u || f);
+ (m = m || f);
}
}
- if (!u) {
+ if (!m) {
const e = { params: {} };
return null === l ? (l = [e]) : l.push(e), p++, (i.errors = l), !1;
}
- if (((p = y), null !== l && (y ? (l.length = y) : (l = null)), m !== p))
+ if (((p = c), null !== l && (c ? (l.length = c) : (l = null)), y !== p))
break;
}
}
@@ -579,8 +574,8 @@ function l(
a = 0;
const p = a;
let f = !1;
- const m = a;
- if (a === m)
+ const y = a;
+ if (a === y)
if (Array.isArray(e)) {
const r = e.length;
for (let n = 0; n < r; n++) {
@@ -588,7 +583,7 @@ function l(
const l = a,
p = a;
let f = !1;
- const m = a;
+ const y = a;
if (a == a)
if ('string' == typeof r) {
if (r.length < 1) {
@@ -599,8 +594,8 @@ function l(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var y = m === a;
- if (((f = f || y), !f)) {
+ var c = y === a;
+ if (((f = f || c), !f)) {
const l = a;
i(r, {
instancePath: t + '/' + n,
@@ -609,8 +604,8 @@ function l(
rootData: s,
}) ||
((o = null === o ? i.errors : o.concat(i.errors)), (a = o.length)),
- (y = l === a),
- (f = f || y);
+ (c = l === a),
+ (f = f || c);
}
if (f) (a = p), null !== o && (p ? (o.length = p) : (o = null));
else {
@@ -623,8 +618,8 @@ function l(
const e = { params: { type: 'array' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var u = m === a;
- if (((f = f || u), !f)) {
+ var m = y === a;
+ if (((f = f || m), !f)) {
const l = a;
i(e, {
instancePath: t,
@@ -632,8 +627,8 @@ function l(
parentDataProperty: n,
rootData: s,
}) || ((o = null === o ? i.errors : o.concat(i.errors)), (a = o.length)),
- (u = l === a),
- (f = f || u);
+ (m = l === a),
+ (f = f || m);
}
if (!f) {
const e = { params: {} };
@@ -691,8 +686,8 @@ function f(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var m = p === a;
- if (((l = l || m), !l)) {
+ var y = p === a;
+ if (((l = l || y), !l)) {
const t = a;
if (a == a)
if (e && 'object' == typeof e && !Array.isArray(e)) {
@@ -715,35 +710,35 @@ function f(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var y = t === a;
- } else y = !0;
- if (y) {
+ var c = t === a;
+ } else c = !0;
+ if (c) {
if (void 0 !== e.commonjs) {
const t = a;
if ('string' != typeof e.commonjs) {
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- y = t === a;
- } else y = !0;
- if (y) {
+ c = t === a;
+ } else c = !0;
+ if (c) {
if (void 0 !== e.commonjs2) {
const t = a;
if ('string' != typeof e.commonjs2) {
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- y = t === a;
- } else y = !0;
- if (y)
+ c = t === a;
+ } else c = !0;
+ if (c)
if (void 0 !== e.root) {
const t = a;
if ('string' != typeof e.root) {
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- y = t === a;
- } else y = !0;
+ c = t === a;
+ } else c = !0;
}
}
}
@@ -751,7 +746,7 @@ function f(
const e = { params: { type: 'object' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- (m = t === a), (l = l || m);
+ (y = t === a), (l = l || y);
}
if (!l) {
const e = { params: {} };
@@ -764,7 +759,7 @@ function f(
0 === a
);
}
-function m(
+function y(
e,
{
instancePath: t = '',
@@ -843,9 +838,9 @@ function m(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var y = r === a;
- } else y = !0;
- if (y) {
+ var c = r === a;
+ } else c = !0;
+ if (c) {
if (void 0 !== e.commonjs) {
let t = e.commonjs;
const r = a;
@@ -859,9 +854,9 @@ function m(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- y = r === a;
- } else y = !0;
- if (y)
+ c = r === a;
+ } else c = !0;
+ if (c)
if (void 0 !== e.root) {
let t = e.root;
const r = a,
@@ -890,8 +885,8 @@ function m(
const e = { params: { type: 'array' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var u = i === a;
- if (((s = s || u), !s)) {
+ var m = i === a;
+ if (((s = s || m), !s)) {
const e = a;
if (a === e)
if ('string' == typeof t) {
@@ -903,7 +898,7 @@ function m(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- (u = e === a), (s = s || u);
+ (m = e === a), (s = s || m);
}
if (s)
(a = n), null !== o && (n ? (o.length = n) : (o = null));
@@ -911,8 +906,8 @@ function m(
const e = { params: {} };
null === o ? (o = [e]) : o.push(e), a++;
}
- y = r === a;
- } else y = !0;
+ c = r === a;
+ } else c = !0;
}
}
} else {
@@ -924,16 +919,16 @@ function m(
}
if (!l) {
const e = { params: {} };
- return null === o ? (o = [e]) : o.push(e), a++, (m.errors = o), !1;
+ return null === o ? (o = [e]) : o.push(e), a++, (y.errors = o), !1;
}
return (
(a = i),
null !== o && (i ? (o.length = i) : (o = null)),
- (m.errors = o),
+ (y.errors = o),
0 === a
);
}
-function y(
+function c(
e,
{
instancePath: t = '',
@@ -946,11 +941,11 @@ function y(
a = 0;
if (0 === a) {
if (!e || 'object' != typeof e || Array.isArray(e))
- return (y.errors = [{ params: { type: 'object' } }]), !1;
+ return (c.errors = [{ params: { type: 'object' } }]), !1;
{
let r;
if (void 0 === e.type && (r = 'type'))
- return (y.errors = [{ params: { missingProperty: r } }]), !1;
+ return (c.errors = [{ params: { missingProperty: r } }]), !1;
{
const r = a;
for (const t in e)
@@ -962,15 +957,15 @@ function y(
'type' !== t &&
'umdNamedDefine' !== t
)
- return (y.errors = [{ params: { additionalProperty: t } }]), !1;
+ return (c.errors = [{ params: { additionalProperty: t } }]), !1;
if (r === a) {
if (void 0 !== e.amdContainer) {
let t = e.amdContainer;
const r = a;
if (a == a) {
if ('string' != typeof t)
- return (y.errors = [{ params: { type: 'string' } }]), !1;
- if (t.length < 1) return (y.errors = [{ params: {} }]), !1;
+ return (c.errors = [{ params: { type: 'string' } }]), !1;
+ if (t.length < 1) return (c.errors = [{ params: {} }]), !1;
}
var i = r === a;
} else i = !0;
@@ -1034,7 +1029,7 @@ function y(
if (!s) {
const e = { params: {} };
return (
- null === o ? (o = [e]) : o.push(e), a++, (y.errors = o), !1
+ null === o ? (o = [e]) : o.push(e), a++, (c.errors = o), !1
);
}
(a = n),
@@ -1044,13 +1039,13 @@ function y(
if (i) {
if (void 0 !== e.name) {
const r = a;
- m(e.name, {
+ y(e.name, {
instancePath: t + '/name',
parentData: e,
parentDataProperty: 'name',
rootData: s,
}) ||
- ((o = null === o ? m.errors : o.concat(m.errors)),
+ ((o = null === o ? y.errors : o.concat(y.errors)),
(a = o.length)),
(i = r === a);
} else i = !0;
@@ -1084,21 +1079,21 @@ function y(
const e = { params: { allowedValues: p.anyOf[0].enum } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var u = l === a;
- if (((s = s || u), !s)) {
+ var m = l === a;
+ if (((s = s || m), !s)) {
const e = a;
if ('string' != typeof t) {
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- (u = e === a), (s = s || u);
+ (m = e === a), (s = s || m);
}
if (!s) {
const e = { params: {} };
return (
null === o ? (o = [e]) : o.push(e),
a++,
- (y.errors = o),
+ (c.errors = o),
!1
);
}
@@ -1111,7 +1106,7 @@ function y(
const t = a;
if ('boolean' != typeof e.umdNamedDefine)
return (
- (y.errors = [{ params: { type: 'boolean' } }]), !1
+ (c.errors = [{ params: { type: 'boolean' } }]), !1
);
i = t === a;
} else i = !0;
@@ -1123,9 +1118,9 @@ function y(
}
}
}
- return (y.errors = o), 0 === a;
+ return (c.errors = o), 0 === a;
}
-function u(
+function m(
e,
{
instancePath: t = '',
@@ -1135,21 +1130,21 @@ function u(
} = {},
) {
if (!Array.isArray(e))
- return (u.errors = [{ params: { type: 'array' } }]), !1;
+ return (m.errors = [{ params: { type: 'array' } }]), !1;
{
const t = e.length;
for (let r = 0; r < t; r++) {
let t = e[r];
const n = 0;
if ('string' != typeof t)
- return (u.errors = [{ params: { type: 'string' } }]), !1;
- if (t.length < 1) return (u.errors = [{ params: {} }]), !1;
+ return (m.errors = [{ params: { type: 'string' } }]), !1;
+ if (t.length < 1) return (m.errors = [{ params: {} }]), !1;
if (0 !== n) break;
}
}
- return (u.errors = null), !0;
+ return (m.errors = null), !0;
}
-function c(
+function u(
e,
{
instancePath: t = '',
@@ -1162,23 +1157,23 @@ function c(
a = 0;
if (0 === a) {
if (!e || 'object' != typeof e || Array.isArray(e))
- return (c.errors = [{ params: { type: 'object' } }]), !1;
+ return (u.errors = [{ params: { type: 'object' } }]), !1;
{
let r;
if (void 0 === e.external && (r = 'external'))
- return (c.errors = [{ params: { missingProperty: r } }]), !1;
+ return (u.errors = [{ params: { missingProperty: r } }]), !1;
{
const r = a;
for (const t in e)
if ('external' !== t && 'shareScope' !== t)
- return (c.errors = [{ params: { additionalProperty: t } }]), !1;
+ return (u.errors = [{ params: { additionalProperty: t } }]), !1;
if (r === a) {
if (void 0 !== e.external) {
let r = e.external;
const n = a,
p = a;
let f = !1;
- const m = a;
+ const y = a;
if (a == a)
if ('string' == typeof r) {
if (r.length < 1) {
@@ -1189,16 +1184,16 @@ function c(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var i = m === a;
+ var i = y === a;
if (((f = f || i), !f)) {
const n = a;
- u(r, {
+ m(r, {
instancePath: t + '/external',
parentData: e,
parentDataProperty: 'external',
rootData: s,
}) ||
- ((o = null === o ? u.errors : o.concat(u.errors)),
+ ((o = null === o ? m.errors : o.concat(m.errors)),
(a = o.length)),
(i = n === a),
(f = f || i);
@@ -1206,7 +1201,7 @@ function c(
if (!f) {
const e = { params: {} };
return (
- null === o ? (o = [e]) : o.push(e), a++, (c.errors = o), !1
+ null === o ? (o = [e]) : o.push(e), a++, (u.errors = o), !1
);
}
(a = p), null !== o && (p ? (o.length = p) : (o = null));
@@ -1218,8 +1213,8 @@ function c(
const r = a;
if (a === r) {
if ('string' != typeof t)
- return (c.errors = [{ params: { type: 'string' } }]), !1;
- if (t.length < 1) return (c.errors = [{ params: {} }]), !1;
+ return (u.errors = [{ params: { type: 'string' } }]), !1;
+ if (t.length < 1) return (u.errors = [{ params: {} }]), !1;
}
l = r === a;
} else l = !0;
@@ -1227,7 +1222,7 @@ function c(
}
}
}
- return (c.errors = o), 0 === a;
+ return (u.errors = o), 0 === a;
}
function d(
e,
@@ -1248,14 +1243,14 @@ function d(
const l = a,
p = a;
let f = !1;
- const m = a;
- c(n, {
+ const y = a;
+ u(n, {
instancePath: t + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
parentData: e,
parentDataProperty: r,
rootData: s,
- }) || ((o = null === o ? c.errors : o.concat(c.errors)), (a = o.length));
- var i = m === a;
+ }) || ((o = null === o ? u.errors : o.concat(u.errors)), (a = o.length));
+ var i = y === a;
if (((f = f || i), !f)) {
const l = a;
if (a == a)
@@ -1270,13 +1265,13 @@ function d(
}
if (((i = l === a), (f = f || i), !f)) {
const l = a;
- u(n, {
+ m(n, {
instancePath: t + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
parentData: e,
parentDataProperty: r,
rootData: s,
}) ||
- ((o = null === o ? u.errors : o.concat(u.errors)), (a = o.length)),
+ ((o = null === o ? m.errors : o.concat(m.errors)), (a = o.length)),
(i = l === a),
(f = f || i);
}
@@ -1313,7 +1308,7 @@ function g(
const i = a,
l = a;
let p = !1;
- const m = a;
+ const y = a;
if (a == a)
if ('string' == typeof r) {
if (r.length < 1) {
@@ -1324,7 +1319,7 @@ function g(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var f = m === a;
+ var f = y === a;
if (((p = p || f), !p)) {
const i = a;
d(r, {
@@ -1348,8 +1343,8 @@ function g(
const e = { params: { type: 'array' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var m = p === a;
- if (((l = l || m), !l)) {
+ var y = p === a;
+ if (((l = l || y), !l)) {
const i = a;
d(e, {
instancePath: t,
@@ -1357,8 +1352,8 @@ function g(
parentDataProperty: n,
rootData: s,
}) || ((o = null === o ? d.errors : o.concat(d.errors)), (a = o.length)),
- (m = i === a),
- (l = l || m);
+ (y = i === a),
+ (l = l || y);
}
if (!l) {
const e = { params: {} };
@@ -1572,14 +1567,14 @@ function b(
};
null === a ? (a = [e]) : a.push(e), i++;
}
- var m = o === i;
- if (((s = s || m), !s)) {
+ var y = o === i;
+ if (((s = s || y), !s)) {
const e = i;
if ('string' != typeof t) {
const e = { params: { type: 'string' } };
null === a ? (a = [e]) : a.push(e), i++;
}
- (m = e === i), (s = s || m);
+ (y = e === i), (s = s || y);
}
if (!s) {
const e = { params: {} };
@@ -1626,14 +1621,14 @@ function v(
const l = a,
p = a;
let f = !1;
- const m = a;
+ const y = a;
b(n, {
instancePath: t + '/' + r.replace(/~/g, '~0').replace(/\//g, '~1'),
parentData: e,
parentDataProperty: r,
rootData: s,
}) || ((o = null === o ? b.errors : o.concat(b.errors)), (a = o.length));
- var i = m === a;
+ var i = y === a;
if (((f = f || i), !f)) {
const e = a;
if (a == a)
@@ -1680,7 +1675,7 @@ function P(
const i = a,
l = a;
let p = !1;
- const m = a;
+ const y = a;
if (a == a)
if ('string' == typeof r) {
if (r.length < 1) {
@@ -1691,7 +1686,7 @@ function P(
const e = { params: { type: 'string' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var f = m === a;
+ var f = y === a;
if (((p = p || f), !p)) {
const i = a;
v(r, {
@@ -1715,8 +1710,8 @@ function P(
const e = { params: { type: 'array' } };
null === o ? (o = [e]) : o.push(e), a++;
}
- var m = p === a;
- if (((l = l || m), !l)) {
+ var y = p === a;
+ if (((l = l || y), !l)) {
const i = a;
v(e, {
instancePath: t,
@@ -1724,8 +1719,8 @@ function P(
parentDataProperty: n,
rootData: s,
}) || ((o = null === o ? v.errors : o.concat(v.errors)), (a = o.length)),
- (m = i === a),
- (l = l || m);
+ (y = i === a),
+ (l = l || y);
}
if (!l) {
const e = { params: {} };
@@ -1747,166 +1742,166 @@ function j(
rootData: f = o,
} = {},
) {
- let m = null,
- u = 0;
- if (0 === u) {
+ let y = null,
+ m = 0;
+ if (0 === m) {
if (!o || 'object' != typeof o || Array.isArray(o))
return (j.errors = [{ params: { type: 'object' } }]), !1;
{
- const i = u;
+ const i = m;
for (const e in o)
if (!s.call(t.properties, e))
return (j.errors = [{ params: { additionalProperty: e } }]), !1;
- if (i === u) {
+ if (i === m) {
if (void 0 !== o.dataPrefetch) {
- const e = u;
+ const e = m;
if ('boolean' != typeof o.dataPrefetch)
return (j.errors = [{ params: { type: 'boolean' } }]), !1;
- var c = e === u;
- } else c = !0;
- if (c) {
+ var u = e === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.exposes) {
- const e = u;
+ const e = m;
l(o.exposes, {
instancePath: a + '/exposes',
parentData: o,
parentDataProperty: 'exposes',
rootData: f,
}) ||
- ((m = null === m ? l.errors : m.concat(l.errors)),
- (u = m.length)),
- (c = e === u);
- } else c = !0;
- if (c) {
+ ((y = null === y ? l.errors : y.concat(l.errors)),
+ (m = y.length)),
+ (u = e === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.filename) {
let t = o.filename;
- const r = u;
- if (u === r) {
+ const r = m;
+ if (m === r) {
if ('string' != typeof t)
return (j.errors = [{ params: { type: 'string' } }]), !1;
if (t.includes('!') || !1 !== e.test(t))
return (j.errors = [{ params: {} }]), !1;
}
- c = r === u;
- } else c = !0;
- if (c) {
+ u = r === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.getPublicPath) {
- const e = u;
+ const e = m;
if ('string' != typeof o.getPublicPath)
return (j.errors = [{ params: { type: 'string' } }]), !1;
- c = e === u;
- } else c = !0;
- if (c) {
+ u = e === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.implementation) {
- const e = u;
+ const e = m;
if ('string' != typeof o.implementation)
return (j.errors = [{ params: { type: 'string' } }]), !1;
- c = e === u;
- } else c = !0;
- if (c) {
+ u = e === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.library) {
- const e = u;
- y(o.library, {
+ const e = m;
+ c(o.library, {
instancePath: a + '/library',
parentData: o,
parentDataProperty: 'library',
rootData: f,
}) ||
- ((m = null === m ? y.errors : m.concat(y.errors)),
- (u = m.length)),
- (c = e === u);
- } else c = !0;
- if (c) {
+ ((y = null === y ? c.errors : y.concat(c.errors)),
+ (m = y.length)),
+ (u = e === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.manifest) {
let e = o.manifest;
- const t = u,
- r = u;
+ const t = m,
+ r = m;
let n = !1;
- const s = u;
+ const s = m;
if ('boolean' != typeof e) {
const e = { params: { type: 'boolean' } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- var d = s === u;
+ var d = s === m;
if (((n = n || d), !n)) {
- const t = u;
- if (u === t)
+ const t = m;
+ if (m === t)
if (e && 'object' == typeof e && !Array.isArray(e)) {
if (void 0 !== e.filePath) {
- const t = u;
+ const t = m;
if ('string' != typeof e.filePath) {
const e = { params: { type: 'string' } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- var h = t === u;
+ var h = t === m;
} else h = !0;
if (h) {
if (void 0 !== e.disableAssetsAnalyze) {
- const t = u;
+ const t = m;
if (
'boolean' != typeof e.disableAssetsAnalyze
) {
const e = { params: { type: 'boolean' } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- h = t === u;
+ h = t === m;
} else h = !0;
if (h) {
if (void 0 !== e.fileName) {
- const t = u;
+ const t = m;
if ('string' != typeof e.fileName) {
const e = { params: { type: 'string' } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- h = t === u;
+ h = t === m;
} else h = !0;
if (h)
if (void 0 !== e.additionalData) {
- const t = u;
+ const t = m;
if ('string' != typeof e.additionalData) {
const e = { params: { type: 'string' } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- h = t === u;
+ h = t === m;
} else h = !0;
}
}
} else {
const e = { params: { type: 'object' } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- (d = t === u), (n = n || d);
+ (d = t === m), (n = n || d);
}
if (!n) {
const e = { params: {} };
return (
- null === m ? (m = [e]) : m.push(e),
- u++,
- (j.errors = m),
+ null === y ? (y = [e]) : y.push(e),
+ m++,
+ (j.errors = y),
!1
);
}
- (u = r),
- null !== m && (r ? (m.length = r) : (m = null)),
- (c = t === u);
- } else c = !0;
- if (c) {
+ (m = r),
+ null !== y && (r ? (y.length = r) : (y = null)),
+ (u = t === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.name) {
- const e = u;
+ const e = m;
if ('string' != typeof o.name)
return (
(j.errors = [{ params: { type: 'string' } }]), !1
);
- c = e === u;
- } else c = !0;
- if (c) {
+ u = e === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.remoteType) {
let e = o.remoteType;
- const t = u,
- n = u;
+ const t = m,
+ n = m;
let s = !1,
a = null;
- const i = u;
+ const i = m;
if (
'var' !== e &&
'module' !== e &&
@@ -1932,80 +1927,80 @@ function j(
'node-commonjs' !== e
) {
const e = { params: { allowedValues: r.enum } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- if ((i === u && ((s = !0), (a = 0)), !s)) {
+ if ((i === m && ((s = !0), (a = 0)), !s)) {
const e = { params: { passingSchemas: a } };
return (
- null === m ? (m = [e]) : m.push(e),
- u++,
- (j.errors = m),
+ null === y ? (y = [e]) : y.push(e),
+ m++,
+ (j.errors = y),
!1
);
}
- (u = n),
- null !== m && (n ? (m.length = n) : (m = null)),
- (c = t === u);
- } else c = !0;
- if (c) {
+ (m = n),
+ null !== y && (n ? (y.length = n) : (y = null)),
+ (u = t === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.remotes) {
- const e = u;
+ const e = m;
g(o.remotes, {
instancePath: a + '/remotes',
parentData: o,
parentDataProperty: 'remotes',
rootData: f,
}) ||
- ((m = null === m ? g.errors : m.concat(g.errors)),
- (u = m.length)),
- (c = e === u);
- } else c = !0;
- if (c) {
+ ((y = null === y ? g.errors : y.concat(g.errors)),
+ (m = y.length)),
+ (u = e === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.runtime) {
let e = o.runtime;
- const t = u,
- r = u;
+ const t = m,
+ r = m;
let s = !1;
- const a = u;
+ const a = m;
if (!1 !== e) {
const e = {
params: { allowedValues: n.anyOf[0].enum },
};
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- var b = a === u;
+ var b = a === m;
if (((s = s || b), !s)) {
- const t = u;
- if (u === t)
+ const t = m;
+ if (m === t)
if ('string' == typeof e) {
if (e.length < 1) {
const e = { params: {} };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
} else {
const e = { params: { type: 'string' } };
- null === m ? (m = [e]) : m.push(e), u++;
+ null === y ? (y = [e]) : y.push(e), m++;
}
- (b = t === u), (s = s || b);
+ (b = t === m), (s = s || b);
}
if (!s) {
const e = { params: {} };
return (
- null === m ? (m = [e]) : m.push(e),
- u++,
- (j.errors = m),
+ null === y ? (y = [e]) : y.push(e),
+ m++,
+ (j.errors = y),
!1
);
}
- (u = r),
- null !== m && (r ? (m.length = r) : (m = null)),
- (c = t === u);
- } else c = !0;
- if (c) {
+ (m = r),
+ null !== y && (r ? (y.length = r) : (y = null)),
+ (u = t === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.runtimePlugins) {
let e = o.runtimePlugins;
- const t = u;
- if (u === t) {
+ const t = m;
+ if (m === t) {
if (!Array.isArray(e))
return (
(j.errors = [
@@ -2016,7 +2011,7 @@ function j(
{
const t = e.length;
for (let r = 0; r < t; r++) {
- const t = u;
+ const t = m;
if ('string' != typeof e[r])
return (
(j.errors = [
@@ -2024,17 +2019,17 @@ function j(
]),
!1
);
- if (t !== u) break;
+ if (t !== m) break;
}
}
}
- c = t === u;
- } else c = !0;
- if (c) {
+ u = t === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.shareScope) {
let e = o.shareScope;
- const t = u;
- if (u === t) {
+ const t = m;
+ if (m === t) {
if ('string' != typeof e)
return (
(j.errors = [
@@ -2045,12 +2040,12 @@ function j(
if (e.length < 1)
return (j.errors = [{ params: {} }]), !1;
}
- c = t === u;
- } else c = !0;
- if (c) {
+ u = t === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.shareStrategy) {
let e = o.shareStrategy;
- const r = u;
+ const r = m;
if (
'version-first' !== e &&
'loaded-first' !== e
@@ -2066,27 +2061,27 @@ function j(
]),
!1
);
- c = r === u;
- } else c = !0;
- if (c) {
+ u = r === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.shared) {
- const e = u;
+ const e = m;
P(o.shared, {
instancePath: a + '/shared',
parentData: o,
parentDataProperty: 'shared',
rootData: f,
}) ||
- ((m =
- null === m
+ ((y =
+ null === y
? P.errors
- : m.concat(P.errors)),
- (u = m.length)),
- (c = e === u);
- } else c = !0;
- if (c) {
+ : y.concat(P.errors)),
+ (m = y.length)),
+ (u = e === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.virtualRuntimeEntry) {
- const e = u;
+ const e = m;
if (
'boolean' !=
typeof o.virtualRuntimeEntry
@@ -2097,26 +2092,26 @@ function j(
]),
!1
);
- c = e === u;
- } else c = !0;
- if (c) {
+ u = e === m;
+ } else u = !0;
+ if (u) {
if (void 0 !== o.dev) {
let e = o.dev;
- const t = u,
- r = u;
+ const t = m,
+ r = m;
let n = !1;
- const s = u;
+ const s = m;
if ('boolean' != typeof e) {
const e = {
params: { type: 'boolean' },
};
- null === m ? (m = [e]) : m.push(e),
- u++;
+ null === y ? (y = [e]) : y.push(e),
+ m++;
}
- var v = s === u;
+ var v = s === m;
if (((n = n || v), !n)) {
- const t = u;
- if (u === t)
+ const t = m;
+ if (m === t)
if (
e &&
'object' == typeof e &&
@@ -2125,7 +2120,7 @@ function j(
if (
void 0 !== e.disableLiveReload
) {
- const t = u;
+ const t = m;
if (
'boolean' !=
typeof e.disableLiveReload
@@ -2135,19 +2130,19 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- var D = t === u;
+ var D = t === m;
} else D = !0;
if (D) {
if (
void 0 !==
e.disableHotTypesReload
) {
- const t = u;
+ const t = m;
if (
'boolean' !=
typeof e.disableHotTypesReload
@@ -2157,19 +2152,19 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- D = t === u;
+ D = t === m;
} else D = !0;
if (D)
if (
void 0 !==
e.disableDynamicRemoteTypeHints
) {
- const t = u;
+ const t = m;
if (
'boolean' !=
typeof e.disableDynamicRemoteTypeHints
@@ -2179,61 +2174,61 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- D = t === u;
+ D = t === m;
} else D = !0;
}
} else {
const e = {
params: { type: 'object' },
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- (v = t === u), (n = n || v);
+ (v = t === m), (n = n || v);
}
if (!n) {
const e = { params: {} };
return (
- null === m
- ? (m = [e])
- : m.push(e),
- u++,
- (j.errors = m),
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++,
+ (j.errors = y),
!1
);
}
- (u = r),
- null !== m &&
- (r ? (m.length = r) : (m = null)),
- (c = t === u);
- } else c = !0;
- if (c) {
+ (m = r),
+ null !== y &&
+ (r ? (y.length = r) : (y = null)),
+ (u = t === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.dts) {
let e = o.dts;
- const r = u,
- n = u;
+ const r = m,
+ n = m;
let s = !1;
- const a = u;
+ const a = m;
if ('boolean' != typeof e) {
const e = {
params: { type: 'boolean' },
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- var A = a === u;
+ var A = a === m;
if (((s = s || A), !s)) {
- const r = u;
- if (u === r)
+ const r = m;
+ if (m === r)
if (
e &&
'object' == typeof e &&
@@ -2243,25 +2238,25 @@ function j(
void 0 !== e.generateTypes
) {
let r = e.generateTypes;
- const n = u,
- s = u;
+ const n = m,
+ s = m;
let o = !1;
- const a = u;
+ const a = m;
if ('boolean' != typeof r) {
const e = {
params: {
type: 'boolean',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- var x = a === u;
+ var x = a === m;
if (((o = o || x), !o)) {
- const e = u;
- if (u === e)
+ const e = m;
+ if (m === e)
if (
r &&
'object' ==
@@ -2272,7 +2267,7 @@ function j(
void 0 !==
r.tsConfigPath
) {
- const e = u;
+ const e = m;
if (
'string' !=
typeof r.tsConfigPath
@@ -2282,19 +2277,19 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- var O = e === u;
+ var O = e === m;
} else O = !0;
if (O) {
if (
void 0 !==
r.typesFolder
) {
- const e = u;
+ const e = m;
if (
'string' !=
typeof r.typesFolder
@@ -2304,19 +2299,19 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- O = e === u;
+ O = e === m;
} else O = !0;
if (O) {
if (
void 0 !==
r.compiledTypesFolder
) {
- const e = u;
+ const e = m;
if (
'string' !=
typeof r.compiledTypesFolder
@@ -2326,19 +2321,19 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- O = e === u;
+ O = e === m;
} else O = !0;
if (O) {
if (
void 0 !==
r.deleteTypesFolder
) {
- const e = u;
+ const e = m;
if (
'boolean' !=
typeof r.deleteTypesFolder
@@ -2348,16 +2343,16 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [
+ null === y
+ ? (y = [
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
- O = e === u;
+ O = e === m;
} else O = !0;
if (O) {
if (
@@ -2366,8 +2361,8 @@ function j(
) {
let e =
r.additionalFilesToCompile;
- const t = u;
- if (u === t)
+ const t = m;
+ if (m === t)
if (
Array.isArray(
e,
@@ -2381,7 +2376,7 @@ function j(
r++
) {
const t =
- u;
+ m;
if (
'string' !=
typeof e[
@@ -2396,19 +2391,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
if (
t !==
- u
+ m
)
break;
}
@@ -2421,17 +2416,17 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
- O = t === u;
+ O = t === m;
} else O = !0;
if (O) {
if (
@@ -2439,7 +2434,7 @@ function j(
r.compileInChildProcess
) {
const e =
- u;
+ m;
if (
'boolean' !=
typeof r.compileInChildProcess
@@ -2452,18 +2447,18 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
O =
- e === u;
+ e === m;
} else
O = !0;
if (O) {
@@ -2474,7 +2469,7 @@ function j(
let e =
r.compilerInstance;
const n =
- u;
+ m;
if (
'tsc' !==
e &&
@@ -2499,19 +2494,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
O =
n ===
- u;
+ m;
} else
O = !0;
if (O) {
@@ -2520,7 +2515,7 @@ function j(
r.generateAPITypes
) {
const e =
- u;
+ m;
if (
'boolean' !=
typeof r.generateAPITypes
@@ -2533,19 +2528,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
O =
e ===
- u;
+ m;
} else
O =
!0;
@@ -2555,7 +2550,7 @@ function j(
r.extractThirdParty
) {
const e =
- u;
+ m;
if (
'boolean' !=
typeof r.extractThirdParty
@@ -2568,19 +2563,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
O =
e ===
- u;
+ m;
} else
O =
!0;
@@ -2592,7 +2587,7 @@ function j(
r.extractRemoteTypes
) {
const e =
- u;
+ m;
if (
'boolean' !=
typeof r.extractRemoteTypes
@@ -2605,19 +2600,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
O =
e ===
- u;
+ m;
} else
O =
!0;
@@ -2629,7 +2624,7 @@ function j(
r.abortOnError
) {
const e =
- u;
+ m;
if (
'boolean' !=
typeof r.abortOnError
@@ -2642,19 +2637,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
O =
e ===
- u;
+ m;
} else
O =
!0;
@@ -2673,38 +2668,38 @@ function j(
type: 'object',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- (x = e === u),
+ (x = e === m),
(o = o || x);
}
if (o)
- (u = s),
- null !== m &&
+ (m = s),
+ null !== y &&
(s
- ? (m.length = s)
- : (m = null));
+ ? (y.length = s)
+ : (y = null));
else {
const e = { params: {} };
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- var T = n === u;
+ var T = n === m;
} else T = !0;
if (T) {
if (
void 0 !== e.consumeTypes
) {
let t = e.consumeTypes;
- const r = u,
- n = u;
+ const r = m,
+ n = m;
let s = !1;
- const o = u;
+ const o = m;
if (
'boolean' != typeof t
) {
@@ -2713,15 +2708,15 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- var R = o === u;
+ var R = o === m;
if (((s = s || R), !s)) {
- const e = u;
- if (u === e)
+ const e = m;
+ if (m === e)
if (
t &&
'object' ==
@@ -2732,7 +2727,7 @@ function j(
void 0 !==
t.typesFolder
) {
- const e = u;
+ const e = m;
if (
'string' !=
typeof t.typesFolder
@@ -2742,19 +2737,19 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- var $ = e === u;
+ var $ = e === m;
} else $ = !0;
if ($) {
if (
void 0 !==
t.abortOnError
) {
- const e = u;
+ const e = m;
if (
'boolean' !=
typeof t.abortOnError
@@ -2764,19 +2759,19 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- $ = e === u;
+ $ = e === m;
} else $ = !0;
if ($) {
if (
void 0 !==
t.remoteTypesFolder
) {
- const e = u;
+ const e = m;
if (
'string' !=
typeof t.remoteTypesFolder
@@ -2786,23 +2781,23 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [
+ null === y
+ ? (y = [
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
- $ = e === u;
+ $ = e === m;
} else $ = !0;
if ($) {
if (
void 0 !==
t.deleteTypesFolder
) {
- const e = u;
+ const e = m;
if (
'boolean' !=
typeof t.deleteTypesFolder
@@ -2814,16 +2809,16 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [
+ null === y
+ ? (y = [
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
- $ = e === u;
+ $ = e === m;
} else $ = !0;
if ($) {
if (
@@ -2831,7 +2826,7 @@ function j(
t.maxRetries
) {
const e =
- u;
+ m;
if (
'number' !=
typeof t.maxRetries
@@ -2844,18 +2839,18 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
$ =
- e === u;
+ e === m;
} else
$ = !0;
if ($) {
@@ -2864,7 +2859,7 @@ function j(
t.consumeAPITypes
) {
const e =
- u;
+ m;
if (
'boolean' !=
typeof t.consumeAPITypes
@@ -2877,19 +2872,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
$ =
e ===
- u;
+ m;
} else
$ = !0;
if ($)
@@ -2900,9 +2895,9 @@ function j(
let e =
t.runtimePkgs;
const r =
- u;
+ m;
if (
- u ===
+ m ===
r
)
if (
@@ -2919,7 +2914,7 @@ function j(
r++
) {
const t =
- u;
+ m;
if (
'string' !=
typeof e[
@@ -2934,19 +2929,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
if (
t !==
- u
+ m
)
break;
}
@@ -2959,19 +2954,19 @@ function j(
},
};
null ===
- m
- ? (m =
+ y
+ ? (y =
[
e,
])
- : m.push(
+ : y.push(
e,
),
- u++;
+ m++;
}
$ =
r ===
- u;
+ m;
} else
$ =
!0;
@@ -2986,37 +2981,37 @@ function j(
type: 'object',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- (R = e === u),
+ (R = e === m),
(s = s || R);
}
if (s)
- (u = n),
- null !== m &&
+ (m = n),
+ null !== y &&
(n
- ? (m.length = n)
- : (m = null));
+ ? (y.length = n)
+ : (y = null));
else {
const e = {
params: {},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- T = r === u;
+ T = r === m;
} else T = !0;
if (T) {
if (
void 0 !==
e.tsConfigPath
) {
- const t = u;
+ const t = m;
if (
'string' !=
typeof e.tsConfigPath
@@ -3026,12 +3021,12 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- T = t === u;
+ T = t === m;
} else T = !0;
if (T) {
if (
@@ -3040,7 +3035,7 @@ function j(
) {
let t =
e.extraOptions;
- const r = u;
+ const r = m;
if (
!t ||
'object' !=
@@ -3052,19 +3047,19 @@ function j(
type: 'object',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- T = r === u;
+ T = r === m;
} else T = !0;
if (T) {
if (
void 0 !==
e.implementation
) {
- const t = u;
+ const t = m;
if (
'string' !=
typeof e.implementation
@@ -3074,18 +3069,18 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- T = t === u;
+ T = t === m;
} else T = !0;
if (T) {
if (
void 0 !== e.cwd
) {
- const t = u;
+ const t = m;
if (
'string' !=
typeof e.cwd
@@ -3095,19 +3090,19 @@ function j(
type: 'string',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- T = t === u;
+ T = t === m;
} else T = !0;
if (T)
if (
void 0 !==
e.displayErrorInTerminal
) {
- const t = u;
+ const t = m;
if (
'boolean' !=
typeof e.displayErrorInTerminal
@@ -3117,12 +3112,12 @@ function j(
type: 'boolean',
},
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- T = t === u;
+ T = t === m;
} else T = !0;
}
}
@@ -3133,36 +3128,36 @@ function j(
const e = {
params: { type: 'object' },
};
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++;
}
- (A = r === u), (s = s || A);
+ (A = r === m), (s = s || A);
}
if (!s) {
const e = { params: {} };
return (
- null === m
- ? (m = [e])
- : m.push(e),
- u++,
- (j.errors = m),
+ null === y
+ ? (y = [e])
+ : y.push(e),
+ m++,
+ (j.errors = y),
!1
);
}
- (u = n),
- null !== m &&
+ (m = n),
+ null !== y &&
(n
- ? (m.length = n)
- : (m = null)),
- (c = r === u);
- } else c = !0;
- if (c) {
+ ? (y.length = n)
+ : (y = null)),
+ (u = r === m);
+ } else u = !0;
+ if (u) {
if (void 0 !== o.experiments) {
let e = o.experiments;
- const r = u;
- if (u === r) {
+ const t = m;
+ if (m === t) {
if (
!e ||
'object' != typeof e ||
@@ -3178,96 +3173,29 @@ function j(
]),
!1
);
- if (
- void 0 !== e.federationRuntime
- ) {
- let r = e.federationRuntime;
- const n = u,
- s = u;
- let o = !1;
- const a = u;
- if ('boolean' != typeof r) {
- const e = {
- params: {
- type: 'boolean',
- },
- };
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
- }
- if (!1 !== r) {
- const e = {
- params: {
- allowedValues:
- t.properties
- .experiments
- .properties
- .federationRuntime
- .anyOf[0].enum,
- },
- };
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
- }
- var C = a === u;
- if (((o = o || C), !o)) {
- const e = u;
- if ('string' != typeof r) {
- const e = {
- params: {
- type: 'string',
- },
- };
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
- }
- if ('hoisted' !== r) {
- const e = {
- params: {
- allowedValues:
- t.properties
- .experiments
- .properties
- .federationRuntime
- .anyOf[1].enum,
- },
- };
- null === m
- ? (m = [e])
- : m.push(e),
- u++;
- }
- (C = e === u), (o = o || C);
- }
- if (!o) {
- const e = { params: {} };
+ if (void 0 !== e.asyncStartup) {
+ const t = m;
+ if (
+ 'boolean' !=
+ typeof e.asyncStartup
+ )
return (
- null === m
- ? (m = [e])
- : m.push(e),
- u++,
- (j.errors = m),
+ (j.errors = [
+ {
+ params: {
+ type: 'boolean',
+ },
+ },
+ ]),
!1
);
- }
- (u = s),
- null !== m &&
- (s
- ? (m.length = s)
- : (m = null));
- var I = n === u;
- } else I = !0;
- if (I) {
+ var C = t === m;
+ } else C = !0;
+ if (C) {
if (
void 0 !== e.externalRuntime
) {
- const t = u;
+ const t = m;
if (
'boolean' !=
typeof e.externalRuntime
@@ -3282,14 +3210,14 @@ function j(
]),
!1
);
- I = t === u;
- } else I = !0;
- if (I)
+ C = t === m;
+ } else C = !0;
+ if (C)
if (
void 0 !==
e.provideExternalRuntime
) {
- const t = u;
+ const t = m;
if (
'boolean' !=
typeof e.provideExternalRuntime
@@ -3304,17 +3232,17 @@ function j(
]),
!1
);
- I = t === u;
- } else I = !0;
+ C = t === m;
+ } else C = !0;
}
}
- c = r === u;
- } else c = !0;
- if (c)
+ u = t === m;
+ } else u = !0;
+ if (u)
if (void 0 !== o.bridge) {
let e = o.bridge;
- const t = u;
- if (u === t) {
+ const t = m;
+ if (m === t) {
if (
!e ||
'object' != typeof e ||
@@ -3346,8 +3274,8 @@ function j(
!1
);
}
- c = t === u;
- } else c = !0;
+ u = t === m;
+ } else u = !0;
}
}
}
@@ -3369,5 +3297,5 @@ function j(
}
}
}
- return (j.errors = m), 0 === u;
+ return (j.errors = y), 0 === m;
}
diff --git a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.json b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.json
index 788d70e7eb3..3b32041b7ec 100644
--- a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.json
+++ b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.json
@@ -712,17 +712,9 @@
"experiments": {
"type": "object",
"properties": {
- "federationRuntime": {
- "anyOf": [
- {
- "type": "boolean",
- "enum": [false]
- },
- {
- "type": "string",
- "enum": ["hoisted"]
- }
- ]
+ "asyncStartup": {
+ "description": "Enable async startup for the container",
+ "type": "boolean"
},
"externalRuntime": {
"type": "boolean"
diff --git a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts
index 7244749a134..e076dad6734 100644
--- a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts
+++ b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts
@@ -759,17 +759,9 @@ export default {
experiments: {
type: 'object',
properties: {
- federationRuntime: {
- anyOf: [
- {
- type: 'boolean',
- enum: [false],
- },
- {
- type: 'string',
- enum: ['hoisted'],
- },
- ],
+ asyncStartup: {
+ description: 'Enable async startup for the container',
+ type: 'boolean',
},
externalRuntime: {
type: 'boolean',
diff --git a/packages/enhanced/test/ConfigTestCases.basictest.js b/packages/enhanced/test/ConfigTestCases.basictest.js
index ce08fc3df27..b57936c2c6e 100644
--- a/packages/enhanced/test/ConfigTestCases.basictest.js
+++ b/packages/enhanced/test/ConfigTestCases.basictest.js
@@ -14,3 +14,5 @@ const { describeCases } = require('./ConfigTestCases.template');
describeCases({
name: 'ConfigTestCases',
});
+
+describe('ConfigTestCases', () => {});
diff --git a/packages/enhanced/test/ConfigTestCases.embedruntime.js b/packages/enhanced/test/ConfigTestCases.embedruntime.js
index 0b1dbda4a91..05b3ab50f91 100644
--- a/packages/enhanced/test/ConfigTestCases.embedruntime.js
+++ b/packages/enhanced/test/ConfigTestCases.embedruntime.js
@@ -14,6 +14,6 @@ jest.resetModules();
describeCases({
name: 'ConfigTestCases',
federation: {
- federationRuntime: 'hoisted',
+ asyncStartup: true,
},
});
diff --git a/packages/enhanced/test/ConfigTestCases.template.js b/packages/enhanced/test/ConfigTestCases.template.js
index 0e70c968312..30c6dd68946 100644
--- a/packages/enhanced/test/ConfigTestCases.template.js
+++ b/packages/enhanced/test/ConfigTestCases.template.js
@@ -95,9 +95,9 @@ const describeCases = (config) => {
if (!mfp._options.experiments) {
mfp._options.experiments = {};
}
- if (config.federation?.federationRuntime) {
+ if (config.federation?.asyncStartup) {
// dont override if explicitly set
- if ('federationRuntime' in mfp._options.experiments) {
+ if ('asyncStartup' in mfp._options.experiments) {
} else {
Object.assign(
mfp._options.experiments,
diff --git a/packages/enhanced/test/configCases/container/exposed-overridables/webpack.config.js b/packages/enhanced/test/configCases/container/exposed-overridables/webpack.config.js
index 4e71aca7e88..c1ea5c79f39 100644
--- a/packages/enhanced/test/configCases/container/exposed-overridables/webpack.config.js
+++ b/packages/enhanced/test/configCases/container/exposed-overridables/webpack.config.js
@@ -8,7 +8,7 @@ module.exports = {
exposes: {
'./Button': './Button',
},
- experiments: { federationRuntime: false },
+ experiments: { asyncStartup: false },
shared: {
react: {
eager: true,
diff --git a/packages/enhanced/test/configCases/container/module-federation/webpack.config.js b/packages/enhanced/test/configCases/container/module-federation/webpack.config.js
index 313470f8eda..b1670b4db6c 100644
--- a/packages/enhanced/test/configCases/container/module-federation/webpack.config.js
+++ b/packages/enhanced/test/configCases/container/module-federation/webpack.config.js
@@ -11,7 +11,7 @@ function createConfig() {
filename: 'container.js',
library: { type: 'system' },
exposes: ['./other', './self', './dep'],
- experiments: { federationRuntime: false },
+ experiments: { asyncStartup: false },
remotes: {
abc: 'ABC',
def: 'DEF',
@@ -24,7 +24,7 @@ function createConfig() {
filename: 'container2.js',
library: { type: 'system' },
exposes: ['./other', './self', './dep'],
- experiments: { federationRuntime: false },
+ experiments: { asyncStartup: false },
remotes: {
abc: 'ABC',
def: 'DEF',
diff --git a/packages/nextjs-mf/src/plugins/NextFederationPlugin/index.ts b/packages/nextjs-mf/src/plugins/NextFederationPlugin/index.ts
index 8aaa2e66f32..950cb70abe5 100644
--- a/packages/nextjs-mf/src/plugins/NextFederationPlugin/index.ts
+++ b/packages/nextjs-mf/src/plugins/NextFederationPlugin/index.ts
@@ -20,7 +20,6 @@ import {
validatePluginOptions,
} from './validate-options';
import {
- modifyEntry,
applyServerPlugins,
configureServerCompilerOptions,
configureServerLibraryAndFilename,
@@ -213,7 +212,7 @@ export class NextFederationPlugin {
dts: this._options.dts ?? false,
shareStrategy: this._options.shareStrategy ?? 'loaded-first',
experiments: {
- federationRuntime: 'hoisted',
+ asyncStartup: true,
},
};
}
diff --git a/packages/nextjs-mf/src/plugins/container/InvertedContainerRuntimeModule.ts b/packages/nextjs-mf/src/plugins/container/InvertedContainerRuntimeModule.ts
index b87d149bd55..f10204fa43b 100644
--- a/packages/nextjs-mf/src/plugins/container/InvertedContainerRuntimeModule.ts
+++ b/packages/nextjs-mf/src/plugins/container/InvertedContainerRuntimeModule.ts
@@ -1,6 +1,4 @@
import { normalizeWebpackPath } from '@module-federation/sdk/normalize-webpack-path';
-import type { Module } from 'webpack';
-import { container } from '@module-federation/enhanced';
import type ContainerEntryModule from '@module-federation/enhanced/src/lib/container/ContainerEntryModule';
const { RuntimeModule, Template, RuntimeGlobals } = require(
normalizeWebpackPath('webpack'),
@@ -27,6 +25,15 @@ class InvertedContainerRuntimeModule extends RuntimeModule {
if (chunk.runtime === 'webpack-api-runtime') {
return '';
}
+
+ const runtimeChunk = compilation.options.optimization?.runtimeChunk;
+ if (runtimeChunk === 'single' || typeof runtimeChunk === 'object') {
+ const logger = compilation.getLogger('InvertedContainerRuntimeModule');
+ logger.info(
+ 'Runtime chunk is set to single. Consider adding runtime: false to your ModuleFederationPlugin configuration to prevent runtime conflicts.',
+ );
+ }
+
let containerEntryModule;
for (const containerDep of this.options.containers) {
const mod = compilation.moduleGraph.getModule(containerDep);
@@ -41,7 +48,7 @@ class InvertedContainerRuntimeModule extends RuntimeModule {
if (
compilation.chunkGraph.isEntryModuleInChunk(containerEntryModule, chunk)
) {
- // dont apply to remote entry itself
+ // Don't apply to the remote entry itself
return '';
}
const initRuntimeModuleGetter = compilation.runtimeTemplate.moduleRaw({
@@ -55,16 +62,29 @@ class InvertedContainerRuntimeModule extends RuntimeModule {
const nameJSON = JSON.stringify(containerEntryModule._name);
return Template.asString([
- `var innerRemote;`,
- `function attachRemote () {`,
- Template.indent([
- `innerRemote = ${initRuntimeModuleGetter};`,
- `var gs = ${RuntimeGlobals.global} || globalThis`,
- `gs[${nameJSON}] = innerRemote`,
- `return innerRemote;`,
- ]),
- `};`,
- `attachRemote();`,
+ `var prevStartup = ${RuntimeGlobals.startup};`,
+ `var hasRun = false;`,
+ `var cachedRemote;`,
+ `${RuntimeGlobals.startup} = ${compilation.runtimeTemplate.basicFunction(
+ '',
+ Template.asString([
+ `if (!hasRun) {`,
+ Template.indent(
+ Template.asString([
+ `hasRun = true;`,
+ `if (typeof prevStartup === 'function') {`,
+ Template.indent(Template.asString([`prevStartup();`])),
+ `}`,
+ `cachedRemote = ${initRuntimeModuleGetter};`,
+ `var gs = ${RuntimeGlobals.global} || globalThis;`,
+ `gs[${nameJSON}] = cachedRemote;`,
+ ]),
+ ),
+ `} else if (typeof prevStartup === 'function') {`,
+ Template.indent(`prevStartup();`),
+ `}`,
+ ]),
+ )};`,
]);
}
}
diff --git a/packages/sdk/src/types/plugins/ContainerPlugin.ts b/packages/sdk/src/types/plugins/ContainerPlugin.ts
index da350d51707..eb9ce04a980 100644
--- a/packages/sdk/src/types/plugins/ContainerPlugin.ts
+++ b/packages/sdk/src/types/plugins/ContainerPlugin.ts
@@ -99,9 +99,6 @@ export interface ContainerPluginOptions {
*/
runtimePlugins?: string[];
- experiments?: {
- federationRuntime?: false | 'hoisted';
- };
dataPrefetch?: DataPrefetch;
}
/**
diff --git a/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts b/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts
index a0b692d0523..d8de9623556 100644
--- a/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts
+++ b/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts
@@ -246,9 +246,9 @@ export interface ModuleFederationPluginOptions {
dataPrefetch?: DataPrefetch;
virtualRuntimeEntry?: boolean;
experiments?: {
- federationRuntime?: false | 'hoisted';
externalRuntime?: boolean;
provideExternalRuntime?: boolean;
+ asyncStartup?: boolean;
};
bridge?: {
/**
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0decb7d6f31..85cfd7023f9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -163,7 +163,7 @@ importers:
version: 20.1.4(@babel/core@7.25.2)(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@20.1.4)(typescript@5.5.2)(verdaccio@5.29.2)
'@nx/rspack':
specifier: 20.1.4
- version: 20.1.4(@module-federation/enhanced@0.6.16)(@module-federation/node@2.5.21)(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(@types/express@4.17.21)(@types/node@18.16.9)(html-webpack-plugin@5.6.2)(less@4.2.2)(nx@20.1.4)(react-refresh@0.14.2)(typescript@5.5.2)(verdaccio@5.29.2)(webpack@5.93.0)
+ version: 20.1.4(@module-federation/enhanced@0.6.11)(@module-federation/node@2.5.21)(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(@types/express@4.17.21)(@types/node@18.16.9)(html-webpack-plugin@5.6.2)(less@4.2.2)(nx@20.1.4)(react-refresh@0.14.2)(typescript@5.5.2)(verdaccio@5.29.2)(webpack@5.93.0)
'@nx/storybook':
specifier: 20.1.4
version: 20.1.4(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@types/node@18.16.9)(cypress@13.15.0)(eslint@8.57.1)(nx@20.1.4)(typescript@5.5.2)(verdaccio@5.29.2)
@@ -1840,10 +1840,10 @@ importers:
version: 4.3.3(vite@5.2.14)
'@vitejs/plugin-vue':
specifier: ^5.0.4
- version: 5.1.4(vite@5.2.14)(vue@3.5.13)
+ version: 5.1.4(vite@5.2.14)(vue@3.5.10)
'@vitejs/plugin-vue-jsx':
specifier: ^4.0.0
- version: 4.0.1(vite@5.2.14)(vue@3.5.13)
+ version: 4.0.1(vite@5.2.14)(vue@3.5.10)
jsdom:
specifier: ^24.1.0
version: 24.1.3
@@ -1895,10 +1895,10 @@ importers:
version: 16.11.68
'@vitejs/plugin-vue':
specifier: ^5.0.4
- version: 5.1.4(vite@5.2.14)(vue@3.5.13)
+ version: 5.1.4(vite@5.2.14)(vue@3.5.10)
'@vitejs/plugin-vue-jsx':
specifier: ^4.0.0
- version: 4.0.1(vite@5.2.14)(vue@3.5.13)
+ version: 4.0.1(vite@5.2.14)(vue@3.5.10)
typescript:
specifier: ^5.2.2
version: 5.5.2
@@ -3237,7 +3237,7 @@ packages:
dependencies:
'@babel/parser': 7.26.9
'@babel/types': 7.26.9
- '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.0.2
@@ -3574,8 +3574,8 @@ packages:
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/traverse': 7.26.9(supports-color@5.5.0)
- '@babel/types': 7.26.9
+ '@babel/traverse': 7.25.9(supports-color@5.5.0)
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
@@ -3970,7 +3970,7 @@ packages:
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
dev: true
@@ -3983,7 +3983,7 @@ packages:
dependencies:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
@@ -4107,7 +4107,7 @@ packages:
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
dev: true
@@ -4120,7 +4120,7 @@ packages:
dependencies:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
@@ -5218,7 +5218,7 @@ packages:
'@babel/helper-compilation-targets': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.7)
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -5235,7 +5235,7 @@ packages:
'@babel/helper-compilation-targets': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -5574,9 +5574,9 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.7
- '@babel/helper-compilation-targets': 7.26.5
+ '@babel/helper-compilation-targets': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
dev: true
@@ -5588,9 +5588,9 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.26.0
- '@babel/helper-compilation-targets': 7.26.5
+ '@babel/helper-compilation-targets': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
@@ -5827,7 +5827,7 @@ packages:
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
dev: true
@@ -5842,7 +5842,7 @@ packages:
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
'@babel/helper-plugin-utils': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
@@ -6503,7 +6503,7 @@ packages:
'@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.7)
- '@babel/types': 7.26.9
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -6519,7 +6519,7 @@ packages:
'@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.8)
- '@babel/types': 7.26.9
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -6535,7 +6535,7 @@ packages:
'@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
- '@babel/types': 7.26.9
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
@@ -6550,7 +6550,7 @@ packages:
'@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.9)
- '@babel/types': 7.26.9
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -7600,6 +7600,20 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/traverse@7.25.9(supports-color@5.5.0):
+ resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.2
+ '@babel/parser': 7.26.9
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.9
+ debug: 4.4.0(supports-color@5.5.0)
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/traverse@7.26.9:
resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==}
engines: {node: '>=6.9.0'}
@@ -7957,7 +7971,7 @@ packages:
'@commitlint/ensure': 19.5.0
'@commitlint/load': 19.5.0(@types/node@18.16.9)(typescript@5.5.2)
'@commitlint/types': 19.5.0
- chalk: 5.3.0
+ chalk: 5.4.1
commitizen: 4.3.1(@types/node@18.16.9)(typescript@5.5.2)
inquirer: 9.3.7
lodash.isplainobject: 4.0.6
@@ -7989,7 +8003,7 @@ packages:
engines: {node: '>=v18'}
dependencies:
'@commitlint/types': 19.5.0
- chalk: 5.3.0
+ chalk: 5.4.1
dev: true
/@commitlint/is-ignored@19.5.0:
@@ -8018,7 +8032,7 @@ packages:
'@commitlint/execute-rule': 19.5.0
'@commitlint/resolve-extends': 19.5.0
'@commitlint/types': 19.5.0
- chalk: 5.3.0
+ chalk: 5.4.1
cosmiconfig: 9.0.0(typescript@5.5.2)
cosmiconfig-typescript-loader: 5.0.0(@types/node@18.16.9)(cosmiconfig@9.0.0)(typescript@5.5.2)
lodash.isplainobject: 4.0.6
@@ -8114,7 +8128,7 @@ packages:
engines: {node: '>=v18'}
dependencies:
'@types/conventional-commits-parser': 5.0.0
- chalk: 5.3.0
+ chalk: 5.4.1
dev: true
/@cspotcode/source-map-support@0.8.1:
@@ -8213,7 +8227,7 @@ packages:
combined-stream: 1.0.8
extend: 3.0.2
forever-agent: 0.6.1
- form-data: 4.0.0
+ form-data: 4.0.1
http-signature: 1.4.0
is-typedarray: 1.0.0
isstream: 0.1.2
@@ -10167,7 +10181,7 @@ packages:
/@jridgewell/source-map@0.3.6:
resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
/@jridgewell/sourcemap-codec@1.5.0:
@@ -10875,7 +10889,7 @@ packages:
'@modern-js/types': 2.46.1
'@modern-js/utils': 2.46.1
'@swc/helpers': 0.5.3
- acorn: 8.12.1
+ acorn: 8.14.0
caniuse-lite: 1.0.30001700
css-minimizer-webpack-plugin: 5.0.1(esbuild@0.18.20)(webpack@5.93.0)
cssnano: 6.0.1(postcss@8.4.31)
@@ -11974,13 +11988,6 @@ packages:
'@module-federation/sdk': 0.6.11
'@types/semver': 7.5.8
semver: 7.6.3
-
- /@module-federation/bridge-react-webpack-plugin@0.6.16:
- resolution: {integrity: sha512-AQj20lUL5fmdz4un56W3VF8naZaRDmztczl+/j4Qa69JAaUbbZK6zZJ3NEjx0cNzpiq/mGmG9Vik3V4rI/4BUA==}
- dependencies:
- '@module-federation/sdk': 0.6.16
- '@types/semver': 7.5.8
- semver: 7.6.3
dev: true
/@module-federation/bridge-react-webpack-plugin@0.6.9:
@@ -12018,18 +12025,6 @@ packages:
fs-extra: 9.1.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
-
- /@module-federation/data-prefetch@0.6.16(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-m5SNKlAkB2FFCs2cl6LWqo6s2NZ7HuCrp6QrrMzuKjB6EddvKojVQxOzrWdcMLs1vESy6fyU4M4U7PxSojw6Ww==}
- peerDependencies:
- react: '>=16.9.0'
- react-dom: '>=16.9.0'
- dependencies:
- '@module-federation/runtime': 0.6.16
- '@module-federation/sdk': 0.6.16
- fs-extra: 9.1.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
dev: true
/@module-federation/data-prefetch@0.6.9(react-dom@18.3.1)(react@18.3.1):
@@ -12093,40 +12088,7 @@ packages:
lodash.clonedeepwith: 4.5.0
log4js: 6.9.1
node-schedule: 2.1.1
- rambda: 9.4.2
- typescript: 5.5.2
- vue-tsc: 2.1.6(typescript@5.5.2)
- ws: 8.18.0
- transitivePeerDependencies:
- - bufferutil
- - debug
- - supports-color
- - utf-8-validate
-
- /@module-federation/dts-plugin@0.6.16(typescript@5.5.2)(vue-tsc@2.1.6):
- resolution: {integrity: sha512-XM6+EYVrS2Q/ZW0u9cH0sJT5t5SQHRjzmW7JWdPv0+wKGCA15WtRMc55boM4Wan7jXJZf+JeD5QLXWiSjaJdnw==}
- peerDependencies:
- typescript: ^4.9.0 || ^5.0.0
- vue-tsc: '>=1.0.24'
- peerDependenciesMeta:
- vue-tsc:
- optional: true
- dependencies:
- '@module-federation/error-codes': 0.6.14
- '@module-federation/managers': 0.6.16
- '@module-federation/sdk': 0.6.16
- '@module-federation/third-party-dts-extractor': 0.6.16
- adm-zip: 0.5.16
- ansi-colors: 4.1.3
- axios: 1.7.7
- chalk: 3.0.0
- fs-extra: 9.1.0
- isomorphic-ws: 5.0.0(ws@8.18.0)
- koa: 2.15.3
- lodash.clonedeepwith: 4.5.0
- log4js: 6.9.1
- node-schedule: 2.1.1
- rambda: 9.4.2
+ rambda: 9.3.0
typescript: 5.5.2
vue-tsc: 2.1.6(typescript@5.5.2)
ws: 8.18.0
@@ -12264,41 +12226,6 @@ packages:
typescript: 5.5.2
upath: 2.0.1
vue-tsc: 2.1.6(typescript@5.5.2)
- webpack: 5.93.0(@swc/core@1.7.26)(esbuild@0.18.20)
- transitivePeerDependencies:
- - bufferutil
- - debug
- - react
- - react-dom
- - supports-color
- - utf-8-validate
-
- /@module-federation/enhanced@0.6.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.2)(vue-tsc@2.1.6)(webpack@5.93.0):
- resolution: {integrity: sha512-5MqA35WGvPmCScT/xNnheR4RBa2oYHkLpeVjOA0xg0PeUTC7aSfGRLsntzFeyzLITSjbVTupK2YwmjiZr3Z0LQ==}
- peerDependencies:
- typescript: ^4.9.0 || ^5.0.0
- vue-tsc: '>=1.0.24'
- webpack: ^5.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- vue-tsc:
- optional: true
- webpack:
- optional: true
- dependencies:
- '@module-federation/bridge-react-webpack-plugin': 0.6.16
- '@module-federation/data-prefetch': 0.6.16(react-dom@18.3.1)(react@18.3.1)
- '@module-federation/dts-plugin': 0.6.16(typescript@5.5.2)(vue-tsc@2.1.6)
- '@module-federation/managers': 0.6.16
- '@module-federation/manifest': 0.6.16(typescript@5.5.2)(vue-tsc@2.1.6)
- '@module-federation/rspack': 0.6.16(typescript@5.5.2)(vue-tsc@2.1.6)
- '@module-federation/runtime-tools': 0.6.16
- '@module-federation/sdk': 0.6.16
- btoa: 1.2.1
- typescript: 5.5.2
- upath: 2.0.1
- vue-tsc: 2.1.6(typescript@5.5.2)
webpack: 5.93.0(@swc/core@1.7.26)(esbuild@0.24.0)
transitivePeerDependencies:
- bufferutil
@@ -12417,10 +12344,6 @@ packages:
- utf-8-validate
dev: true
- /@module-federation/error-codes@0.6.14:
- resolution: {integrity: sha512-ik+ezloFkxmE5atqTUG9lRr9xV5EcKDjH+MZba2IJQT5cZIM6o2ThTC45E013N4SCleaGxBtIGoPLZJzT4xa0Q==}
- dev: true
-
/@module-federation/error-codes@0.7.6:
resolution: {integrity: sha512-XVzX/sRFj1h5JvOOVMoFppxq0t1t3o/AlEICHgWX+dybIwJgz9g4gihZOWVZfz5/xsKGcUwdH5X7Z2nkuYhJEw==}
dev: true
@@ -12439,13 +12362,6 @@ packages:
'@module-federation/sdk': 0.6.11
find-pkg: 2.0.0
fs-extra: 9.1.0
-
- /@module-federation/managers@0.6.16:
- resolution: {integrity: sha512-9oqJT0F61GhaFE4EFgJjVyQlD8ohXxMJBS9UGCKC6nHd3+PI4NBWGN2D+alBOwvwtt3LhtssbVH8H8HZEM1GnQ==}
- dependencies:
- '@module-federation/sdk': 0.6.16
- find-pkg: 2.0.0
- fs-extra: 9.1.0
dev: true
/@module-federation/managers@0.6.9:
@@ -12487,22 +12403,6 @@ packages:
- typescript
- utf-8-validate
- vue-tsc
-
- /@module-federation/manifest@0.6.16(typescript@5.5.2)(vue-tsc@2.1.6):
- resolution: {integrity: sha512-YjOk+1uR6E5qIEWiy35IrMyEy+rDGI5nJd+6MQobkXG40DK94mdPxJ7TSCozj/bpZ9SadCxXRCkMiE/gTkryAQ==}
- dependencies:
- '@module-federation/dts-plugin': 0.6.16(typescript@5.5.2)(vue-tsc@2.1.6)
- '@module-federation/managers': 0.6.16
- '@module-federation/sdk': 0.6.16
- chalk: 3.0.0
- find-pkg: 2.0.0
- transitivePeerDependencies:
- - bufferutil
- - debug
- - supports-color
- - typescript
- - utf-8-validate
- - vue-tsc
dev: true
/@module-federation/manifest@0.6.9(typescript@5.5.2)(vue-tsc@2.1.6):
@@ -12615,31 +12515,6 @@ packages:
- debug
- supports-color
- utf-8-validate
-
- /@module-federation/rspack@0.6.16(typescript@5.5.2)(vue-tsc@2.1.6):
- resolution: {integrity: sha512-9nQAyw7QvgXJYPTQseyQ31qQtSlo0VsppQOyFLstLITzgWWugN7cN8cGAriUKYBI78THuX+lp1mdgsNTBvxJPA==}
- peerDependencies:
- typescript: ^4.9.0 || ^5.0.0
- vue-tsc: '>=1.0.24'
- peerDependenciesMeta:
- typescript:
- optional: true
- vue-tsc:
- optional: true
- dependencies:
- '@module-federation/bridge-react-webpack-plugin': 0.6.16
- '@module-federation/dts-plugin': 0.6.16(typescript@5.5.2)(vue-tsc@2.1.6)
- '@module-federation/managers': 0.6.16
- '@module-federation/manifest': 0.6.16(typescript@5.5.2)(vue-tsc@2.1.6)
- '@module-federation/runtime-tools': 0.6.16
- '@module-federation/sdk': 0.6.16
- typescript: 5.5.2
- vue-tsc: 2.1.6(typescript@5.5.2)
- transitivePeerDependencies:
- - bufferutil
- - debug
- - supports-color
- - utf-8-validate
dev: true
/@module-federation/rspack@0.6.9(typescript@5.5.2)(vue-tsc@2.1.6):
@@ -12745,12 +12620,6 @@ packages:
dependencies:
'@module-federation/runtime': 0.6.11
'@module-federation/webpack-bundler-runtime': 0.6.11
-
- /@module-federation/runtime-tools@0.6.16:
- resolution: {integrity: sha512-AIaxnx99tVYppYCgdJQz43mrGZ2pPJtC7YEIjuQV+UnSORj+d/GOIqF88MDx3i7siFcQ4zrT5BVtEWhXcJdv0g==}
- dependencies:
- '@module-federation/runtime': 0.6.16
- '@module-federation/webpack-bundler-runtime': 0.6.16
dev: true
/@module-federation/runtime-tools@0.6.9:
@@ -12802,12 +12671,6 @@ packages:
resolution: {integrity: sha512-UTuavwCybLftAe4VT7cCqj+BVNlZwda/xmqIPAeYX14o7gkYFyA6zkxOQqfNCaDnTMR/KBk6EvE49yA6/ht9UQ==}
dependencies:
'@module-federation/sdk': 0.6.11
-
- /@module-federation/runtime@0.6.16:
- resolution: {integrity: sha512-3oFDRkolGwiXuQz+wzX3YzBWI9so0+K05YRf0TEdJguj3W/v/AMrBCz7W4c4O/wSK45Kuqd4lHKhCyKWRPyhOw==}
- dependencies:
- '@module-federation/error-codes': 0.6.14
- '@module-federation/sdk': 0.6.16
dev: true
/@module-federation/runtime@0.6.9:
@@ -12851,12 +12714,6 @@ packages:
/@module-federation/sdk@0.6.11:
resolution: {integrity: sha512-Fj2ws9yL6mGAki9GdurcrIhdSg0L2Kfw7L6Dej/DidzAU4bwa3MT0s+87BPuOYFgm2UTMN3g+UrElC2NhsuulQ==}
- /@module-federation/sdk@0.6.16:
- resolution: {integrity: sha512-rzQH/v9bVc032lzV4j1IGYRc5gszwzBevYBBDJf3oNLwkY2kIDUJ99OWvq3aaPJoE0jEWPVe3K5iNc+dZe4tMQ==}
- dependencies:
- isomorphic-rslog: 0.0.5
- dev: true
-
/@module-federation/sdk@0.6.9:
resolution: {integrity: sha512-xmTxb9LgncxPGsBrN6AT/+aHnFGv8swbeNl0PcSeVbXTGLu3Gp7j+5J+AhJoWNB++SLguRwBd8LjB1d8mNKLDg==}
dev: false
@@ -12885,13 +12742,6 @@ packages:
find-pkg: 2.0.0
fs-extra: 9.1.0
resolve: 1.22.8
-
- /@module-federation/third-party-dts-extractor@0.6.16:
- resolution: {integrity: sha512-F4W8QBlPLNY22TGjUWA+FyFYN6wVgGKhefd170A8BOqv2gB1yhm6OIEmDnO6TwfDfQQebVCcAu23AzLzgS5eCg==}
- dependencies:
- find-pkg: 2.0.0
- fs-extra: 9.1.0
- resolve: 1.22.8
dev: true
/@module-federation/third-party-dts-extractor@0.6.9:
@@ -12965,12 +12815,6 @@ packages:
dependencies:
'@module-federation/runtime': 0.6.11
'@module-federation/sdk': 0.6.11
-
- /@module-federation/webpack-bundler-runtime@0.6.16:
- resolution: {integrity: sha512-Tpi251DApEaQ62KCaJCh1RU1SZTUcVh8lx2zotn/YOMZdw83IzYu3PYYA1V0Eg5jVe6I2GmGH52pJPCtwbgjqA==}
- dependencies:
- '@module-federation/runtime': 0.6.16
- '@module-federation/sdk': 0.6.16
dev: true
/@module-federation/webpack-bundler-runtime@0.6.9:
@@ -14337,13 +14181,13 @@ packages:
- verdaccio
dev: true
- /@nx/rspack@20.1.4(@module-federation/enhanced@0.6.16)(@module-federation/node@2.5.21)(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(@types/express@4.17.21)(@types/node@18.16.9)(html-webpack-plugin@5.6.2)(less@4.2.2)(nx@20.1.4)(react-refresh@0.14.2)(typescript@5.5.2)(verdaccio@5.29.2)(webpack@5.93.0):
+ /@nx/rspack@20.1.4(@module-federation/enhanced@0.6.11)(@module-federation/node@2.5.21)(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(@types/express@4.17.21)(@types/node@18.16.9)(html-webpack-plugin@5.6.2)(less@4.2.2)(nx@20.1.4)(react-refresh@0.14.2)(typescript@5.5.2)(verdaccio@5.29.2)(webpack@5.93.0):
resolution: {integrity: sha512-s1CJLfAsR6Z47LIqBNkL8/SL8VaDBqdUZF0u6WGJkS2IacpSh2IXadEXxh5wGVA+19sukwWw/IROkVXwLCf1yw==}
peerDependencies:
'@module-federation/enhanced': ~0.6.0
'@module-federation/node': ~2.5.10
dependencies:
- '@module-federation/enhanced': 0.6.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.2)(vue-tsc@2.1.6)(webpack@5.93.0)
+ '@module-federation/enhanced': 0.6.11(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.2)(vue-tsc@2.1.6)(webpack@5.93.0)
'@module-federation/node': 2.5.21(next@14.2.16)(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.2)(vue-tsc@2.1.6)(webpack@5.93.0)
'@nx/devkit': 20.1.4(nx@20.1.4)
'@nx/js': 20.1.4(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@20.1.4)(typescript@5.5.2)(verdaccio@5.29.2)
@@ -14497,7 +14341,7 @@ packages:
resolution: {integrity: sha512-ucxJn9q/KboQ4ywtODmOYD9ac9FczdLd/1WDAPctxERuq71bfkwGmZGUzH3fDqolinek0kAIhn6ci3ww2/Qs1A==}
dependencies:
'@babel/core': 7.26.0
- '@module-federation/enhanced': 0.6.11(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.2)(vue-tsc@2.1.6)(webpack@5.93.0)
+ '@module-federation/enhanced': 0.6.9(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.2)(vue-tsc@2.1.6)(webpack@5.93.0)
'@module-federation/sdk': 0.6.11
'@nx/devkit': 20.1.1(nx@20.1.4)
'@nx/js': 20.1.1(@swc-node/register@1.10.9)(@swc/core@1.7.26)(@types/node@20.12.14)(nx@20.1.4)(typescript@5.5.2)(verdaccio@5.29.2)
@@ -15157,7 +15001,7 @@ packages:
resolve-from: 5.0.0
rollup: 2.79.2
semver: 7.6.3
- terser: 5.34.1
+ terser: 5.37.0
v8-compile-cache: 2.4.0
zod: 3.23.8
transitivePeerDependencies:
@@ -16313,7 +16157,7 @@ packages:
estree-walker: 2.0.2
glob: 8.1.0
is-reference: 1.2.1
- magic-string: 0.30.12
+ magic-string: 0.30.17
rollup: 4.24.0
dev: true
@@ -18657,7 +18501,7 @@ packages:
dependencies:
'@semantic-release/error': 3.0.0
aggregate-error: 3.1.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
lodash: 4.17.21
semantic-release: 24.2.3(typescript@5.5.2)
dev: true
@@ -18790,7 +18634,7 @@ packages:
'@semantic-release/error': 4.0.0
aggregate-error: 5.0.0
execa: 8.0.1
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
lodash-es: 4.17.21
nerf-dart: 1.0.0
normalize-url: 8.0.1
@@ -18973,7 +18817,7 @@ packages:
'@storybook/global': 5.0.0
'@storybook/react-dom-shim': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.5.6)
'@types/react': 18.3.11
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
rehype-external-links: 3.0.0
@@ -18995,7 +18839,7 @@ packages:
'@storybook/global': 5.0.0
'@storybook/react-dom-shim': 8.3.5(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.5)
'@types/react': 18.3.11
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
rehype-external-links: 3.0.0
@@ -19017,7 +18861,7 @@ packages:
'@storybook/global': 5.0.0
'@storybook/react-dom-shim': 8.3.5(react-dom@18.3.1)(react@18.3.1)(storybook@8.4.2)
'@types/react': 18.3.11
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
rehype-external-links: 3.0.0
@@ -19347,7 +19191,7 @@ packages:
es-module-lexer: 1.6.0
express: 4.21.1
fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.2)(webpack@5.93.0)
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
html-webpack-plugin: 5.6.2(@rspack/core@1.0.8)(webpack@5.93.0)
magic-string: 0.30.17
path-browserify: 1.0.1
@@ -19578,7 +19422,7 @@ packages:
file-system-cache: 2.3.0
find-cache-dir: 3.3.2
find-up: 5.0.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
glob: 10.4.5
handlebars: 4.7.8
lazy-universal-dotenv: 4.0.0
@@ -19874,7 +19718,7 @@ packages:
'@babel/types': 7.26.9
'@storybook/csf': 0.1.11
'@storybook/types': 8.1.11
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
recast: 0.23.9
ts-dedent: 2.2.0
transitivePeerDependencies:
@@ -20031,7 +19875,7 @@ packages:
babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.93.0)
css-loader: 6.11.0(@rspack/core@1.0.8)(webpack@5.93.0)
find-up: 5.0.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
image-size: 1.1.1
loader-utils: 3.3.1
next: 14.2.16(@babel/core@7.25.2)(react-dom@18.3.1)(react@18.3.1)
@@ -20101,7 +19945,7 @@ packages:
'@types/node': 22.7.4
'@types/semver': 7.5.8
find-up: 5.0.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
magic-string: 0.30.17
react: 18.3.1
react-docgen: 7.1.0
@@ -22021,7 +21865,7 @@ packages:
/@types/ws@8.5.12:
resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==}
dependencies:
- '@types/node': 18.16.9
+ '@types/node': 20.12.14
/@types/yargs-parser@21.0.3:
resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
@@ -22712,22 +22556,6 @@ packages:
- supports-color
dev: true
- /@vitejs/plugin-vue-jsx@4.0.1(vite@5.2.14)(vue@3.5.13):
- resolution: {integrity: sha512-7mg9HFGnFHMEwCdB6AY83cVK4A6sCqnrjFYF4WIlebYAQVVJ/sC/CiTruVdrRlhrFoeZ8rlMxY9wYpPTIRhhAg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- vite: ^5.0.0
- vue: ^3.0.0
- dependencies:
- '@babel/core': 7.25.2
- '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
- '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2)
- vite: 5.2.14(@types/node@18.16.9)(less@4.2.2)(stylus@0.64.0)
- vue: 3.5.13(typescript@5.5.2)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@vitejs/plugin-vue@5.1.4(vite@5.2.14)(vue@3.5.10):
resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -22739,17 +22567,6 @@ packages:
vue: 3.5.10(typescript@5.5.2)
dev: true
- /@vitejs/plugin-vue@5.1.4(vite@5.2.14)(vue@3.5.13):
- resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==}
- engines: {node: ^18.0.0 || >=20.0.0}
- peerDependencies:
- vite: ^5.0.0
- vue: ^3.2.25
- dependencies:
- vite: 5.2.14(@types/node@18.16.9)(less@4.2.2)(stylus@0.64.0)
- vue: 3.5.13(typescript@5.5.2)
- dev: true
-
/@vitest/coverage-istanbul@1.6.0(vitest@1.6.0):
resolution: {integrity: sha512-h/BwpXehkkS0qsNCS00QxiupAqVkNi0WT19BR0dQvlge5oHghoSVLx63fABYFoKxVb7Ue7+k6V2KokmQ1zdMpg==}
peerDependencies:
@@ -22994,7 +22811,7 @@ packages:
'@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/parser': 7.26.9
- '@vue/compiler-sfc': 3.5.10
+ '@vue/compiler-sfc': 3.5.13
transitivePeerDependencies:
- supports-color
dev: true
@@ -23016,7 +22833,6 @@ packages:
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.1
- dev: true
/@vue/compiler-dom@3.5.10:
resolution: {integrity: sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==}
@@ -23029,19 +22845,18 @@ packages:
dependencies:
'@vue/compiler-core': 3.5.13
'@vue/shared': 3.5.13
- dev: true
/@vue/compiler-sfc@3.5.10:
resolution: {integrity: sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==}
dependencies:
- '@babel/parser': 7.26.2
+ '@babel/parser': 7.26.9
'@vue/compiler-core': 3.5.10
'@vue/compiler-dom': 3.5.10
'@vue/compiler-ssr': 3.5.10
'@vue/shared': 3.5.10
estree-walker: 2.0.2
- magic-string: 0.30.12
- postcss: 8.4.47
+ magic-string: 0.30.17
+ postcss: 8.5.2
source-map-js: 1.2.1
/@vue/compiler-sfc@3.5.13:
@@ -23090,8 +22905,8 @@ packages:
dependencies:
'@volar/language-core': 1.11.1
'@volar/source-map': 1.11.1
- '@vue/compiler-dom': 3.5.10
- '@vue/shared': 3.5.10
+ '@vue/compiler-dom': 3.5.13
+ '@vue/shared': 3.5.13
computeds: 0.0.1
minimatch: 9.0.5
muggle-string: 0.3.1
@@ -23109,9 +22924,9 @@ packages:
optional: true
dependencies:
'@volar/language-core': 2.4.5
- '@vue/compiler-dom': 3.5.10
+ '@vue/compiler-dom': 3.5.13
'@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.10
+ '@vue/shared': 3.5.13
computeds: 0.0.1
minimatch: 9.0.5
muggle-string: 0.4.1
@@ -23123,25 +22938,12 @@ packages:
dependencies:
'@vue/shared': 3.5.10
- /@vue/reactivity@3.5.13:
- resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
- dependencies:
- '@vue/shared': 3.5.13
- dev: true
-
/@vue/runtime-core@3.5.10:
resolution: {integrity: sha512-9Q86I5Qq3swSkFfzrZ+iqEy7Vla325M7S7xc1NwKnRm/qoi1Dauz0rT6mTMmscqx4qz0EDJ1wjB+A36k7rl8mA==}
dependencies:
'@vue/reactivity': 3.5.10
'@vue/shared': 3.5.10
- /@vue/runtime-core@3.5.13:
- resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
- dependencies:
- '@vue/reactivity': 3.5.13
- '@vue/shared': 3.5.13
- dev: true
-
/@vue/runtime-dom@3.5.10:
resolution: {integrity: sha512-t3x7ht5qF8ZRi1H4fZqFzyY2j+GTMTDxRheT+i8M9Ph0oepUxoadmbwlFwMoW7RYCpNQLpP2Yx3feKs+fyBdpA==}
dependencies:
@@ -23150,15 +22952,6 @@ packages:
'@vue/shared': 3.5.10
csstype: 3.1.3
- /@vue/runtime-dom@3.5.13:
- resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
- dependencies:
- '@vue/reactivity': 3.5.13
- '@vue/runtime-core': 3.5.13
- '@vue/shared': 3.5.13
- csstype: 3.1.3
- dev: true
-
/@vue/server-renderer@3.5.10(vue@3.5.10):
resolution: {integrity: sha512-IVE97tt2kGKwHNq9yVO0xdh1IvYfZCShvDSy46JIh5OQxP1/EXSpoDqetVmyIzL7CYOWnnmMkVqd7YK2QSWkdw==}
peerDependencies:
@@ -23168,22 +22961,11 @@ packages:
'@vue/shared': 3.5.10
vue: 3.5.10(typescript@5.5.2)
- /@vue/server-renderer@3.5.13(vue@3.5.13):
- resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
- peerDependencies:
- vue: 3.5.13
- dependencies:
- '@vue/compiler-ssr': 3.5.13
- '@vue/shared': 3.5.13
- vue: 3.5.13(typescript@5.5.2)
- dev: true
-
/@vue/shared@3.5.10:
resolution: {integrity: sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==}
/@vue/shared@3.5.13:
resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
- dev: true
/@vue/tsconfig@0.5.1:
resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==}
@@ -23632,7 +23414,7 @@ packages:
/acorn-globals@7.0.1:
resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
dependencies:
- acorn: 8.12.1
+ acorn: 8.14.0
acorn-walk: 8.3.4
dev: true
@@ -23667,20 +23449,12 @@ packages:
acorn: 7.4.1
dev: true
- /acorn-jsx@5.3.2(acorn@8.12.1):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- acorn: 8.12.1
-
/acorn-jsx@5.3.2(acorn@8.14.0):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: 8.14.0
- dev: false
/acorn-loose@8.4.0:
resolution: {integrity: sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==}
@@ -23697,7 +23471,7 @@ packages:
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
dependencies:
- acorn: 8.12.1
+ acorn: 8.14.0
/acorn@7.4.1:
resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
@@ -24543,7 +24317,7 @@ packages:
postcss: ^8.1.0
dependencies:
browserslist: 4.24.0
- caniuse-lite: 1.0.30001695
+ caniuse-lite: 1.0.30001668
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
@@ -25595,9 +25369,6 @@ packages:
/caniuse-lite@1.0.30001668:
resolution: {integrity: sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==}
- /caniuse-lite@1.0.30001695:
- resolution: {integrity: sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==}
-
/caniuse-lite@1.0.30001700:
resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==}
@@ -25681,6 +25452,7 @@ packages:
/chalk@5.3.0:
resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: false
/chalk@5.4.1:
resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
@@ -29456,8 +29228,8 @@ packages:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.12.1
- acorn-jsx: 5.3.2(acorn@8.12.1)
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
eslint-visitor-keys: 3.4.3
/esprima@4.0.1:
@@ -30640,6 +30412,7 @@ packages:
graceful-fs: 4.2.11
jsonfile: 6.1.0
universalify: 2.0.1
+ dev: false
/fs-extra@11.3.0:
resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==}
@@ -30648,7 +30421,6 @@ packages:
graceful-fs: 4.2.11
jsonfile: 6.1.0
universalify: 2.0.1
- dev: true
/fs-extra@7.0.1:
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
@@ -33018,11 +32790,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /isomorphic-rslog@0.0.5:
- resolution: {integrity: sha512-pkU3vvajRJ0LKLaMFy8Cj7ElbFUdkQKVhUk+DQsVCYsLW4uulU65C2s3l+Sm5OtiOwprzkYYcAIJa/COwCYHWA==}
- engines: {node: '>=14.17.6'}
- dev: true
-
/isomorphic-rslog@0.0.6:
resolution: {integrity: sha512-HM0q6XqQ93psDlqvuViNs/Ea3hAyGDkIdVAHlrEocjjAwGrs1fZ+EdQjS9eUPacnYB7Y8SoDdSY3H8p3ce205A==}
engines: {node: '>=14.17.6'}
@@ -33879,7 +33646,7 @@ packages:
optional: true
dependencies:
abab: 2.0.6
- acorn: 8.12.1
+ acorn: 8.14.0
acorn-globals: 7.0.1
cssom: 0.5.0
cssstyle: 2.3.0
@@ -33887,7 +33654,7 @@ packages:
decimal.js: 10.4.3
domexception: 4.0.0
escodegen: 2.1.0
- form-data: 4.0.0
+ form-data: 4.0.1
html-encoding-sniffer: 3.0.0
http-proxy-agent: 5.0.0
https-proxy-agent: 5.0.1
@@ -34013,7 +33780,7 @@ packages:
resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.12.1
+ acorn: 8.14.0
eslint-visitor-keys: 3.4.3
espree: 9.6.1
semver: 7.6.3
@@ -34353,6 +34120,8 @@ packages:
peerDependenciesMeta:
webpack:
optional: true
+ webpack-sources:
+ optional: true
dependencies:
webpack: 5.93.0(@swc/core@1.7.26)(esbuild@0.18.20)
webpack-sources: 3.2.3
@@ -34657,7 +34426,7 @@ packages:
engines: {node: '>=8.0'}
dependencies:
date-format: 4.0.14
- debug: 4.3.7(supports-color@9.3.1)
+ debug: 4.4.0(supports-color@8.1.1)
flatted: 3.3.1
rfdc: 1.4.1
streamroller: 3.1.5
@@ -34789,12 +34558,12 @@ packages:
resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
+ dev: true
/magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
- dev: true
/magicast@0.3.5:
resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
@@ -39606,9 +39375,6 @@ packages:
/rambda@9.3.0:
resolution: {integrity: sha512-cl/7DCCKNxmsbc0dXZTJTY08rvDdzLhVfE6kPBson1fWzDapLzv0RKSzjpmAqP53fkQqAvq05gpUVHTrUNsuxg==}
- /rambda@9.4.2:
- resolution: {integrity: sha512-++euMfxnl7OgaEKwXh9QqThOjMeta2HH001N1v4mYQzBjJBnmXBh2BCK6dZAbICFVXOFUVD3xFG0R3ZPU0mxXw==}
-
/ramda@0.29.0:
resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==}
dev: true
@@ -42546,7 +42312,7 @@ packages:
/rspack-plugin-virtual-module@0.1.13:
resolution: {integrity: sha512-VC0HiVHH6dtGfTgfpbDgVTt6LlYv+uAg9CWGWAR5lBx9FbKPEZeGz7iRUUP8vMymx+PGI8ps0u4a25dne0rtuQ==}
dependencies:
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
dev: false
/rspress-plugin-annotation-words@0.0.1(rspress@1.34.1):
@@ -43986,8 +43752,8 @@ packages:
cjs-module-lexer: 1.4.1
constants-browserify: 1.0.0
es-module-lexer: 1.5.4
- fs-extra: 11.2.0
- magic-string: 0.30.12
+ fs-extra: 11.3.0
+ magic-string: 0.30.17
path-browserify: 1.0.1
process: 0.11.10
rsbuild-plugin-html-minifier-terser: 1.1.1(@rsbuild/core@1.2.8)
@@ -44387,7 +44153,7 @@ packages:
/strip-literal@1.3.0:
resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
dependencies:
- acorn: 8.12.1
+ acorn: 8.14.0
dev: true
/strip-literal@2.1.0:
@@ -44957,7 +44723,7 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.34.1
+ terser: 5.37.0
webpack: 5.93.0(@swc/core@1.7.26)(esbuild@0.17.19)
/terser-webpack-plugin@5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.93.0):
@@ -44982,7 +44748,7 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.34.1
+ terser: 5.37.0
webpack: 5.93.0(@swc/core@1.7.26)(esbuild@0.18.20)
/terser-webpack-plugin@5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.95.0):
@@ -45007,7 +44773,7 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.34.1
+ terser: 5.37.0
webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)
dev: true
@@ -45033,7 +44799,7 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.34.1
+ terser: 5.37.0
webpack: 5.75.0(@swc/core@1.7.26)(esbuild@0.24.0)
dev: true
@@ -45059,7 +44825,7 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.34.1
+ terser: 5.37.0
webpack: 5.93.0(@swc/core@1.7.26)(esbuild@0.24.0)
/terser-webpack-plugin@5.3.10(@swc/core@1.7.26)(esbuild@0.24.0)(webpack@5.95.0):
@@ -45084,7 +44850,7 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.34.1
+ terser: 5.37.0
webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.24.0)
dev: true
@@ -45192,23 +44958,13 @@ packages:
webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)
dev: true
- /terser@5.34.1:
- resolution: {integrity: sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- '@jridgewell/source-map': 0.3.6
- acorn: 8.12.1
- commander: 2.20.3
- source-map-support: 0.5.21
-
/terser@5.37.0:
resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==}
engines: {node: '>=10'}
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.6
- acorn: 8.12.1
+ acorn: 8.14.0
commander: 2.20.3
source-map-support: 0.5.21
@@ -45713,7 +45469,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 18.16.9
- acorn: 8.12.1
+ acorn: 8.14.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
@@ -45745,7 +45501,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 18.16.9
- acorn: 8.12.1
+ acorn: 8.14.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
@@ -45777,7 +45533,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 20.12.14
- acorn: 8.12.1
+ acorn: 8.14.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
@@ -45809,7 +45565,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 20.12.14
- acorn: 8.12.1
+ acorn: 8.14.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
@@ -46976,10 +46732,10 @@ packages:
'@volar/typescript': 2.4.5
'@vue/language-core': 2.1.6(typescript@5.5.2)
compare-versions: 6.1.1
- debug: 4.3.7(supports-color@9.3.1)
+ debug: 4.4.0(supports-color@8.1.1)
kolorist: 1.8.0
local-pkg: 0.5.0
- magic-string: 0.30.12
+ magic-string: 0.30.17
typescript: 5.5.2
vite: 5.2.14(@types/node@18.16.9)(less@4.2.2)(stylus@0.64.0)
transitivePeerDependencies:
@@ -47356,22 +47112,6 @@ packages:
'@vue/shared': 3.5.10
typescript: 5.5.2
- /vue@3.5.13(typescript@5.5.2):
- resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@vue/compiler-dom': 3.5.13
- '@vue/compiler-sfc': 3.5.13
- '@vue/runtime-dom': 3.5.13
- '@vue/server-renderer': 3.5.13(vue@3.5.13)
- '@vue/shared': 3.5.13
- typescript: 5.5.2
- dev: true
-
/w3c-xmlserializer@4.0.0:
resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
engines: {node: '>=14'}
@@ -47875,8 +47615,8 @@ packages:
'@webassemblyjs/ast': 1.12.1
'@webassemblyjs/wasm-edit': 1.12.1
'@webassemblyjs/wasm-parser': 1.12.1
- acorn: 8.12.1
- acorn-import-attributes: 1.9.5(acorn@8.12.1)
+ acorn: 8.14.0
+ acorn-import-attributes: 1.9.5(acorn@8.14.0)
browserslist: 4.24.0
chrome-trace-event: 1.0.4
enhanced-resolve: 5.17.1