diff --git a/module-federation-vite-react/README.md b/module-federation-vite-react/README.md
new file mode 100644
index 00000000000..6789c984a2e
--- /dev/null
+++ b/module-federation-vite-react/README.md
@@ -0,0 +1,12 @@
+# React host and remote
+
+## Getting started
+
+From this directory execute:
+
+- npm run install:deps
+- npm run preview
+
+Open your browser at http://localhost:4173/ to see the amazing result
+
+![screenshot](docs/screenshot.png)
diff --git a/module-federation-vite-react/docs/screenshot.png b/module-federation-vite-react/docs/screenshot.png
new file mode 100644
index 00000000000..6593cf87729
Binary files /dev/null and b/module-federation-vite-react/docs/screenshot.png differ
diff --git a/module-federation-vite-react/host/.gitignore b/module-federation-vite-react/host/.gitignore
new file mode 100644
index 00000000000..5f1cfae9304
--- /dev/null
+++ b/module-federation-vite-react/host/.gitignore
@@ -0,0 +1,26 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+.__mf__temp
\ No newline at end of file
diff --git a/module-federation-vite-react/host/index.html b/module-federation-vite-react/host/index.html
new file mode 100644
index 00000000000..823be6f5544
--- /dev/null
+++ b/module-federation-vite-react/host/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Host
+
+
+
+
+
+
+
diff --git a/module-federation-vite-react/host/package.json b/module-federation-vite-react/host/package.json
new file mode 100644
index 00000000000..4c62a9434de
--- /dev/null
+++ b/module-federation-vite-react/host/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "module-federation-vite-react-host",
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite --port 4173",
+ "build": "tsc && vite build",
+ "preview": "npm run build && vite preview --port 4173"
+ },
+ "dependencies": {
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "rxjs": "^7.8.1"
+ },
+ "devDependencies": {
+ "@module-federation/vite": "1.0.0",
+ "@types/react": "18.2.79",
+ "@types/react-dom": "18.2.25",
+ "@vitejs/plugin-react": "4.2.1",
+ "typescript": "5.4.5",
+ "vite": "5.2.10"
+ }
+}
diff --git a/module-federation-vite-react/host/pnpm-lock.yaml b/module-federation-vite-react/host/pnpm-lock.yaml
new file mode 100644
index 00000000000..f7b208daac8
--- /dev/null
+++ b/module-federation-vite-react/host/pnpm-lock.yaml
@@ -0,0 +1,1157 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+ .:
+ dependencies:
+ react:
+ specifier: ^18.3.1
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.3.1
+ version: 18.3.1(react@18.3.1)
+ rxjs:
+ specifier: ^7.8.1
+ version: 7.8.1
+ devDependencies:
+ '@module-federation/vite':
+ specifier: 1.0.0
+ version: 1.0.0(rollup@4.19.1)
+ '@types/react':
+ specifier: 18.2.79
+ version: 18.2.79
+ '@types/react-dom':
+ specifier: 18.2.25
+ version: 18.2.25
+ '@vitejs/plugin-react':
+ specifier: 4.2.1
+ version: 4.2.1(vite@5.2.10(@types/node@18.19.42))
+ typescript:
+ specifier: 5.4.5
+ version: 5.4.5
+ vite:
+ specifier: 5.2.10
+ version: 5.2.10(@types/node@18.19.42)
+
+packages:
+ '@ampproject/remapping@2.3.0':
+ resolution: { integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== }
+ engines: { node: '>=6.0.0' }
+
+ '@babel/code-frame@7.24.7':
+ resolution: { integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/compat-data@7.25.2':
+ resolution: { integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/core@7.25.2':
+ resolution: { integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/generator@7.25.0':
+ resolution: { integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-compilation-targets@7.25.2':
+ resolution: { integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-module-imports@7.24.7':
+ resolution: { integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-module-transforms@7.25.2':
+ resolution: { integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-plugin-utils@7.24.8':
+ resolution: { integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-simple-access@7.24.7':
+ resolution: { integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-string-parser@7.24.8':
+ resolution: { integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-validator-identifier@7.24.7':
+ resolution: { integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-validator-option@7.24.8':
+ resolution: { integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helpers@7.25.0':
+ resolution: { integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/highlight@7.24.7':
+ resolution: { integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/parser@7.25.3':
+ resolution: { integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== }
+ engines: { node: '>=6.0.0' }
+ hasBin: true
+
+ '@babel/plugin-transform-react-jsx-self@7.24.7':
+ resolution: { integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-source@7.24.7':
+ resolution: { integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/template@7.25.0':
+ resolution: { integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/traverse@7.25.3':
+ resolution: { integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/types@7.25.2':
+ resolution: { integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== }
+ engines: { node: '>=6.9.0' }
+
+ '@esbuild/aix-ppc64@0.20.2':
+ resolution: { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.20.2':
+ resolution: { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.20.2':
+ resolution: { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.20.2':
+ resolution: { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.20.2':
+ resolution: { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.20.2':
+ resolution: { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ resolution: { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.20.2':
+ resolution: { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.20.2':
+ resolution: { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.20.2':
+ resolution: { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.20.2':
+ resolution: { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.20.2':
+ resolution: { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== }
+ engines: { node: '>=12' }
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.20.2':
+ resolution: { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== }
+ engines: { node: '>=12' }
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.20.2':
+ resolution: { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.20.2':
+ resolution: { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== }
+ engines: { node: '>=12' }
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.20.2':
+ resolution: { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== }
+ engines: { node: '>=12' }
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.20.2':
+ resolution: { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-x64@0.20.2':
+ resolution: { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-x64@0.20.2':
+ resolution: { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.20.2':
+ resolution: { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.20.2':
+ resolution: { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.20.2':
+ resolution: { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.20.2':
+ resolution: { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [win32]
+
+ '@jridgewell/gen-mapping@0.3.5':
+ resolution: { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== }
+ engines: { node: '>=6.0.0' }
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== }
+ engines: { node: '>=6.0.0' }
+
+ '@jridgewell/set-array@1.2.1':
+ resolution: { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== }
+ engines: { node: '>=6.0.0' }
+
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: { integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== }
+
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== }
+
+ '@module-federation/runtime@0.6.1':
+ resolution: { integrity: sha512-57NvdAwrQagw7bEAjvIav8sU0srTT5O+ul8hl86j2a3I5gYBF6NN2QGx4w5d/exgXUcqmUQZBV6I3q5NrcRzfg== }
+
+ '@module-federation/sdk@0.6.1':
+ resolution: { integrity: sha512-OjDW2sYz4iaZnu4rpTlYDzjXAQiLLzCPwIFM+UFvRtdgWN08Bjn5sDRgMzP2x2ziLzonwmEFDEK9Sl2h85NtJg== }
+
+ '@module-federation/vite@1.0.0':
+ resolution: { integrity: sha512-RRlMIgaL4FAAX9v84DoM8P5G+z0WpPqnrUM5X7tWD/yT5TqSTzu0Wu7CJNHKvDvLIg05f/4e9mes5KQ38QhgeA== }
+
+ '@rollup/pluginutils@5.1.0':
+ resolution: { integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.19.1':
+ resolution: { integrity: sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww== }
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.19.1':
+ resolution: { integrity: sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A== }
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.19.1':
+ resolution: { integrity: sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q== }
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.19.1':
+ resolution: { integrity: sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA== }
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.19.1':
+ resolution: { integrity: sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q== }
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.19.1':
+ resolution: { integrity: sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw== }
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-gnu@4.19.1':
+ resolution: { integrity: sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw== }
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.19.1':
+ resolution: { integrity: sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw== }
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.19.1':
+ resolution: { integrity: sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ== }
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.19.1':
+ resolution: { integrity: sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A== }
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.19.1':
+ resolution: { integrity: sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q== }
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-gnu@4.19.1':
+ resolution: { integrity: sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q== }
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.19.1':
+ resolution: { integrity: sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q== }
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-win32-arm64-msvc@4.19.1':
+ resolution: { integrity: sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA== }
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.19.1':
+ resolution: { integrity: sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ== }
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.19.1':
+ resolution: { integrity: sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg== }
+ cpu: [x64]
+ os: [win32]
+
+ '@types/babel__core@7.20.5':
+ resolution: { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== }
+
+ '@types/babel__generator@7.6.8':
+ resolution: { integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== }
+
+ '@types/babel__template@7.4.4':
+ resolution: { integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== }
+
+ '@types/babel__traverse@7.20.6':
+ resolution: { integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== }
+
+ '@types/estree@1.0.5':
+ resolution: { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== }
+
+ '@types/node@18.19.42':
+ resolution: { integrity: sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg== }
+
+ '@types/prop-types@15.7.12':
+ resolution: { integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== }
+
+ '@types/react-dom@18.2.25':
+ resolution: { integrity: sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== }
+
+ '@types/react@18.2.79':
+ resolution: { integrity: sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w== }
+
+ '@vitejs/plugin-react@4.2.1':
+ resolution: { integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0
+
+ ansi-styles@3.2.1:
+ resolution: { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== }
+ engines: { node: '>=4' }
+
+ browserslist@4.23.2:
+ resolution: { integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== }
+ engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
+ hasBin: true
+
+ caniuse-lite@1.0.30001646:
+ resolution: { integrity: sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw== }
+
+ chalk@2.4.2:
+ resolution: { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== }
+ engines: { node: '>=4' }
+
+ color-convert@1.9.3:
+ resolution: { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== }
+
+ color-name@1.1.3:
+ resolution: { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== }
+
+ convert-source-map@2.0.0:
+ resolution: { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== }
+
+ csstype@3.1.3:
+ resolution: { integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== }
+
+ debug@4.3.6:
+ resolution: { integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== }
+ engines: { node: '>=6.0' }
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ defu@6.1.4:
+ resolution: { integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== }
+
+ electron-to-chromium@1.5.4:
+ resolution: { integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA== }
+
+ esbuild@0.20.2:
+ resolution: { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== }
+ engines: { node: '>=12' }
+ hasBin: true
+
+ escalade@3.1.2:
+ resolution: { integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== }
+ engines: { node: '>=6' }
+
+ escape-string-regexp@1.0.5:
+ resolution: { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== }
+ engines: { node: '>=0.8.0' }
+
+ estree-walker@2.0.2:
+ resolution: { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== }
+
+ fsevents@2.3.3:
+ resolution: { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
+ os: [darwin]
+
+ gensync@1.0.0-beta.2:
+ resolution: { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== }
+ engines: { node: '>=6.9.0' }
+
+ globals@11.12.0:
+ resolution: { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== }
+ engines: { node: '>=4' }
+
+ has-flag@3.0.0:
+ resolution: { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== }
+ engines: { node: '>=4' }
+
+ js-tokens@4.0.0:
+ resolution: { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== }
+
+ jsesc@2.5.2:
+ resolution: { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== }
+ engines: { node: '>=4' }
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== }
+ engines: { node: '>=6' }
+ hasBin: true
+
+ loose-envify@1.4.0:
+ resolution: { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== }
+ hasBin: true
+
+ lru-cache@5.1.1:
+ resolution: { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== }
+
+ magic-string@0.30.11:
+ resolution: { integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== }
+
+ ms@2.1.2:
+ resolution: { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== }
+
+ nanoid@3.3.7:
+ resolution: { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
+ hasBin: true
+
+ node-releases@2.0.18:
+ resolution: { integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== }
+
+ pathe@1.1.2:
+ resolution: { integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== }
+
+ picocolors@1.0.1:
+ resolution: { integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== }
+
+ picomatch@2.3.1:
+ resolution: { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== }
+ engines: { node: '>=8.6' }
+
+ postcss@8.4.40:
+ resolution: { integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q== }
+ engines: { node: ^10 || ^12 || >=14 }
+
+ react-dom@18.3.1:
+ resolution: { integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== }
+ peerDependencies:
+ react: ^18.3.1
+
+ react-refresh@0.14.2:
+ resolution: { integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== }
+ engines: { node: '>=0.10.0' }
+
+ react@18.3.1:
+ resolution: { integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== }
+ engines: { node: '>=0.10.0' }
+
+ rollup@4.19.1:
+ resolution: { integrity: sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw== }
+ engines: { node: '>=18.0.0', npm: '>=8.0.0' }
+ hasBin: true
+
+ rxjs@7.8.1:
+ resolution: { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== }
+
+ scheduler@0.23.2:
+ resolution: { integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== }
+
+ semver@6.3.1:
+ resolution: { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== }
+ hasBin: true
+
+ source-map-js@1.2.0:
+ resolution: { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== }
+ engines: { node: '>=0.10.0' }
+
+ supports-color@5.5.0:
+ resolution: { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== }
+ engines: { node: '>=4' }
+
+ to-fast-properties@2.0.0:
+ resolution: { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== }
+ engines: { node: '>=4' }
+
+ tslib@2.7.0:
+ resolution: { integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== }
+
+ typescript@5.4.5:
+ resolution: { integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== }
+ engines: { node: '>=14.17' }
+ hasBin: true
+
+ undici-types@5.26.5:
+ resolution: { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== }
+
+ update-browserslist-db@1.1.0:
+ resolution: { integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== }
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ vite@5.2.10:
+ resolution: { integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== }
+ engines: { node: ^18.0.0 || >=20.0.0 }
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ yallist@3.1.1:
+ resolution: { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== }
+
+snapshots:
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@babel/code-frame@7.24.7':
+ dependencies:
+ '@babel/highlight': 7.24.7
+ picocolors: 1.0.1
+
+ '@babel/compat-data@7.25.2': {}
+
+ '@babel/core@7.25.2':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.0
+ '@babel/helper-compilation-targets': 7.25.2
+ '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
+ '@babel/helpers': 7.25.0
+ '@babel/parser': 7.25.3
+ '@babel/template': 7.25.0
+ '@babel/traverse': 7.25.3
+ '@babel/types': 7.25.2
+ convert-source-map: 2.0.0
+ debug: 4.3.6
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.25.0':
+ dependencies:
+ '@babel/types': 7.25.2
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/helper-compilation-targets@7.25.2':
+ dependencies:
+ '@babel/compat-data': 7.25.2
+ '@babel/helper-validator-option': 7.24.8
+ browserslist: 4.23.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-module-imports@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.25.3
+ '@babel/types': 7.25.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-module-imports': 7.24.7
+ '@babel/helper-simple-access': 7.24.7
+ '@babel/helper-validator-identifier': 7.24.7
+ '@babel/traverse': 7.25.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-plugin-utils@7.24.8': {}
+
+ '@babel/helper-simple-access@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.25.3
+ '@babel/types': 7.25.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.24.8': {}
+
+ '@babel/helper-validator-identifier@7.24.7': {}
+
+ '@babel/helper-validator-option@7.24.8': {}
+
+ '@babel/helpers@7.25.0':
+ dependencies:
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.2
+
+ '@babel/highlight@7.24.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.24.7
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.1
+
+ '@babel/parser@7.25.3':
+ dependencies:
+ '@babel/types': 7.25.2
+
+ '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-plugin-utils': 7.24.8
+
+ '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-plugin-utils': 7.24.8
+
+ '@babel/template@7.25.0':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+
+ '@babel/traverse@7.25.3':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.0
+ '@babel/parser': 7.25.3
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.2
+ debug: 4.3.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.25.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.8
+ '@babel/helper-validator-identifier': 7.24.7
+ to-fast-properties: 2.0.0
+
+ '@esbuild/aix-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm@0.20.2':
+ optional: true
+
+ '@esbuild/android-x64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.20.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.20.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/win32-x64@0.20.2':
+ optional: true
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/sourcemap-codec@1.5.0': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@module-federation/runtime@0.6.1':
+ dependencies:
+ '@module-federation/sdk': 0.6.1
+
+ '@module-federation/sdk@0.6.1': {}
+
+ '@module-federation/vite@1.0.0(rollup@4.19.1)':
+ dependencies:
+ '@module-federation/runtime': 0.6.1
+ '@rollup/pluginutils': 5.1.0(rollup@4.19.1)
+ defu: 6.1.4
+ estree-walker: 2.0.2
+ magic-string: 0.30.11
+ pathe: 1.1.2
+ transitivePeerDependencies:
+ - rollup
+
+ '@rollup/pluginutils@5.1.0(rollup@4.19.1)':
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ optionalDependencies:
+ rollup: 4.19.1
+
+ '@rollup/rollup-android-arm-eabi@4.19.1':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.19.1':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.19.1':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.19.1':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.19.1':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.19.1':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.19.1':
+ optional: true
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+ '@types/babel__generator': 7.6.8
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.6
+
+ '@types/babel__generator@7.6.8':
+ dependencies:
+ '@babel/types': 7.25.2
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+
+ '@types/babel__traverse@7.20.6':
+ dependencies:
+ '@babel/types': 7.25.2
+
+ '@types/estree@1.0.5': {}
+
+ '@types/node@18.19.42':
+ dependencies:
+ undici-types: 5.26.5
+ optional: true
+
+ '@types/prop-types@15.7.12': {}
+
+ '@types/react-dom@18.2.25':
+ dependencies:
+ '@types/react': 18.2.79
+
+ '@types/react@18.2.79':
+ dependencies:
+ '@types/prop-types': 15.7.12
+ csstype: 3.1.3
+
+ '@vitejs/plugin-react@4.2.1(vite@5.2.10(@types/node@18.19.42))':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2)
+ '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2)
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.14.2
+ vite: 5.2.10(@types/node@18.19.42)
+ transitivePeerDependencies:
+ - supports-color
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
+ browserslist@4.23.2:
+ dependencies:
+ caniuse-lite: 1.0.30001646
+ electron-to-chromium: 1.5.4
+ node-releases: 2.0.18
+ update-browserslist-db: 1.1.0(browserslist@4.23.2)
+
+ caniuse-lite@1.0.30001646: {}
+
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
+ color-name@1.1.3: {}
+
+ convert-source-map@2.0.0: {}
+
+ csstype@3.1.3: {}
+
+ debug@4.3.6:
+ dependencies:
+ ms: 2.1.2
+
+ defu@6.1.4: {}
+
+ electron-to-chromium@1.5.4: {}
+
+ esbuild@0.20.2:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+
+ escalade@3.1.2: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ estree-walker@2.0.2: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ gensync@1.0.0-beta.2: {}
+
+ globals@11.12.0: {}
+
+ has-flag@3.0.0: {}
+
+ js-tokens@4.0.0: {}
+
+ jsesc@2.5.2: {}
+
+ json5@2.2.3: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ magic-string@0.30.11:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ ms@2.1.2: {}
+
+ nanoid@3.3.7: {}
+
+ node-releases@2.0.18: {}
+
+ pathe@1.1.2: {}
+
+ picocolors@1.0.1: {}
+
+ picomatch@2.3.1: {}
+
+ postcss@8.4.40:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.1
+ source-map-js: 1.2.0
+
+ react-dom@18.3.1(react@18.3.1):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.1
+ scheduler: 0.23.2
+
+ react-refresh@0.14.2: {}
+
+ react@18.3.1:
+ dependencies:
+ loose-envify: 1.4.0
+
+ rollup@4.19.1:
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.19.1
+ '@rollup/rollup-android-arm64': 4.19.1
+ '@rollup/rollup-darwin-arm64': 4.19.1
+ '@rollup/rollup-darwin-x64': 4.19.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.19.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.19.1
+ '@rollup/rollup-linux-arm64-gnu': 4.19.1
+ '@rollup/rollup-linux-arm64-musl': 4.19.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.19.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.19.1
+ '@rollup/rollup-linux-s390x-gnu': 4.19.1
+ '@rollup/rollup-linux-x64-gnu': 4.19.1
+ '@rollup/rollup-linux-x64-musl': 4.19.1
+ '@rollup/rollup-win32-arm64-msvc': 4.19.1
+ '@rollup/rollup-win32-ia32-msvc': 4.19.1
+ '@rollup/rollup-win32-x64-msvc': 4.19.1
+ fsevents: 2.3.3
+
+ rxjs@7.8.1:
+ dependencies:
+ tslib: 2.7.0
+
+ scheduler@0.23.2:
+ dependencies:
+ loose-envify: 1.4.0
+
+ semver@6.3.1: {}
+
+ source-map-js@1.2.0: {}
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
+ to-fast-properties@2.0.0: {}
+
+ tslib@2.7.0: {}
+
+ typescript@5.4.5: {}
+
+ undici-types@5.26.5:
+ optional: true
+
+ update-browserslist-db@1.1.0(browserslist@4.23.2):
+ dependencies:
+ browserslist: 4.23.2
+ escalade: 3.1.2
+ picocolors: 1.0.1
+
+ vite@5.2.10(@types/node@18.19.42):
+ dependencies:
+ esbuild: 0.20.2
+ postcss: 8.4.40
+ rollup: 4.19.1
+ optionalDependencies:
+ '@types/node': 18.19.42
+ fsevents: 2.3.3
+
+ yallist@3.1.1: {}
diff --git a/module-federation-vite-react/host/public/vite.svg b/module-federation-vite-react/host/public/vite.svg
new file mode 100644
index 00000000000..e7b8dfb1b2a
--- /dev/null
+++ b/module-federation-vite-react/host/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/module-federation-vite-react/host/src/App.css b/module-federation-vite-react/host/src/App.css
new file mode 100644
index 00000000000..8b49a66b79e
--- /dev/null
+++ b/module-federation-vite-react/host/src/App.css
@@ -0,0 +1,25 @@
+.host .card {
+ background: #3178c6;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
+ border-radius: 5px;
+ margin: 20px 20px 20px 20px;
+ width: 250px;
+ padding: 20px;
+ text-align: center;
+ color: white;
+ float: left;
+}
+
+.host .title {
+ margin-top: 10px;
+ font-size: 25px;
+}
+
+.host svg {
+ width: 100px;
+ height: 100px;
+}
+
+.host path {
+ fill: #f6b352;
+}
\ No newline at end of file
diff --git a/module-federation-vite-react/host/src/App.tsx b/module-federation-vite-react/host/src/App.tsx
new file mode 100644
index 00000000000..dcffe0e9bf8
--- /dev/null
+++ b/module-federation-vite-react/host/src/App.tsx
@@ -0,0 +1,48 @@
+import { lazy, Suspense, useEffect } from 'react';
+import { of, tap } from 'rxjs';
+import './App.css';
+import Counter from './components/Counter';
+
+const Remote = lazy(
+ // @ts-ignore
+ async () => import('remote/remote-app'),
+);
+
+export default () => {
+ useEffect(() => {
+ of('emit')
+ .pipe(tap(() => console.log("I'm RxJs from host")))
+ .subscribe();
+ }, []);
+
+ return (
+ <>
+
+
+
+
+
+ >
+ );
+};
diff --git a/module-federation-vite-react/host/src/components/Counter.tsx b/module-federation-vite-react/host/src/components/Counter.tsx
new file mode 100644
index 00000000000..d41781059c7
--- /dev/null
+++ b/module-federation-vite-react/host/src/components/Counter.tsx
@@ -0,0 +1,22 @@
+import { useState } from 'react';
+
+export default () => {
+ const [count, setCount] = useState(0);
+
+ return (
+
+ );
+};
diff --git a/module-federation-vite-react/host/src/main.tsx b/module-federation-vite-react/host/src/main.tsx
new file mode 100644
index 00000000000..3104e396061
--- /dev/null
+++ b/module-federation-vite-react/host/src/main.tsx
@@ -0,0 +1,9 @@
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import App from './App';
+
+ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
+
+
+ ,
+);
diff --git a/module-federation-vite-react/host/src/vite-env.d.ts b/module-federation-vite-react/host/src/vite-env.d.ts
new file mode 100644
index 00000000000..11f02fe2a00
--- /dev/null
+++ b/module-federation-vite-react/host/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/module-federation-vite-react/host/tsconfig.json b/module-federation-vite-react/host/tsconfig.json
new file mode 100644
index 00000000000..58a0ee8a451
--- /dev/null
+++ b/module-federation-vite-react/host/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "useDefineForClassFields": true,
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
+ "allowJs": false,
+ "skipLibCheck": true,
+ "esModuleInterop": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "baseUrl": ".",
+ "paths": {
+ "shared": ["../shared/shared.ts"]
+ }
+ },
+ "include": ["src"],
+ "references": [
+ {
+ "path": "./tsconfig.node.json"
+ }
+ ]
+}
diff --git a/module-federation-vite-react/host/tsconfig.node.json b/module-federation-vite-react/host/tsconfig.node.json
new file mode 100644
index 00000000000..ac12f8612b3
--- /dev/null
+++ b/module-federation-vite-react/host/tsconfig.node.json
@@ -0,0 +1,12 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": [
+ "vite.config.ts",
+ "module-federation/vite-importmap-shim.ts"
+ ]
+}
\ No newline at end of file
diff --git a/module-federation-vite-react/host/vite.config.ts b/module-federation-vite-react/host/vite.config.ts
new file mode 100644
index 00000000000..50769e97bc9
--- /dev/null
+++ b/module-federation-vite-react/host/vite.config.ts
@@ -0,0 +1,34 @@
+import { federation } from '@module-federation/vite';
+import react from '@vitejs/plugin-react';
+import { defineConfig } from 'vite';
+import { dependencies } from './package.json';
+
+export default defineConfig(() => ({
+ server: { fs: { allow: ['.', '../shared'] } },
+ build: {
+ target: 'chrome89',
+ },
+ plugins: [
+ federation({
+ name: 'host',
+ remotes: {
+ remote: {
+ type: 'module',
+ name: 'remote',
+ entry: 'http://localhost:4174/remoteEntry.js',
+ entryGlobalName: 'remote',
+ shareScope: 'default',
+ },
+ },
+ exposes: {},
+ filename: 'remoteEntry.js',
+ shared: {
+ react: {
+ requiredVersion: dependencies.react,
+ singleton: true,
+ },
+ },
+ }),
+ react(),
+ ],
+}));
diff --git a/module-federation-vite-react/package.json b/module-federation-vite-react/package.json
new file mode 100644
index 00000000000..914578eb818
--- /dev/null
+++ b/module-federation-vite-react/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "module-federation-vite-react",
+ "version": "1.0.0",
+ "description": "Module Federation Vite + React is now possible",
+ "scripts": {
+ "install:deps": "pnpm --filter module-federation-vite-react-* install",
+ "postinstall:deps": "pnpm --filter module-federation-vite-react-* run build",
+ "dev": "pnpm --filter module-federation-vite-react-* dev",
+ "build": "pnpm --filter module-federation-vite-react-* build",
+ "preview": "pnpm --filter module-federation-vite-react-* preview"
+ },
+ "author": {
+ "name": "Giorgio Boa",
+ "email": "giorgiob.boa@gmail.com",
+ "url": "https://github.com/gioboa"
+ },
+ "license": "ISC"
+}
\ No newline at end of file
diff --git a/module-federation-vite-react/remote/.gitignore b/module-federation-vite-react/remote/.gitignore
new file mode 100644
index 00000000000..e9a21a070ea
--- /dev/null
+++ b/module-federation-vite-react/remote/.gitignore
@@ -0,0 +1,26 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+.__mf__temp
diff --git a/module-federation-vite-react/remote/index.html b/module-federation-vite-react/remote/index.html
new file mode 100644
index 00000000000..9c763b1c5e0
--- /dev/null
+++ b/module-federation-vite-react/remote/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ React Remote
+
+
+
+
+
+
+
diff --git a/module-federation-vite-react/remote/package.json b/module-federation-vite-react/remote/package.json
new file mode 100644
index 00000000000..47586ea5a76
--- /dev/null
+++ b/module-federation-vite-react/remote/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "module-federation-vite-react-remote",
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite --port 4174",
+ "build": "tsc && vite build",
+ "preview": "npm run build && vite preview --port 4174"
+ },
+ "dependencies": {
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1"
+ },
+ "devDependencies": {
+ "@module-federation/vite": "1.0.0",
+ "@types/react": "18.2.79",
+ "@types/react-dom": "18.2.25",
+ "@vitejs/plugin-react": "4.2.1",
+ "typescript": "5.4.5",
+ "vite": "5.2.10"
+ }
+}
diff --git a/module-federation-vite-react/remote/pnpm-lock.yaml b/module-federation-vite-react/remote/pnpm-lock.yaml
new file mode 100644
index 00000000000..34ecca09388
--- /dev/null
+++ b/module-federation-vite-react/remote/pnpm-lock.yaml
@@ -0,0 +1,1142 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+ .:
+ dependencies:
+ react:
+ specifier: ^18.3.1
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.3.1
+ version: 18.3.1(react@18.3.1)
+ devDependencies:
+ '@module-federation/vite':
+ specifier: 1.0.0
+ version: 1.0.0(rollup@4.19.1)
+ '@types/react':
+ specifier: 18.2.79
+ version: 18.2.79
+ '@types/react-dom':
+ specifier: 18.2.25
+ version: 18.2.25
+ '@vitejs/plugin-react':
+ specifier: 4.2.1
+ version: 4.2.1(vite@5.2.10(@types/node@18.19.42))
+ typescript:
+ specifier: 5.4.5
+ version: 5.4.5
+ vite:
+ specifier: 5.2.10
+ version: 5.2.10(@types/node@18.19.42)
+
+packages:
+ '@ampproject/remapping@2.3.0':
+ resolution: { integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== }
+ engines: { node: '>=6.0.0' }
+
+ '@babel/code-frame@7.24.7':
+ resolution: { integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/compat-data@7.25.2':
+ resolution: { integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/core@7.25.2':
+ resolution: { integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/generator@7.25.0':
+ resolution: { integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-compilation-targets@7.25.2':
+ resolution: { integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-module-imports@7.24.7':
+ resolution: { integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-module-transforms@7.25.2':
+ resolution: { integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-plugin-utils@7.24.8':
+ resolution: { integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-simple-access@7.24.7':
+ resolution: { integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-string-parser@7.24.8':
+ resolution: { integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-validator-identifier@7.24.7':
+ resolution: { integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helper-validator-option@7.24.8':
+ resolution: { integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/helpers@7.25.0':
+ resolution: { integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/highlight@7.24.7':
+ resolution: { integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/parser@7.25.3':
+ resolution: { integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== }
+ engines: { node: '>=6.0.0' }
+ hasBin: true
+
+ '@babel/plugin-transform-react-jsx-self@7.24.7':
+ resolution: { integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-source@7.24.7':
+ resolution: { integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== }
+ engines: { node: '>=6.9.0' }
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/template@7.25.0':
+ resolution: { integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/traverse@7.25.3':
+ resolution: { integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== }
+ engines: { node: '>=6.9.0' }
+
+ '@babel/types@7.25.2':
+ resolution: { integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== }
+ engines: { node: '>=6.9.0' }
+
+ '@esbuild/aix-ppc64@0.20.2':
+ resolution: { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.20.2':
+ resolution: { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.20.2':
+ resolution: { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.20.2':
+ resolution: { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.20.2':
+ resolution: { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.20.2':
+ resolution: { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ resolution: { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.20.2':
+ resolution: { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.20.2':
+ resolution: { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.20.2':
+ resolution: { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== }
+ engines: { node: '>=12' }
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.20.2':
+ resolution: { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.20.2':
+ resolution: { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== }
+ engines: { node: '>=12' }
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.20.2':
+ resolution: { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== }
+ engines: { node: '>=12' }
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.20.2':
+ resolution: { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== }
+ engines: { node: '>=12' }
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.20.2':
+ resolution: { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== }
+ engines: { node: '>=12' }
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.20.2':
+ resolution: { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== }
+ engines: { node: '>=12' }
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.20.2':
+ resolution: { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-x64@0.20.2':
+ resolution: { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-x64@0.20.2':
+ resolution: { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.20.2':
+ resolution: { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.20.2':
+ resolution: { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== }
+ engines: { node: '>=12' }
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.20.2':
+ resolution: { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== }
+ engines: { node: '>=12' }
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.20.2':
+ resolution: { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== }
+ engines: { node: '>=12' }
+ cpu: [x64]
+ os: [win32]
+
+ '@jridgewell/gen-mapping@0.3.5':
+ resolution: { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== }
+ engines: { node: '>=6.0.0' }
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== }
+ engines: { node: '>=6.0.0' }
+
+ '@jridgewell/set-array@1.2.1':
+ resolution: { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== }
+ engines: { node: '>=6.0.0' }
+
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: { integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== }
+
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== }
+
+ '@module-federation/runtime@0.6.1':
+ resolution: { integrity: sha512-57NvdAwrQagw7bEAjvIav8sU0srTT5O+ul8hl86j2a3I5gYBF6NN2QGx4w5d/exgXUcqmUQZBV6I3q5NrcRzfg== }
+
+ '@module-federation/sdk@0.6.1':
+ resolution: { integrity: sha512-OjDW2sYz4iaZnu4rpTlYDzjXAQiLLzCPwIFM+UFvRtdgWN08Bjn5sDRgMzP2x2ziLzonwmEFDEK9Sl2h85NtJg== }
+
+ '@module-federation/vite@1.0.0':
+ resolution: { integrity: sha512-RRlMIgaL4FAAX9v84DoM8P5G+z0WpPqnrUM5X7tWD/yT5TqSTzu0Wu7CJNHKvDvLIg05f/4e9mes5KQ38QhgeA== }
+
+ '@rollup/pluginutils@5.1.0':
+ resolution: { integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== }
+ engines: { node: '>=14.0.0' }
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.19.1':
+ resolution: { integrity: sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww== }
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.19.1':
+ resolution: { integrity: sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A== }
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.19.1':
+ resolution: { integrity: sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q== }
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.19.1':
+ resolution: { integrity: sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA== }
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.19.1':
+ resolution: { integrity: sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q== }
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.19.1':
+ resolution: { integrity: sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw== }
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-gnu@4.19.1':
+ resolution: { integrity: sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw== }
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.19.1':
+ resolution: { integrity: sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw== }
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.19.1':
+ resolution: { integrity: sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ== }
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.19.1':
+ resolution: { integrity: sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A== }
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.19.1':
+ resolution: { integrity: sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q== }
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-gnu@4.19.1':
+ resolution: { integrity: sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q== }
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.19.1':
+ resolution: { integrity: sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q== }
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-win32-arm64-msvc@4.19.1':
+ resolution: { integrity: sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA== }
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.19.1':
+ resolution: { integrity: sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ== }
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.19.1':
+ resolution: { integrity: sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg== }
+ cpu: [x64]
+ os: [win32]
+
+ '@types/babel__core@7.20.5':
+ resolution: { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== }
+
+ '@types/babel__generator@7.6.8':
+ resolution: { integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== }
+
+ '@types/babel__template@7.4.4':
+ resolution: { integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== }
+
+ '@types/babel__traverse@7.20.6':
+ resolution: { integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== }
+
+ '@types/estree@1.0.5':
+ resolution: { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== }
+
+ '@types/node@18.19.42':
+ resolution: { integrity: sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg== }
+
+ '@types/prop-types@15.7.12':
+ resolution: { integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== }
+
+ '@types/react-dom@18.2.25':
+ resolution: { integrity: sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== }
+
+ '@types/react@18.2.79':
+ resolution: { integrity: sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w== }
+
+ '@vitejs/plugin-react@4.2.1':
+ resolution: { integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== }
+ engines: { node: ^14.18.0 || >=16.0.0 }
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0
+
+ ansi-styles@3.2.1:
+ resolution: { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== }
+ engines: { node: '>=4' }
+
+ browserslist@4.23.2:
+ resolution: { integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== }
+ engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
+ hasBin: true
+
+ caniuse-lite@1.0.30001646:
+ resolution: { integrity: sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw== }
+
+ chalk@2.4.2:
+ resolution: { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== }
+ engines: { node: '>=4' }
+
+ color-convert@1.9.3:
+ resolution: { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== }
+
+ color-name@1.1.3:
+ resolution: { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== }
+
+ convert-source-map@2.0.0:
+ resolution: { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== }
+
+ csstype@3.1.3:
+ resolution: { integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== }
+
+ debug@4.3.6:
+ resolution: { integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== }
+ engines: { node: '>=6.0' }
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ defu@6.1.4:
+ resolution: { integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== }
+
+ electron-to-chromium@1.5.4:
+ resolution: { integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA== }
+
+ esbuild@0.20.2:
+ resolution: { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== }
+ engines: { node: '>=12' }
+ hasBin: true
+
+ escalade@3.1.2:
+ resolution: { integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== }
+ engines: { node: '>=6' }
+
+ escape-string-regexp@1.0.5:
+ resolution: { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== }
+ engines: { node: '>=0.8.0' }
+
+ estree-walker@2.0.2:
+ resolution: { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== }
+
+ fsevents@2.3.3:
+ resolution: { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
+ os: [darwin]
+
+ gensync@1.0.0-beta.2:
+ resolution: { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== }
+ engines: { node: '>=6.9.0' }
+
+ globals@11.12.0:
+ resolution: { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== }
+ engines: { node: '>=4' }
+
+ has-flag@3.0.0:
+ resolution: { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== }
+ engines: { node: '>=4' }
+
+ js-tokens@4.0.0:
+ resolution: { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== }
+
+ jsesc@2.5.2:
+ resolution: { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== }
+ engines: { node: '>=4' }
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== }
+ engines: { node: '>=6' }
+ hasBin: true
+
+ loose-envify@1.4.0:
+ resolution: { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== }
+ hasBin: true
+
+ lru-cache@5.1.1:
+ resolution: { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== }
+
+ magic-string@0.30.11:
+ resolution: { integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== }
+
+ ms@2.1.2:
+ resolution: { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== }
+
+ nanoid@3.3.7:
+ resolution: { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
+ hasBin: true
+
+ node-releases@2.0.18:
+ resolution: { integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== }
+
+ pathe@1.1.2:
+ resolution: { integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== }
+
+ picocolors@1.0.1:
+ resolution: { integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== }
+
+ picomatch@2.3.1:
+ resolution: { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== }
+ engines: { node: '>=8.6' }
+
+ postcss@8.4.40:
+ resolution: { integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q== }
+ engines: { node: ^10 || ^12 || >=14 }
+
+ react-dom@18.3.1:
+ resolution: { integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== }
+ peerDependencies:
+ react: ^18.3.1
+
+ react-refresh@0.14.2:
+ resolution: { integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== }
+ engines: { node: '>=0.10.0' }
+
+ react@18.3.1:
+ resolution: { integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== }
+ engines: { node: '>=0.10.0' }
+
+ rollup@4.19.1:
+ resolution: { integrity: sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw== }
+ engines: { node: '>=18.0.0', npm: '>=8.0.0' }
+ hasBin: true
+
+ scheduler@0.23.2:
+ resolution: { integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== }
+
+ semver@6.3.1:
+ resolution: { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== }
+ hasBin: true
+
+ source-map-js@1.2.0:
+ resolution: { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== }
+ engines: { node: '>=0.10.0' }
+
+ supports-color@5.5.0:
+ resolution: { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== }
+ engines: { node: '>=4' }
+
+ to-fast-properties@2.0.0:
+ resolution: { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== }
+ engines: { node: '>=4' }
+
+ typescript@5.4.5:
+ resolution: { integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== }
+ engines: { node: '>=14.17' }
+ hasBin: true
+
+ undici-types@5.26.5:
+ resolution: { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== }
+
+ update-browserslist-db@1.1.0:
+ resolution: { integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== }
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ vite@5.2.10:
+ resolution: { integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== }
+ engines: { node: ^18.0.0 || >=20.0.0 }
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ yallist@3.1.1:
+ resolution: { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== }
+
+snapshots:
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@babel/code-frame@7.24.7':
+ dependencies:
+ '@babel/highlight': 7.24.7
+ picocolors: 1.0.1
+
+ '@babel/compat-data@7.25.2': {}
+
+ '@babel/core@7.25.2':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.0
+ '@babel/helper-compilation-targets': 7.25.2
+ '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
+ '@babel/helpers': 7.25.0
+ '@babel/parser': 7.25.3
+ '@babel/template': 7.25.0
+ '@babel/traverse': 7.25.3
+ '@babel/types': 7.25.2
+ convert-source-map: 2.0.0
+ debug: 4.3.6
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.25.0':
+ dependencies:
+ '@babel/types': 7.25.2
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/helper-compilation-targets@7.25.2':
+ dependencies:
+ '@babel/compat-data': 7.25.2
+ '@babel/helper-validator-option': 7.24.8
+ browserslist: 4.23.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-module-imports@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.25.3
+ '@babel/types': 7.25.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-module-imports': 7.24.7
+ '@babel/helper-simple-access': 7.24.7
+ '@babel/helper-validator-identifier': 7.24.7
+ '@babel/traverse': 7.25.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-plugin-utils@7.24.8': {}
+
+ '@babel/helper-simple-access@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.25.3
+ '@babel/types': 7.25.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.24.8': {}
+
+ '@babel/helper-validator-identifier@7.24.7': {}
+
+ '@babel/helper-validator-option@7.24.8': {}
+
+ '@babel/helpers@7.25.0':
+ dependencies:
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.2
+
+ '@babel/highlight@7.24.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.24.7
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.1
+
+ '@babel/parser@7.25.3':
+ dependencies:
+ '@babel/types': 7.25.2
+
+ '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-plugin-utils': 7.24.8
+
+ '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-plugin-utils': 7.24.8
+
+ '@babel/template@7.25.0':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+
+ '@babel/traverse@7.25.3':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.0
+ '@babel/parser': 7.25.3
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.2
+ debug: 4.3.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.25.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.8
+ '@babel/helper-validator-identifier': 7.24.7
+ to-fast-properties: 2.0.0
+
+ '@esbuild/aix-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm@0.20.2':
+ optional: true
+
+ '@esbuild/android-x64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.20.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.20.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/win32-x64@0.20.2':
+ optional: true
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/sourcemap-codec@1.5.0': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@module-federation/runtime@0.6.1':
+ dependencies:
+ '@module-federation/sdk': 0.6.1
+
+ '@module-federation/sdk@0.6.1': {}
+
+ '@module-federation/vite@1.0.0(rollup@4.19.1)':
+ dependencies:
+ '@module-federation/runtime': 0.6.1
+ '@rollup/pluginutils': 5.1.0(rollup@4.19.1)
+ defu: 6.1.4
+ estree-walker: 2.0.2
+ magic-string: 0.30.11
+ pathe: 1.1.2
+ transitivePeerDependencies:
+ - rollup
+
+ '@rollup/pluginutils@5.1.0(rollup@4.19.1)':
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ optionalDependencies:
+ rollup: 4.19.1
+
+ '@rollup/rollup-android-arm-eabi@4.19.1':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.19.1':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.19.1':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.19.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.19.1':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.19.1':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.19.1':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.19.1':
+ optional: true
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+ '@types/babel__generator': 7.6.8
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.6
+
+ '@types/babel__generator@7.6.8':
+ dependencies:
+ '@babel/types': 7.25.2
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+
+ '@types/babel__traverse@7.20.6':
+ dependencies:
+ '@babel/types': 7.25.2
+
+ '@types/estree@1.0.5': {}
+
+ '@types/node@18.19.42':
+ dependencies:
+ undici-types: 5.26.5
+ optional: true
+
+ '@types/prop-types@15.7.12': {}
+
+ '@types/react-dom@18.2.25':
+ dependencies:
+ '@types/react': 18.2.79
+
+ '@types/react@18.2.79':
+ dependencies:
+ '@types/prop-types': 15.7.12
+ csstype: 3.1.3
+
+ '@vitejs/plugin-react@4.2.1(vite@5.2.10(@types/node@18.19.42))':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2)
+ '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2)
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.14.2
+ vite: 5.2.10(@types/node@18.19.42)
+ transitivePeerDependencies:
+ - supports-color
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
+ browserslist@4.23.2:
+ dependencies:
+ caniuse-lite: 1.0.30001646
+ electron-to-chromium: 1.5.4
+ node-releases: 2.0.18
+ update-browserslist-db: 1.1.0(browserslist@4.23.2)
+
+ caniuse-lite@1.0.30001646: {}
+
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
+ color-name@1.1.3: {}
+
+ convert-source-map@2.0.0: {}
+
+ csstype@3.1.3: {}
+
+ debug@4.3.6:
+ dependencies:
+ ms: 2.1.2
+
+ defu@6.1.4: {}
+
+ electron-to-chromium@1.5.4: {}
+
+ esbuild@0.20.2:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+
+ escalade@3.1.2: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ estree-walker@2.0.2: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ gensync@1.0.0-beta.2: {}
+
+ globals@11.12.0: {}
+
+ has-flag@3.0.0: {}
+
+ js-tokens@4.0.0: {}
+
+ jsesc@2.5.2: {}
+
+ json5@2.2.3: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ magic-string@0.30.11:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ ms@2.1.2: {}
+
+ nanoid@3.3.7: {}
+
+ node-releases@2.0.18: {}
+
+ pathe@1.1.2: {}
+
+ picocolors@1.0.1: {}
+
+ picomatch@2.3.1: {}
+
+ postcss@8.4.40:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.1
+ source-map-js: 1.2.0
+
+ react-dom@18.3.1(react@18.3.1):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.1
+ scheduler: 0.23.2
+
+ react-refresh@0.14.2: {}
+
+ react@18.3.1:
+ dependencies:
+ loose-envify: 1.4.0
+
+ rollup@4.19.1:
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.19.1
+ '@rollup/rollup-android-arm64': 4.19.1
+ '@rollup/rollup-darwin-arm64': 4.19.1
+ '@rollup/rollup-darwin-x64': 4.19.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.19.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.19.1
+ '@rollup/rollup-linux-arm64-gnu': 4.19.1
+ '@rollup/rollup-linux-arm64-musl': 4.19.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.19.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.19.1
+ '@rollup/rollup-linux-s390x-gnu': 4.19.1
+ '@rollup/rollup-linux-x64-gnu': 4.19.1
+ '@rollup/rollup-linux-x64-musl': 4.19.1
+ '@rollup/rollup-win32-arm64-msvc': 4.19.1
+ '@rollup/rollup-win32-ia32-msvc': 4.19.1
+ '@rollup/rollup-win32-x64-msvc': 4.19.1
+ fsevents: 2.3.3
+
+ scheduler@0.23.2:
+ dependencies:
+ loose-envify: 1.4.0
+
+ semver@6.3.1: {}
+
+ source-map-js@1.2.0: {}
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
+ to-fast-properties@2.0.0: {}
+
+ typescript@5.4.5: {}
+
+ undici-types@5.26.5:
+ optional: true
+
+ update-browserslist-db@1.1.0(browserslist@4.23.2):
+ dependencies:
+ browserslist: 4.23.2
+ escalade: 3.1.2
+ picocolors: 1.0.1
+
+ vite@5.2.10(@types/node@18.19.42):
+ dependencies:
+ esbuild: 0.20.2
+ postcss: 8.4.40
+ rollup: 4.19.1
+ optionalDependencies:
+ '@types/node': 18.19.42
+ fsevents: 2.3.3
+
+ yallist@3.1.1: {}
diff --git a/module-federation-vite-react/remote/public/vite.svg b/module-federation-vite-react/remote/public/vite.svg
new file mode 100644
index 00000000000..e7b8dfb1b2a
--- /dev/null
+++ b/module-federation-vite-react/remote/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/module-federation-vite-react/remote/src/App.tsx b/module-federation-vite-react/remote/src/App.tsx
new file mode 100644
index 00000000000..7f1d4dc7e42
--- /dev/null
+++ b/module-federation-vite-react/remote/src/App.tsx
@@ -0,0 +1,43 @@
+import { useEffect } from 'react';
+import Counter from './components/Counter';
+
+export default () => {
+ useEffect(() => {
+ console.log('Remote useEffect');
+ }, []);
+
+ return (
+
+
+
I'm the remote app
+
+
+ );
+};
diff --git a/module-federation-vite-react/remote/src/components/Counter.tsx b/module-federation-vite-react/remote/src/components/Counter.tsx
new file mode 100644
index 00000000000..a8dbd627e96
--- /dev/null
+++ b/module-federation-vite-react/remote/src/components/Counter.tsx
@@ -0,0 +1,22 @@
+import { useState } from 'react';
+
+export default () => {
+ const [count, setCount] = useState(0);
+
+ return (
+
+ );
+};
diff --git a/module-federation-vite-react/remote/src/environment.ts b/module-federation-vite-react/remote/src/environment.ts
new file mode 100644
index 00000000000..7c645e42fb7
--- /dev/null
+++ b/module-federation-vite-react/remote/src/environment.ts
@@ -0,0 +1 @@
+export default {};
\ No newline at end of file
diff --git a/module-federation-vite-react/remote/src/main.tsx b/module-federation-vite-react/remote/src/main.tsx
new file mode 100644
index 00000000000..3104e396061
--- /dev/null
+++ b/module-federation-vite-react/remote/src/main.tsx
@@ -0,0 +1,9 @@
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import App from './App';
+
+ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
+
+
+ ,
+);
diff --git a/module-federation-vite-react/remote/src/vite-env.d.ts b/module-federation-vite-react/remote/src/vite-env.d.ts
new file mode 100644
index 00000000000..11f02fe2a00
--- /dev/null
+++ b/module-federation-vite-react/remote/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/module-federation-vite-react/remote/tsconfig.json b/module-federation-vite-react/remote/tsconfig.json
new file mode 100644
index 00000000000..8f538527d99
--- /dev/null
+++ b/module-federation-vite-react/remote/tsconfig.json
@@ -0,0 +1,37 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "useDefineForClassFields": true,
+ "lib": [
+ "DOM",
+ "DOM.Iterable",
+ "ESNext"
+ ],
+ "allowJs": false,
+ "skipLibCheck": true,
+ "esModuleInterop": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "baseUrl": ".",
+ "paths": {
+ "shared": [
+ "../shared/shared.ts"
+ ]
+ }
+ },
+ "include": [
+ "src"
+ ],
+ "references": [
+ {
+ "path": "./tsconfig.node.json"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/module-federation-vite-react/remote/tsconfig.node.json b/module-federation-vite-react/remote/tsconfig.node.json
new file mode 100644
index 00000000000..ac12f8612b3
--- /dev/null
+++ b/module-federation-vite-react/remote/tsconfig.node.json
@@ -0,0 +1,12 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": [
+ "vite.config.ts",
+ "module-federation/vite-importmap-shim.ts"
+ ]
+}
\ No newline at end of file
diff --git a/module-federation-vite-react/remote/vite.config.ts b/module-federation-vite-react/remote/vite.config.ts
new file mode 100644
index 00000000000..b9955d8d088
--- /dev/null
+++ b/module-federation-vite-react/remote/vite.config.ts
@@ -0,0 +1,43 @@
+import { federation } from '@module-federation/vite';
+import react from '@vitejs/plugin-react';
+import { writeFileSync } from 'fs';
+import { defineConfig, loadEnv } from 'vite';
+import { dependencies } from './package.json';
+
+export default defineConfig(({ mode }) => {
+ const selfEnv = loadEnv(mode, process.cwd());
+ return {
+ server: {
+ fs: {
+ allow: ['.', '../shared'],
+ },
+ },
+ build: {
+ target: 'chrome89',
+ },
+ plugins: [
+ {
+ name: 'generate-environment',
+ options: function () {
+ console.info('selfEnv', selfEnv);
+ writeFileSync('./src/environment.ts', `export default ${JSON.stringify(selfEnv, null, 2)};`);
+ },
+ },
+ federation({
+ filename: 'remoteEntry.js',
+ name: 'remote',
+ exposes: {
+ './remote-app': './src/App.tsx',
+ },
+ remotes: {},
+ shared: {
+ react: {
+ requiredVersion: dependencies.react,
+ singleton: true,
+ },
+ },
+ }),
+ react(),
+ ],
+ };
+});
diff --git a/module-federation-vite-react/shared/shared.ts b/module-federation-vite-react/shared/shared.ts
new file mode 100644
index 00000000000..6c8f7157d1f
--- /dev/null
+++ b/module-federation-vite-react/shared/shared.ts
@@ -0,0 +1,3 @@
+export const state = {
+ message: ''
+}