diff --git a/advanced-api/dynamic-remotes-runtime-environment-variables/host/package.json b/advanced-api/dynamic-remotes-runtime-environment-variables/host/package.json index 4ca3379b1e6..13b207445bd 100644 --- a/advanced-api/dynamic-remotes-runtime-environment-variables/host/package.json +++ b/advanced-api/dynamic-remotes-runtime-environment-variables/host/package.json @@ -14,7 +14,8 @@ "@rspack/core": "0.7.5", "@rspack/cli": "0.7.5", "@rspack/dev-server": "0.7.5", - "@module-federation/enhanced": "0.2.5" + "@module-federation/enhanced": "0.2.5", + "@module-federation/runtime": "0.2.5" }, "scripts": { "start": "chmod +x ./env.sh && cp env-config.json ./public/ && rspack serve", diff --git a/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/components/Main.js b/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/components/Main.js index 59bf7d156e9..be1ef3255f6 100644 --- a/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/components/Main.js +++ b/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/components/Main.js @@ -1,5 +1,4 @@ import React, { useContext, useState } from 'react'; - import { useFederatedComponent } from '../hooks/useFederatedComponent'; import { EnvContext } from './App'; diff --git a/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/hooks/useDynamicScript.js b/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/hooks/useDynamicScript.js deleted file mode 100644 index 03f0e07ad89..00000000000 --- a/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/hooks/useDynamicScript.js +++ /dev/null @@ -1,50 +0,0 @@ -import { useEffect, useState } from 'react'; - -const urlCache = new Set(); -const useDynamicScript = url => { - const [ready, setReady] = useState(false); - const [errorLoading, setErrorLoading] = useState(false); - - useEffect(() => { - if (!url) return; - - if (urlCache.has(url)) { - setReady(true); - setErrorLoading(false); - return; - } - - setReady(false); - setErrorLoading(false); - - const element = document.createElement('script'); - - element.src = url; - element.type = 'text/javascript'; - element.async = true; - - element.onload = () => { - urlCache.add(url); - setReady(true); - }; - - element.onerror = () => { - setReady(false); - setErrorLoading(true); - }; - - document.head.appendChild(element); - - return () => { - urlCache.delete(url); - document.head.removeChild(element); - }; - }, [url]); - - return { - errorLoading, - ready, - }; -}; - -export default useDynamicScript; diff --git a/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/hooks/useFederatedComponent.js b/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/hooks/useFederatedComponent.js index 0be954b5bd5..04cf04543f1 100644 --- a/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/hooks/useFederatedComponent.js +++ b/advanced-api/dynamic-remotes-runtime-environment-variables/host/src/hooks/useFederatedComponent.js @@ -1,41 +1,44 @@ import React, { lazy, useEffect, useState } from 'react'; - -import useDynamicScript from './useDynamicScript'; +import {registerRemotes, loadRemote} from "@module-federation/runtime"; function loadComponent(scope, module) { return async () => { - // Initializes the share scope. This fills it with known provided modules from this build and all remotes - await __webpack_init_sharing__('default'); - const container = window[scope]; // or get the container somewhere else - // Initialize the container, it may provide shared modules - await container.init(__webpack_share_scopes__.default); - const factory = await window[scope].get(module); - const Module = factory(); - return Module; + if(!scope && !module) { + return {default: ()=>null} + } + return await loadRemote(scope + module.replace('.','')); }; } const componentCache = new Map(); export const useFederatedComponent = (remoteUrl, scope, module) => { + console.log(remoteUrl,scope, module); + if(scope && remoteUrl) { + registerRemotes([ + { + name: scope, + entry: remoteUrl, + }, + ]); + } const key = `${remoteUrl}-${scope}-${module}`; const [Component, setComponent] = useState(null); - const { ready, errorLoading } = useDynamicScript(remoteUrl); useEffect(() => { if (Component) setComponent(null); // Only recalculate when key changes }, [key]); useEffect(() => { - if (ready && !Component) { + if (!Component) { const Comp = lazy(loadComponent(scope, module)); componentCache.set(key, Comp); setComponent(Comp); } // key includes all dependencies (scope/module) - }, [Component, ready, key]); + }, [Component, key]); - return { errorLoading, Component }; + return { Component }; }; export default useFederatedComponent; diff --git a/package.json b/package.json index a68f7b5fa72..241cdac3aaa 100644 --- a/package.json +++ b/package.json @@ -215,5 +215,6 @@ "report:generate": "allure generate ./cypress/results/allure-results --clean -o ./cypress/report", "report:open": "allure open ./cypress/report", "preinstall": "npx only-allow pnpm" - } + }, + "packageManager": "pnpm@9.4.0+sha512.f549b8a52c9d2b8536762f99c0722205efc5af913e77835dbccc3b0b0b2ca9e7dc8022b78062c17291c48e88749c70ce88eb5a74f1fa8c4bf5e18bb46c8bd83a" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c36d7e842f4..7e04e6d305b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,7 +57,7 @@ importers: version: 9.0.11 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0) + version: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) js-yaml: specifier: 4.1.0 version: 4.1.0 @@ -213,6 +213,9 @@ importers: '@module-federation/enhanced': specifier: 0.2.5 version: 0.2.5(typescript@5.5.3)(webpack@5.92.1(@swc/core@1.6.13)(webpack-cli@5.1.4)) + '@module-federation/runtime': + specifier: 0.2.5 + version: 0.2.5 '@rspack/cli': specifier: 0.7.5 version: 0.7.5(@rspack/core@0.7.5(@swc/helpers@0.5.11))(@types/express@4.17.21)(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.92.1))(webpack@5.92.1(@swc/core@1.6.13)(webpack-cli@5.1.4)) @@ -9890,7 +9893,7 @@ importers: version: 8.2.6(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/addon-interactions': specifier: ^8.2.6 - version: 8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) + version: 8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) '@storybook/addon-links': specifier: ^8.2.6 version: 8.2.6(react@17.0.2)(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7))) @@ -9902,7 +9905,7 @@ importers: version: 8.2.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/preset-create-react-app': specifier: ^8.2.6 - version: 8.2.6(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(react-refresh@0.11.0)(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(esbuild@0.21.5)(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(type-fest@2.19.0)(typescript@5.5.3)(webpack-dev-server@4.15.2(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) + version: 8.2.6(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(react-refresh@0.14.2)(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(esbuild@0.21.5)(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(type-fest@2.19.0)(typescript@5.5.3)(webpack-dev-server@5.0.4(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) '@storybook/react': specifier: ^8.2.6 version: 8.2.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3) @@ -9911,7 +9914,7 @@ importers: version: 8.2.6(@rspack/core@0.7.5)(@swc/core@1.6.13)(esbuild@0.21.5)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3) '@storybook/test': specifier: ^8.2.6 - version: 8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) + version: 8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) babel-plugin-named-exports-order: specifier: 0.0.2 version: 0.0.2 @@ -9944,7 +9947,7 @@ importers: version: 17.0.2(react@17.0.2) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13))(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4) + version: 5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13))(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4) redux-reducer-injection: devDependencies: @@ -13351,7 +13354,7 @@ importers: version: 5.6.0(@rspack/core@0.7.5)(webpack@5.92.1(@swc/core@1.6.13)(webpack-cli@5.1.4)) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0) + version: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -38802,11 +38805,6 @@ snapshots: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9)': - dependencies: - '@babel/core': 7.24.9 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-function-sent@7.23.3(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -42800,6 +42798,76 @@ snapshots: - supports-color - ts-node + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.9.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@18.19.39)(typescript@5.5.3)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.7 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.9.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.7 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + '@jest/environment@27.5.1': dependencies: '@jest/fake-timers': 27.5.1 @@ -50484,6 +50552,23 @@ snapshots: webpack-dev-server: 4.15.2(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) webpack-hot-middleware: 2.25.4 + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.0.4(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5))': + dependencies: + ansi-html: 0.0.9 + core-js-pure: 3.36.0 + error-stack-parser: 2.1.4 + html-entities: 2.5.2 + loader-utils: 2.0.4 + react-refresh: 0.14.2 + schema-utils: 4.2.0 + source-map: 0.7.4 + webpack: 5.92.1(@swc/core@1.6.13)(esbuild@0.21.5) + optionalDependencies: + '@types/webpack': 5.28.0(@swc/core@1.6.13)(esbuild@0.21.5) + type-fest: 2.19.0 + webpack-dev-server: 5.0.4(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) + webpack-hot-middleware: 2.25.4 + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(@types/webpack@5.28.0(@swc/core@1.6.13)(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.92.1)))(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.0.4(webpack-cli@5.1.4)(webpack@5.92.1))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(webpack-cli@5.1.4))': dependencies: ansi-html: 0.0.9 @@ -52582,11 +52667,11 @@ snapshots: '@storybook/global': 5.0.0 storybook: 8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/addon-interactions@8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6))': + '@storybook/addon-interactions@8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6))': dependencies: '@storybook/global': 5.0.0 '@storybook/instrumenter': 8.2.6(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7))) - '@storybook/test': 8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) + '@storybook/test': 8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) polished: 4.3.1 storybook: 8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 @@ -52871,9 +52956,9 @@ snapshots: npmlog: 5.0.1 pretty-hrtime: 1.0.3 - '@storybook/preset-create-react-app@8.2.6(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(react-refresh@0.11.0)(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(esbuild@0.21.5)(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(type-fest@2.19.0)(typescript@5.5.3)(webpack-dev-server@4.15.2(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5))': + '@storybook/preset-create-react-app@8.2.6(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(react-refresh@0.14.2)(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(esbuild@0.21.5)(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(type-fest@2.19.0)(typescript@5.5.3)(webpack-dev-server@5.0.4(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5))': dependencies: - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(react-refresh@0.11.0)(type-fest@2.19.0)(webpack-dev-server@4.15.2(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(@types/webpack@5.28.0(@swc/core@1.6.13)(esbuild@0.21.5))(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.0.4(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) '@types/semver': 7.5.8 pnp-webpack-plugin: 1.7.0(typescript@5.5.3) @@ -53002,12 +53087,12 @@ snapshots: core-js: 3.37.1 find-up: 4.1.0 - '@storybook/test@8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6))': + '@storybook/test@8.2.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6))': dependencies: '@storybook/csf': 0.1.11 '@storybook/instrumenter': 8.2.6(storybook@8.2.6(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@testing-library/dom': 10.1.0 - '@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) + '@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6)) '@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0) '@vitest/expect': 1.6.0 '@vitest/spy': 1.6.0 @@ -53501,7 +53586,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6))': + '@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(vitest@1.6.0(@types/node@20.9.0)(sass@1.77.6))': dependencies: '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.24.7 @@ -53514,7 +53599,7 @@ snapshots: optionalDependencies: '@jest/globals': 29.7.0 '@types/jest': 29.5.12 - jest: 27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) + jest: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) vitest: 1.6.0(@types/node@20.9.0)(jsdom@24.1.0)(less@4.2.0)(sass@1.77.6)(stylus@0.62.0)(terser@5.31.3) '@testing-library/jest-dom@6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0))(vitest@1.6.0(@types/node@20.9.0))': @@ -58577,13 +58662,28 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0): + create-jest@29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@16.18.101)(typescript@5.5.3)) + jest-config: 29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@18.19.39)(typescript@5.5.3)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -60743,33 +60843,6 @@ snapshots: - jest - supports-color - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9))(eslint@9.6.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(typescript@5.5.3): - dependencies: - '@babel/core': 7.24.7 - '@babel/eslint-parser': 7.24.7(@babel/core@7.24.7)(eslint@9.6.0) - '@rushstack/eslint-patch': 1.7.2 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/parser': 5.62.0(eslint@9.6.0)(typescript@5.5.3) - babel-preset-react-app: 10.0.1 - confusing-browser-globals: 1.0.11 - eslint: 9.6.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9))(eslint@9.6.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(typescript@5.5.3) - eslint-plugin-jsx-a11y: 6.9.0(eslint@9.6.0) - eslint-plugin-react: 7.34.3(eslint@9.6.0) - eslint-plugin-react-hooks: 4.6.2(eslint@9.6.0) - eslint-plugin-testing-library: 5.11.1(eslint@9.6.0)(typescript@5.5.3) - optionalDependencies: - typescript: 5.5.3 - transitivePeerDependencies: - - '@babel/plugin-syntax-flow' - - '@babel/plugin-transform-react-jsx' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - eslint-import-resolver-custom-alias@1.3.2(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)): dependencies: eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0) @@ -60885,14 +60958,6 @@ snapshots: lodash: 4.17.21 string-natural-compare: 3.0.1 - eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9))(eslint@9.6.0): - dependencies: - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.9) - '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.9) - eslint: 9.6.0 - lodash: 4.17.21 - string-natural-compare: 3.0.1 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0): dependencies: array-includes: 3.1.7 @@ -64092,11 +64157,11 @@ snapshots: jest-cli@29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@18.19.39)(typescript@5.5.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@18.19.39)(typescript@5.5.3)) + create-jest: 29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3)) exit: 0.1.2 import-local: 3.1.0 jest-config: 29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@18.19.39)(typescript@5.5.3)) @@ -64109,16 +64174,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0): + jest-cli@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@16.18.101)(typescript@5.5.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0) + create-jest: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@16.18.101)(typescript@5.5.3)) + jest-config: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -64346,6 +64411,37 @@ snapshots: - babel-plugin-macros - supports-color + jest-config@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)): + dependencies: + '@babel/core': 7.24.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.7 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.9.0 + ts-node: 10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-diff@27.5.1: dependencies: chalk: 4.1.2 @@ -65127,7 +65223,7 @@ snapshots: jest@29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@18.19.39)(typescript@5.5.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3)) '@jest/types': 29.6.3 import-local: 3.1.0 jest-cli: 29.7.0(@types/node@18.19.39)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@18.19.39)(typescript@5.5.3)) @@ -65139,10 +65235,22 @@ snapshots: jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13(@swc/helpers@0.5.6))(@types/node@16.18.101)(typescript@5.5.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest@29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0) + jest-cli: 29.7.0(@types/node@20.9.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -71600,7 +71708,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13))(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7))(@rspack/core@0.7.5)(@swc/core@1.6.13)(@types/babel__core@7.20.5)(@types/webpack@5.28.0(@swc/core@1.6.13))(eslint@9.6.0)(react@17.0.2)(sass-embedded@1.77.8)(sass@1.77.6)(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3))(type-fest@2.19.0)(typescript@5.5.3)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.4): dependencies: '@babel/core': 7.24.7 '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(@types/webpack@5.28.0(@swc/core@1.6.13))(react-refresh@0.11.0)(type-fest@2.19.0)(webpack-dev-server@4.15.2(webpack@5.92.1(@swc/core@1.6.13)))(webpack-hot-middleware@2.25.4)(webpack@5.92.1(@swc/core@1.6.13)) @@ -71618,7 +71726,7 @@ snapshots: dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 9.6.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9))(eslint@9.6.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(typescript@5.5.3) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7))(eslint@9.6.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.6.13)(@types/node@20.9.0)(typescript@5.5.3)))(typescript@5.5.3) eslint-webpack-plugin: 3.2.0(eslint@9.6.0)(webpack@5.92.1(@swc/core@1.6.13)) file-loader: 6.2.0(webpack@5.92.1(@swc/core@1.6.13)) fs-extra: 10.1.0 @@ -76683,6 +76791,18 @@ snapshots: webpack: 5.92.1(@swc/core@1.6.13(@swc/helpers@0.5.6)) optional: true + webpack-dev-middleware@7.2.0(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)): + dependencies: + colorette: 2.0.20 + memfs: 4.7.7 + mime-types: 2.1.35 + on-finished: 2.4.1 + range-parser: 1.2.1 + schema-utils: 4.2.0 + optionalDependencies: + webpack: 5.92.1(@swc/core@1.6.13)(esbuild@0.21.5) + optional: true + webpack-dev-middleware@7.2.0(webpack@5.92.1(@swc/core@1.6.13)(webpack-cli@5.1.4)): dependencies: colorette: 2.0.20 @@ -77502,6 +77622,47 @@ snapshots: - utf-8-validate optional: true + webpack-dev-server@5.0.4(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.10 + ansi-html-community: 0.0.8 + bonjour-service: 1.2.1 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.19.2 + graceful-fs: 4.2.11 + html-entities: 2.5.2 + http-proxy-middleware: 2.0.6(@types/express@4.17.21) + ipaddr.js: 2.1.0 + launch-editor: 2.6.1 + open: 10.0.4 + p-retry: 6.2.0 + rimraf: 5.0.8 + schema-utils: 4.2.0 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 7.2.0(webpack@5.92.1(@swc/core@1.6.13)(esbuild@0.21.5)) + ws: 8.17.1 + optionalDependencies: + webpack: 5.92.1(@swc/core@1.6.13)(esbuild@0.21.5) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + optional: true + webpack-federation-stats-plugin@1.1.0: {} webpack-hot-middleware@2.25.4: