diff --git a/apps/modernjs-ssr/README.md b/apps/modernjs-ssr/README.md new file mode 100644 index 00000000000..a7231a84719 --- /dev/null +++ b/apps/modernjs-ssr/README.md @@ -0,0 +1,11 @@ +# modernjs-ssr + +# Running Demo + +- host: [localhost:3005](http://localhost:3005/) +- remote: [localhost:3006](http://localhost:3006/) +- nested-remote: [localhost:3007](http://localhost:3007/) +- dynamic-remote: [localhost:3008](http://localhost:3008/) +- dynamic-nested-remote: [localhost:3009](http://localhost:3009/) +- remote-new-version: [localhost:3010](http://localhost:3010/) +- dynamic-remote-new-version: [localhost:3011](http://localhost:3011/) diff --git a/apps/modernjs-ssr/dynamic-nested-remote/@mf-types/dynamic_remote/Image.d.ts b/apps/modernjs-ssr/dynamic-nested-remote/@mf-types/dynamic_remote/Image.d.ts new file mode 100644 index 00000000000..0ded018411e --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/@mf-types/dynamic_remote/Image.d.ts @@ -0,0 +1,2 @@ +export * from './compiled-types/Image'; +export { default } from './compiled-types/Image'; diff --git a/apps/modernjs-ssr/dynamic-nested-remote/@mf-types/dynamic_remote/compiled-types/Image.d.ts b/apps/modernjs-ssr/dynamic-nested-remote/@mf-types/dynamic_remote/compiled-types/Image.d.ts new file mode 100644 index 00000000000..1393c75d0a6 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/@mf-types/dynamic_remote/compiled-types/Image.d.ts @@ -0,0 +1,3 @@ +/// +declare const _default: () => JSX.Element; +export default _default; diff --git a/apps/modernjs-ssr/dynamic-nested-remote/modern.config.ts b/apps/modernjs-ssr/dynamic-nested-remote/modern.config.ts new file mode 100644 index 00000000000..1a670720b9b --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/modern.config.ts @@ -0,0 +1,67 @@ +import { appTools, defineConfig } from '@modern-js/app-tools'; +import { moduleFederationPlugin } from '@module-federation/modern-js'; + +// https://modernjs.dev/en/configure/app/usage +export default defineConfig({ + dev: { + port: 3009, + hmr: false, + liveReload: false, + }, + runtime: { + router: true, + }, + output: { + disableTsChecker: true, + cssModuleLocalIdentName: 'dynamic-nested-remote-[local]-[hash:base64:6]', + }, + server: { + ssr: { + mode: 'stream', + // mode: 'string', + }, + port: 3009, + }, + // source: { + // enableAsyncEntry: true, + // }, + plugins: [appTools(), moduleFederationPlugin()], + tools: { + webpack: (config, { isServer, appendPlugins }) => { + // if (config?.output) { + // config.output.publicPath = 'http://localhost:3009/'; + // } + // if (!isServer) { + // // otherwise the federation entry will be loaded as async chunk + // config.optimization!.splitChunks.chunks = 'async'; + // } + // const mfConfig = { + // name: 'dynamic_nested_remote', + // filename: 'remoteEntry.js', + // exposes: { + // './Content': './src/components/Content.tsx', + // }, + // // remotes: { + // // dynamic_remote: + // // 'dynamic_remote@http://localhost:3008/mf-manifest.json', + // // }, + // shared: { + // react: { singleton: true }, + // 'react-dom': { singleton: true }, + // }, + // }; + // if (isServer) { + // mfConfig.filename = 'bundles/remoteEntry.js'; + // appendPlugins([new StreamingTargetPlugin(mfConfig)]); + // } + // appendPlugins([ + // new AsyncBoundaryPlugin({ + // excludeChunk: (chunk) => chunk.name === 'dynamic_nested_remote', + // eager: (module) => + // module && /\.federation/.test(module?.request || ''), + // }), + // new ModuleFederationPlugin(mfConfig), + // ]); + }, + }, +}); diff --git a/apps/modernjs-ssr/dynamic-nested-remote/module-federation.config.ts b/apps/modernjs-ssr/dynamic-nested-remote/module-federation.config.ts new file mode 100644 index 00000000000..2a907155291 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/module-federation.config.ts @@ -0,0 +1,18 @@ +import { createModuleFederationConfig } from '@module-federation/modern-js'; +export default createModuleFederationConfig({ + name: 'dynamic_nested_remote', + filename: 'remoteEntry.js', + exposes: { + './Content': './src/components/Content.tsx', + }, + // remotes: { + // dynamic_remote: + // 'dynamic_remote@http://localhost:3008/mf-manifest.json', + // }, + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + dts: false, + dev: false, +}); diff --git a/apps/modernjs-ssr/dynamic-nested-remote/package.json b/apps/modernjs-ssr/dynamic-nested-remote/package.json new file mode 100644 index 00000000000..0b52cb16da6 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/package.json @@ -0,0 +1,49 @@ +{ + "name": "modernjs-ssr-dynamic-nested-remote", + "private": true, + "version": "0.1.11", + "scripts": { + "reset": "npx rimraf ./**/node_modules", + "dev": "modern dev", + "build": "modern build", + "start": "modern start", + "serve": "modern serve", + "new": "modern new", + "lint": "modern lint", + "upgrade": "modern upgrade" + }, + "engines": { + "node": ">=16.18.1" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,mjs,cjs}": [ + "node --max_old_space_size=8192 ./node_modules/eslint/bin/eslint.js --fix --color --cache --quiet" + ] + }, + "eslintIgnore": [ + "node_modules/", + "dist/" + ], + "dependencies": { + "@modern-js/runtime": "2.49.1", + "react": "~18.2.0", + "react-dom": "~18.2.0", + "@module-federation/modern-js": "workspace:*", + "@babel/runtime": "7.24.4", + "antd": "4.24.15" + }, + "devDependencies": { + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", + "typescript": "~5.0.4", + "@types/jest": "~29.5.0", + "@types/node": "~16.11.7", + "@types/react": "~18.2.0", + "@types/react-dom": "~18.2.0", + "lint-staged": "~13.1.0", + "prettier": "~2.8.1", + "rimraf": "~3.0.2" + } +} diff --git a/apps/modernjs-ssr/dynamic-nested-remote/project.json b/apps/modernjs-ssr/dynamic-nested-remote/project.json new file mode 100644 index 00000000000..c2d86381888 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/project.json @@ -0,0 +1,77 @@ +{ + "name": "modernjs-ssr-dynamic-nested-remote", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/modernjs-ssr/modernjs-ssr-dynamic-nested-remote/src", + "projectType": "application", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-dynamic-nested-remote; pnpm run build", + "forwardAllArgs": true + } + ] + } + }, + "serve": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-dynamic-nested-remote; pnpm run dev", + "forwardAllArgs": false + } + ] + } + }, + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/modernjs-ssr/modernjs-ssr-dynamic-nested-remote/cypress.config.ts", + "testingType": "e2e", + "baseUrl": "http://localhost:4001", + "browser": "chrome" + }, + "configurations": { + "development": { + "runnerUi": true, + "browser": "electron", + "exit": false, + "watch": true + } + } + }, + "test:e2e": { + "executor": "nx:run-commands", + "options": { + "parallel": true, + "commands": [ + { + "command": "lsof -i :8080 || nx run modernjs-ssr-dynamic-nested-remote:serve & echo 'done'", + "forwardAllArgs": false + }, + { + "command": "sleep 20 && nx run modernjs-ssr-dynamic-nested-remote:e2e", + "forwardAllArgs": true + } + ] + } + } + }, + "tags": [], + "implicitDependencies": ["typescript"] +} diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/.eslintrc.js b/apps/modernjs-ssr/dynamic-nested-remote/src/.eslintrc.js new file mode 100644 index 00000000000..fafc0032305 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/.eslintrc.js @@ -0,0 +1,9 @@ +// eslint-disable-next-line import/no-commonjs +module.exports = { + root: true, + extends: ['@modern-js-app'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['../tsconfig.json'], + }, +}; diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/components/Button.tsx b/apps/modernjs-ssr/dynamic-nested-remote/src/components/Button.tsx new file mode 100644 index 00000000000..61f3542816e --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/components/Button.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import Button from 'antd/lib/button'; + +export default (): JSX.Element => ( +
+ +
+); diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/components/Content.tsx b/apps/modernjs-ssr/dynamic-nested-remote/src/components/Content.tsx new file mode 100644 index 00000000000..f07a5eb8534 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/components/Content.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import Button from 'antd/lib/button'; +import { loadRemote, registerRemotes } from '@modern-js/runtime/mf'; +import stuff from './stuff.module.css'; + +const isServer = typeof window === 'undefined'; +registerRemotes([ + { + name: 'dynamic_remote', + entry: 'http://localhost:3008/mf-manifest.json', + }, +]); + +const Comp = React.lazy(() => + loadRemote('dynamic_remote/Image').then((m) => { + return { + default: () => ( +
+ + 11 + +
+ ), + }; + }), +); + +const LazyButton = React.lazy(() => + import('./Button').then((m) => { + return new Promise((resolve) => { + setTimeout(() => resolve(m), 0); + }); + }), +); + +const LazyButton2 = React.lazy(() => + import('./Button').then((m) => { + return new Promise((resolve) => { + setTimeout(() => resolve(m), 0); + }); + }), +); + +export default (): JSX.Element => ( +
+

alert('Client side Javascript works!')}> + dynamic nested remote +

+ + + + + + + + + + + +
+); diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/components/stuff.module.css b/apps/modernjs-ssr/dynamic-nested-remote/src/components/stuff.module.css new file mode 100644 index 00000000000..ec0bf412638 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/components/stuff.module.css @@ -0,0 +1,3 @@ +.test-remote2 { + background: rgb(0, 170, 255); +} diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/components/stuff.module.css.d.ts b/apps/modernjs-ssr/dynamic-nested-remote/src/components/stuff.module.css.d.ts new file mode 100644 index 00000000000..9c66e6a39aa --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/components/stuff.module.css.d.ts @@ -0,0 +1,3 @@ +const classes: { readonly 'test-remote2': string }; + +export default classes; diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/modern-app-env.d.ts b/apps/modernjs-ssr/dynamic-nested-remote/src/modern-app-env.d.ts new file mode 100644 index 00000000000..827e6c01d97 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/modern-app-env.d.ts @@ -0,0 +1,4 @@ +/// +/// +/// +/// diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/routes/index.css b/apps/modernjs-ssr/dynamic-nested-remote/src/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/routes/layout.tsx b/apps/modernjs-ssr/dynamic-nested-remote/src/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/routes/page.tsx b/apps/modernjs-ssr/dynamic-nested-remote/src/routes/page.tsx new file mode 100644 index 00000000000..9f13db88481 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/routes/page.tsx @@ -0,0 +1,10 @@ +import Content from '../components/Content'; +import './index.css'; + +const Index = () => ( +
+ +
+); + +export default Index; diff --git a/apps/modernjs-ssr/dynamic-nested-remote/src/test.ts b/apps/modernjs-ssr/dynamic-nested-remote/src/test.ts new file mode 100644 index 00000000000..2ea084092a2 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/src/test.ts @@ -0,0 +1 @@ +export default 'test'; diff --git a/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.app.json b/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.app.json new file mode 100644 index 00000000000..b5b3e6e9e03 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.app.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node", "express"], + "target": "ES2015", + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.json b/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.json new file mode 100644 index 00000000000..26ef0ff0304 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"], + "@shared/*": ["./shared/*"], + "*": ["./@mf-types/*"] + } + }, + "include": ["src", "shared", "config", "modern.config.ts"], + "exclude": ["**/node_modules"] +} diff --git a/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.spec.json b/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-nested-remote/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/modern.config.ts b/apps/modernjs-ssr/dynamic-remote-new-version/modern.config.ts new file mode 100644 index 00000000000..857b7262544 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/modern.config.ts @@ -0,0 +1,56 @@ +import { appTools, defineConfig } from '@modern-js/app-tools'; +import { + ModuleFederationPlugin, + AsyncBoundaryPlugin, +} from '@module-federation/enhanced'; +// https://modernjs.dev/en/configure/app/usage +export default defineConfig({ + dev: { + port: 3011, + }, + runtime: { + router: true, + }, + security: { + checkSyntax: true, + }, + source: { + // downgrade @module-federation related pkgs + include: [ + // should set module-federation in outer repo + /universe\/packages/, + ], + }, + // source: { + // enableAsyncEntry: true, + // }, + plugins: [appTools()], + tools: { + babel(config) { + config.sourceType = 'unambiguous'; + }, + webpack: (config, { webpack, appendPlugins }) => { + if (config?.output) { + config.output.publicPath = 'http://localhost:4001/'; + } + + appendPlugins([ + new AsyncBoundaryPlugin({ + excludeChunk: (chunk) => chunk.name === 'app1', + eager: (module) => /\.federation/.test(module?.request || ''), + }), + new ModuleFederationPlugin({ + name: 'modernjs_ssr_dynamic_remote_new_version', + exposes: { + './thing': './src/test.ts', + }, + runtimePlugins: ['./runtimePlugin.ts'], + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + }), + ]); + }, + }, +}); diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/package.json b/apps/modernjs-ssr/dynamic-remote-new-version/package.json new file mode 100644 index 00000000000..d870f7f386c --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/package.json @@ -0,0 +1,49 @@ +{ + "name": "modernjs-ssr-dynamic-remote-new-version", + "private": true, + "version": "0.1.11", + "scripts": { + "reset": "npx rimraf ./**/node_modules", + "dev": "modern dev", + "build": "modern build", + "start": "modern start", + "serve": "modern serve", + "new": "modern new", + "lint": "modern lint", + "upgrade": "modern upgrade" + }, + "engines": { + "node": ">=16.18.1" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,mjs,cjs}": [ + "node --max_old_space_size=8192 ./node_modules/eslint/bin/eslint.js --fix --color --cache --quiet" + ] + }, + "eslintIgnore": [ + "node_modules/", + "dist/" + ], + "dependencies": { + "@modern-js/runtime": "2.49.1", + "react": "~18.2.0", + "react-dom": "~18.2.0", + "@module-federation/enhanced": "workspace:*", + "@babel/runtime": "7.24.4", + "antd": "4.24.15" + }, + "devDependencies": { + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", + "typescript": "~5.0.4", + "@types/jest": "~29.5.0", + "@types/node": "~16.11.7", + "@types/react": "~18.2.0", + "@types/react-dom": "~18.2.0", + "lint-staged": "~13.1.0", + "prettier": "~2.8.1", + "rimraf": "~3.0.2" + } +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/project.json b/apps/modernjs-ssr/dynamic-remote-new-version/project.json new file mode 100644 index 00000000000..34bb42d60af --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/project.json @@ -0,0 +1,77 @@ +{ + "name": "modernjs-ssr-dynamic-remote-new-version", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/modernjs-ssr/modernjs-ssr-dynamic-remote-new-version/src", + "projectType": "application", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-dynamic-remote-new-version; pnpm run build", + "forwardAllArgs": true + } + ] + } + }, + "serve": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-dynamic-remote-new-version; pnpm run dev", + "forwardAllArgs": false + } + ] + } + }, + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/modernjs-ssr/modernjs-ssr-dynamic-remote-new-version/cypress.config.ts", + "testingType": "e2e", + "baseUrl": "http://localhost:4001", + "browser": "chrome" + }, + "configurations": { + "development": { + "runnerUi": true, + "browser": "electron", + "exit": false, + "watch": true + } + } + }, + "test:e2e": { + "executor": "nx:run-commands", + "options": { + "parallel": true, + "commands": [ + { + "command": "lsof -i :8080 || nx run modernjs-ssr-dynamic-remote-new-version:serve & echo 'done'", + "forwardAllArgs": false + }, + { + "command": "sleep 20 && nx run modernjs-ssr-dynamic-remote-new-version:e2e", + "forwardAllArgs": true + } + ] + } + } + }, + "tags": [], + "implicitDependencies": ["typescript"] +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/.eslintrc.js b/apps/modernjs-ssr/dynamic-remote-new-version/src/.eslintrc.js new file mode 100644 index 00000000000..fafc0032305 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/.eslintrc.js @@ -0,0 +1,9 @@ +// eslint-disable-next-line import/no-commonjs +module.exports = { + root: true, + extends: ['@modern-js-app'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['../tsconfig.json'], + }, +}; diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/components/Image.tsx b/apps/modernjs-ssr/dynamic-remote-new-version/src/components/Image.tsx new file mode 100644 index 00000000000..ff07a2bd1b0 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/components/Image.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import Button from 'antd/lib/button'; +import stuff from './stuff.module.css'; + +export default (): JSX.Element => ( +
+

+ dynamic remote new version image +

+ + serge + +
+); diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/components/stuff.module.css b/apps/modernjs-ssr/dynamic-remote-new-version/src/components/stuff.module.css new file mode 100644 index 00000000000..d5dd8731259 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/components/stuff.module.css @@ -0,0 +1,3 @@ +.test-remote2 { + background: red; +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/components/stuff.module.css.d.ts b/apps/modernjs-ssr/dynamic-remote-new-version/src/components/stuff.module.css.d.ts new file mode 100644 index 00000000000..9c66e6a39aa --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/components/stuff.module.css.d.ts @@ -0,0 +1,3 @@ +const classes: { readonly 'test-remote2': string }; + +export default classes; diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/modern-app-env.d.ts b/apps/modernjs-ssr/dynamic-remote-new-version/src/modern-app-env.d.ts new file mode 100644 index 00000000000..3f453508cee --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/modern-app-env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/index.css b/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/layout.tsx b/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/page.tsx b/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/page.tsx new file mode 100644 index 00000000000..5c8d48fd83d --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/routes/page.tsx @@ -0,0 +1,93 @@ +// @ts-nocheck +import { Helmet } from '@modern-js/runtime/head'; +import './index.css'; + +const Index = () => ( + +); + +export default Index; diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/src/test.ts b/apps/modernjs-ssr/dynamic-remote-new-version/src/test.ts new file mode 100644 index 00000000000..2ea084092a2 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/src/test.ts @@ -0,0 +1 @@ +export default 'test'; diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.app.json b/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.app.json new file mode 100644 index 00000000000..b5b3e6e9e03 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.app.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node", "express"], + "target": "ES2015", + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.json b/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.json new file mode 100644 index 00000000000..ce7f951eefc --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"], + "@shared/*": ["./shared/*"] + } + }, + "include": ["src", "shared", "config", "modern.config.ts"], + "exclude": ["**/node_modules"] +} diff --git a/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.spec.json b/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote-new-version/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/apps/modernjs-ssr/dynamic-remote/modern.config.ts b/apps/modernjs-ssr/dynamic-remote/modern.config.ts new file mode 100644 index 00000000000..0b8ef960f82 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/modern.config.ts @@ -0,0 +1,55 @@ +import { appTools, defineConfig } from '@modern-js/app-tools'; +import { moduleFederationPlugin } from '@module-federation/modern-js'; + +// https://modernjs.dev/en/configure/app/usage +export default defineConfig({ + dev: { + port: 3008, + hmr: false, + host: 'localhost', + liveReload: false, + }, + runtime: { + router: true, + }, + server: { + ssr: { + mode: 'stream', + }, + }, + output: { + disableTsChecker: true, + // disableCssExtract: true, + }, + // source: { + // enableAsyncEntry: true, + // }, + plugins: [appTools(), moduleFederationPlugin()], + tools: { + webpack: (config, { isServer, appendPlugins }) => { + // if (config?.output) { + // config.output.publicPath = 'http://localhost:3008/'; + // } + // const mfConfig = { + // name: 'dynamic_remote', + // filename: 'remoteEntry.js', + // exposes: { + // './Image': './src/components/Image.tsx', + // }, + // shared: { + // react: { singleton: true }, + // 'react-dom': { singleton: true }, + // }, + // }; + // if (isServer) { + // mfConfig.filename = 'bundles/remoteEntry.js'; + // mfConfig.library = { + // type: 'commonjs-module', + // }; + // mfConfig.manifest = false; + // appendPlugins([new StreamingTargetPlugin(mfConfig)]); + // } + // appendPlugins([new ModuleFederationPlugin(mfConfig)]); + }, + }, +}); diff --git a/apps/modernjs-ssr/dynamic-remote/module-federation.config.ts b/apps/modernjs-ssr/dynamic-remote/module-federation.config.ts new file mode 100644 index 00000000000..4fc70418dfc --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/module-federation.config.ts @@ -0,0 +1,14 @@ +import { createModuleFederationConfig } from '@module-federation/modern-js'; +export default createModuleFederationConfig({ + name: 'dynamic_remote', + filename: 'remoteEntry.js', + exposes: { + './Image': './src/components/Image.tsx', + }, + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + dts: false, + dev: false, +}); diff --git a/apps/modernjs-ssr/dynamic-remote/package.json b/apps/modernjs-ssr/dynamic-remote/package.json new file mode 100644 index 00000000000..d437e22a0a4 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/package.json @@ -0,0 +1,49 @@ +{ + "name": "modernjs-ssr-dynamic-remote", + "private": true, + "version": "0.1.11", + "scripts": { + "reset": "npx rimraf ./**/node_modules", + "dev": "modern dev", + "build": "modern build", + "start": "modern start", + "serve": "modern serve", + "new": "modern new", + "lint": "modern lint", + "upgrade": "modern upgrade" + }, + "engines": { + "node": ">=16.18.1" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,mjs,cjs}": [ + "node --max_old_space_size=8192 ./node_modules/eslint/bin/eslint.js --fix --color --cache --quiet" + ] + }, + "eslintIgnore": [ + "node_modules/", + "dist/" + ], + "dependencies": { + "@modern-js/runtime": "2.49.1", + "react": "~18.2.0", + "react-dom": "~18.2.0", + "@module-federation/modern-js": "workspace:*", + "@babel/runtime": "7.24.4", + "antd": "4.24.15" + }, + "devDependencies": { + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", + "typescript": "~5.0.4", + "@types/jest": "~29.5.0", + "@types/node": "~16.11.7", + "@types/react": "~18.2.0", + "@types/react-dom": "~18.2.0", + "lint-staged": "~13.1.0", + "prettier": "~2.8.1", + "rimraf": "~3.0.2" + } +} diff --git a/apps/modernjs-ssr/dynamic-remote/project.json b/apps/modernjs-ssr/dynamic-remote/project.json new file mode 100644 index 00000000000..05eb51a0c49 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/project.json @@ -0,0 +1,77 @@ +{ + "name": "modernjs-ssr-dynamic-remote", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/modernjs-ssr/modernjs-ssr-dynamic-remote/src", + "projectType": "application", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-dynamic-remote; pnpm run build", + "forwardAllArgs": true + } + ] + } + }, + "serve": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-dynamic-remote; pnpm run dev", + "forwardAllArgs": false + } + ] + } + }, + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/modernjs-ssr/modernjs-ssr-dynamic-remote/cypress.config.ts", + "testingType": "e2e", + "baseUrl": "http://localhost:4001", + "browser": "chrome" + }, + "configurations": { + "development": { + "runnerUi": true, + "browser": "electron", + "exit": false, + "watch": true + } + } + }, + "test:e2e": { + "executor": "nx:run-commands", + "options": { + "parallel": true, + "commands": [ + { + "command": "lsof -i :8080 || nx run modernjs-ssr-dynamic-remote:serve & echo 'done'", + "forwardAllArgs": false + }, + { + "command": "sleep 20 && nx run modernjs-ssr-dynamic-remote:e2e", + "forwardAllArgs": true + } + ] + } + } + }, + "tags": [], + "implicitDependencies": ["typescript"] +} diff --git a/apps/modernjs-ssr/dynamic-remote/src/.eslintrc.js b/apps/modernjs-ssr/dynamic-remote/src/.eslintrc.js new file mode 100644 index 00000000000..fafc0032305 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/.eslintrc.js @@ -0,0 +1,9 @@ +// eslint-disable-next-line import/no-commonjs +module.exports = { + root: true, + extends: ['@modern-js-app'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['../tsconfig.json'], + }, +}; diff --git a/apps/modernjs-ssr/dynamic-remote/src/components/Image.tsx b/apps/modernjs-ssr/dynamic-remote/src/components/Image.tsx new file mode 100644 index 00000000000..8204ef414ea --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/components/Image.tsx @@ -0,0 +1,33 @@ +import React from 'react'; +import Button from 'antd/lib/button'; +import mfSvg from '../assets/module-federation.svg'; +import stuff from './stuff.module.css'; + +export default (): JSX.Element => ( +
+

+ dynamic remote image +

+ + serge + +
+); diff --git a/apps/modernjs-ssr/dynamic-remote/src/components/stuff.module.css b/apps/modernjs-ssr/dynamic-remote/src/components/stuff.module.css new file mode 100644 index 00000000000..d5dd8731259 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/components/stuff.module.css @@ -0,0 +1,3 @@ +.test-remote2 { + background: red; +} diff --git a/apps/modernjs-ssr/dynamic-remote/src/components/stuff.module.css.d.ts b/apps/modernjs-ssr/dynamic-remote/src/components/stuff.module.css.d.ts new file mode 100644 index 00000000000..9c66e6a39aa --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/components/stuff.module.css.d.ts @@ -0,0 +1,3 @@ +const classes: { readonly 'test-remote2': string }; + +export default classes; diff --git a/apps/modernjs-ssr/dynamic-remote/src/modern-app-env.d.ts b/apps/modernjs-ssr/dynamic-remote/src/modern-app-env.d.ts new file mode 100644 index 00000000000..3f453508cee --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/modern-app-env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/apps/modernjs-ssr/dynamic-remote/src/routes/index.css b/apps/modernjs-ssr/dynamic-remote/src/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/dynamic-remote/src/routes/layout.tsx b/apps/modernjs-ssr/dynamic-remote/src/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/dynamic-remote/src/routes/page.tsx b/apps/modernjs-ssr/dynamic-remote/src/routes/page.tsx new file mode 100644 index 00000000000..5c8d48fd83d --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/routes/page.tsx @@ -0,0 +1,93 @@ +// @ts-nocheck +import { Helmet } from '@modern-js/runtime/head'; +import './index.css'; + +const Index = () => ( + +); + +export default Index; diff --git a/apps/modernjs-ssr/dynamic-remote/src/test.ts b/apps/modernjs-ssr/dynamic-remote/src/test.ts new file mode 100644 index 00000000000..2ea084092a2 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/src/test.ts @@ -0,0 +1 @@ +export default 'test'; diff --git a/apps/modernjs-ssr/dynamic-remote/tsconfig.app.json b/apps/modernjs-ssr/dynamic-remote/tsconfig.app.json new file mode 100644 index 00000000000..b5b3e6e9e03 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/tsconfig.app.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node", "express"], + "target": "ES2015", + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/modernjs-ssr/dynamic-remote/tsconfig.json b/apps/modernjs-ssr/dynamic-remote/tsconfig.json new file mode 100644 index 00000000000..ce7f951eefc --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"], + "@shared/*": ["./shared/*"] + } + }, + "include": ["src", "shared", "config", "modern.config.ts"], + "exclude": ["**/node_modules"] +} diff --git a/apps/modernjs-ssr/dynamic-remote/tsconfig.spec.json b/apps/modernjs-ssr/dynamic-remote/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/apps/modernjs-ssr/dynamic-remote/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/apps/modernjs-ssr/host/@mf-types/index.d.ts b/apps/modernjs-ssr/host/@mf-types/index.d.ts new file mode 100644 index 00000000000..471cd4d1b19 --- /dev/null +++ b/apps/modernjs-ssr/host/@mf-types/index.d.ts @@ -0,0 +1,50 @@ +import type { + PackageType as PackageType_0, + RemoteKeys as RemoteKeys_0, +} from './remote/apis.d.ts'; +import type { + PackageType as PackageType_1, + RemoteKeys as RemoteKeys_1, +} from './nested_remote/apis.d.ts'; +declare module '@module-federation/runtime' { + type RemoteKeys = RemoteKeys_0 | RemoteKeys_1; + type PackageType = T extends RemoteKeys_0 + ? PackageType_0 + : T extends RemoteKeys_1 + ? PackageType_1 + : Y; + export function loadRemote( + packageName: T, + ): Promise>; + export function loadRemote( + packageName: T, + ): Promise>; +} +declare module '@module-federation/enhanced/runtime' { + type RemoteKeys = RemoteKeys_0 | RemoteKeys_1; + type PackageType = T extends RemoteKeys_0 + ? PackageType_0 + : T extends RemoteKeys_1 + ? PackageType_1 + : Y; + export function loadRemote( + packageName: T, + ): Promise>; + export function loadRemote( + packageName: T, + ): Promise>; +} +declare module '@module-federation/runtime-tools' { + type RemoteKeys = RemoteKeys_0 | RemoteKeys_1; + type PackageType = T extends RemoteKeys_0 + ? PackageType_0 + : T extends RemoteKeys_1 + ? PackageType_1 + : Y; + export function loadRemote( + packageName: T, + ): Promise>; + export function loadRemote( + packageName: T, + ): Promise>; +} diff --git a/apps/modernjs-ssr/host/@mf-types/nested_remote/Content.d.ts b/apps/modernjs-ssr/host/@mf-types/nested_remote/Content.d.ts new file mode 100644 index 00000000000..04d67ca775b --- /dev/null +++ b/apps/modernjs-ssr/host/@mf-types/nested_remote/Content.d.ts @@ -0,0 +1,2 @@ +export * from './compiled-types/Content'; +export { default } from './compiled-types/Content'; diff --git a/apps/modernjs-ssr/host/@mf-types/nested_remote/apis.d.ts b/apps/modernjs-ssr/host/@mf-types/nested_remote/apis.d.ts new file mode 100644 index 00000000000..1970ba3d91f --- /dev/null +++ b/apps/modernjs-ssr/host/@mf-types/nested_remote/apis.d.ts @@ -0,0 +1,4 @@ +export type RemoteKeys = 'nested_remote/Content'; +type PackageType = T extends 'nested_remote/Content' + ? typeof import('nested_remote/Content') + : any; diff --git a/apps/modernjs-ssr/host/@mf-types/nested_remote/compiled-types/Content.d.ts b/apps/modernjs-ssr/host/@mf-types/nested_remote/compiled-types/Content.d.ts new file mode 100644 index 00000000000..1393c75d0a6 --- /dev/null +++ b/apps/modernjs-ssr/host/@mf-types/nested_remote/compiled-types/Content.d.ts @@ -0,0 +1,3 @@ +/// +declare const _default: () => JSX.Element; +export default _default; diff --git a/apps/modernjs-ssr/host/@mf-types/remote/Image.d.ts b/apps/modernjs-ssr/host/@mf-types/remote/Image.d.ts new file mode 100644 index 00000000000..0ded018411e --- /dev/null +++ b/apps/modernjs-ssr/host/@mf-types/remote/Image.d.ts @@ -0,0 +1,2 @@ +export * from './compiled-types/Image'; +export { default } from './compiled-types/Image'; diff --git a/apps/modernjs-ssr/host/@mf-types/remote/apis.d.ts b/apps/modernjs-ssr/host/@mf-types/remote/apis.d.ts new file mode 100644 index 00000000000..4c0aaefdd27 --- /dev/null +++ b/apps/modernjs-ssr/host/@mf-types/remote/apis.d.ts @@ -0,0 +1,4 @@ +export type RemoteKeys = 'remote/Image'; +type PackageType = T extends 'remote/Image' + ? typeof import('remote/Image') + : any; diff --git a/apps/modernjs-ssr/host/@mf-types/remote/compiled-types/Image.d.ts b/apps/modernjs-ssr/host/@mf-types/remote/compiled-types/Image.d.ts new file mode 100644 index 00000000000..1393c75d0a6 --- /dev/null +++ b/apps/modernjs-ssr/host/@mf-types/remote/compiled-types/Image.d.ts @@ -0,0 +1,3 @@ +/// +declare const _default: () => JSX.Element; +export default _default; diff --git a/apps/modernjs-ssr/host/modern.config.ts b/apps/modernjs-ssr/host/modern.config.ts new file mode 100644 index 00000000000..31b38641575 --- /dev/null +++ b/apps/modernjs-ssr/host/modern.config.ts @@ -0,0 +1,60 @@ +import { appTools, defineConfig } from '@modern-js/app-tools'; +import { + ModuleFederationPlugin, + AsyncBoundaryPlugin, +} from '@module-federation/enhanced'; +// https://modernjs.dev/en/configure/app/usage +export default defineConfig({ + dev: { + port: 3005, + }, + runtime: { + router: true, + }, + security: { + checkSyntax: true, + }, + source: { + // downgrade @module-federation related pkgs + include: [ + // should set module-federation in outer repo + /universe\/packages/, + ], + }, + output: { + disableTsChecker: true, + }, + // source: { + // enableAsyncEntry: true, + // }, + plugins: [appTools()], + tools: { + babel(config) { + config.sourceType = 'unambiguous'; + }, + webpack: (config, { webpack, appendPlugins }) => { + if (config?.output) { + config.output.publicPath = 'http://localhost:3005/'; + } + + appendPlugins([ + new AsyncBoundaryPlugin({ + excludeChunk: (chunk) => chunk.name === 'host', + eager: (module) => /\.federation/.test(module?.request || ''), + }), + new ModuleFederationPlugin({ + name: 'host', + remotes: { + remote: 'remote@http://localhost:3006/mf-manifest.json', + nested_remote: + 'nested_remote@http://localhost:3007/mf-manifest.json', + }, + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + }), + ]); + }, + }, +}); diff --git a/apps/modernjs-ssr/host/package.json b/apps/modernjs-ssr/host/package.json new file mode 100644 index 00000000000..679cc7dc4df --- /dev/null +++ b/apps/modernjs-ssr/host/package.json @@ -0,0 +1,49 @@ +{ + "name": "modernjs-ssr-host", + "private": true, + "version": "0.1.11", + "scripts": { + "reset": "npx rimraf ./**/node_modules", + "dev": "modern dev", + "build": "modern build", + "start": "modern start", + "serve": "modern serve", + "new": "modern new", + "lint": "modern lint", + "upgrade": "modern upgrade" + }, + "engines": { + "node": ">=16.18.1" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,mjs,cjs}": [ + "node --max_old_space_size=8192 ./node_modules/eslint/bin/eslint.js --fix --color --cache --quiet" + ] + }, + "eslintIgnore": [ + "node_modules/", + "dist/" + ], + "dependencies": { + "@modern-js/runtime": "2.49.1", + "react": "~18.2.0", + "react-dom": "~18.2.0", + "@module-federation/enhanced": "workspace:*", + "@babel/runtime": "7.24.4", + "antd": "4.24.15" + }, + "devDependencies": { + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", + "typescript": "~5.0.4", + "@types/jest": "~29.5.0", + "@types/node": "~16.11.7", + "@types/react": "~18.2.0", + "@types/react-dom": "~18.2.0", + "lint-staged": "~13.1.0", + "prettier": "~2.8.1", + "rimraf": "~3.0.2" + } +} diff --git a/apps/modernjs-ssr/host/project.json b/apps/modernjs-ssr/host/project.json new file mode 100644 index 00000000000..d7f81705e77 --- /dev/null +++ b/apps/modernjs-ssr/host/project.json @@ -0,0 +1,77 @@ +{ + "name": "modernjs-ssr-host", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/modernjs-ssr/modernjs-ssr-host/src", + "projectType": "application", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-host; pnpm run build", + "forwardAllArgs": true + } + ] + } + }, + "serve": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-host; pnpm run dev", + "forwardAllArgs": false + } + ] + } + }, + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/modernjs-ssr/modernjs-ssr-host/cypress.config.ts", + "testingType": "e2e", + "baseUrl": "http://localhost:4001", + "browser": "chrome" + }, + "configurations": { + "development": { + "runnerUi": true, + "browser": "electron", + "exit": false, + "watch": true + } + } + }, + "test:e2e": { + "executor": "nx:run-commands", + "options": { + "parallel": true, + "commands": [ + { + "command": "lsof -i :8080 || nx run modernjs-ssr-host:serve & echo 'done'", + "forwardAllArgs": false + }, + { + "command": "sleep 20 && nx run modernjs-ssr-host:e2e", + "forwardAllArgs": true + } + ] + } + } + }, + "tags": [], + "implicitDependencies": ["typescript"] +} diff --git a/apps/modernjs-ssr/host/src/.eslintrc.js b/apps/modernjs-ssr/host/src/.eslintrc.js new file mode 100644 index 00000000000..fafc0032305 --- /dev/null +++ b/apps/modernjs-ssr/host/src/.eslintrc.js @@ -0,0 +1,9 @@ +// eslint-disable-next-line import/no-commonjs +module.exports = { + root: true, + extends: ['@modern-js-app'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['../tsconfig.json'], + }, +}; diff --git a/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/index.css b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/layout.tsx b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/page.tsx b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/page.tsx new file mode 100644 index 00000000000..e5e668313a0 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/page.tsx @@ -0,0 +1,42 @@ +import React from 'react'; +import { + loadRemote, + registerRemotes, +} from '@module-federation/enhanced/runtime'; +import { useNavigate } from '@modern-js/runtime/router'; +import './index.css'; + +registerRemotes([ + { + name: 'dynamic_nested_remote', + entry: 'http://localhost:3009/mf-manifest.json', + }, +]); + +const DynamicNestedRemote = React.lazy(() => + loadRemote('dynamic_nested_remote/Content').then((m) => { + return m; + }), +); + +const Index = (): JSX.Element => { + const navi = useNavigate(); + + return ( +
+ host page , router: dynamic-nested-remote + + + +
+ ); +}; + +export default Index; diff --git a/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/user/page.tsx b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/user/page.tsx new file mode 100644 index 00000000000..4ccfb276db0 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-nested-remote/routes/user/page.tsx @@ -0,0 +1,15 @@ +import React from 'react'; + +const Index = (): JSX.Element => ( +
+ host user + +
+); + +export default Index; diff --git a/apps/modernjs-ssr/host/src/dynamic-remote/routes/index.css b/apps/modernjs-ssr/host/src/dynamic-remote/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-remote/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/host/src/dynamic-remote/routes/layout.tsx b/apps/modernjs-ssr/host/src/dynamic-remote/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-remote/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/host/src/dynamic-remote/routes/page.tsx b/apps/modernjs-ssr/host/src/dynamic-remote/routes/page.tsx new file mode 100644 index 00000000000..579e6ac4741 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-remote/routes/page.tsx @@ -0,0 +1,42 @@ +import React from 'react'; +import { + loadRemote, + registerRemotes, +} from '@module-federation/enhanced/runtime'; +import { useNavigate } from '@modern-js/runtime/router'; +import './index.css'; + +registerRemotes([ + { + name: 'dynamic_remote', + entry: 'http://localhost:3008/mf-manifest.json', + }, +]); + +const DynamicRemote = React.lazy(() => + loadRemote('dynamic_remote/Image').then((m) => { + return m; + }), +); + +const Index = (): JSX.Element => { + const navi = useNavigate(); + + return ( +
+ host page , router: dynamic-remote + + + +
+ ); +}; + +export default Index; diff --git a/apps/modernjs-ssr/host/src/dynamic-remote/routes/user/page.tsx b/apps/modernjs-ssr/host/src/dynamic-remote/routes/user/page.tsx new file mode 100644 index 00000000000..4ccfb276db0 --- /dev/null +++ b/apps/modernjs-ssr/host/src/dynamic-remote/routes/user/page.tsx @@ -0,0 +1,15 @@ +import React from 'react'; + +const Index = (): JSX.Element => ( +
+ host user + +
+); + +export default Index; diff --git a/apps/modernjs-ssr/host/src/modern-app-env.d.ts b/apps/modernjs-ssr/host/src/modern-app-env.d.ts new file mode 100644 index 00000000000..3f453508cee --- /dev/null +++ b/apps/modernjs-ssr/host/src/modern-app-env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/apps/modernjs-ssr/host/src/nested-remote/routes/index.css b/apps/modernjs-ssr/host/src/nested-remote/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/host/src/nested-remote/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/host/src/nested-remote/routes/layout.tsx b/apps/modernjs-ssr/host/src/nested-remote/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/host/src/nested-remote/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/host/src/nested-remote/routes/page.tsx b/apps/modernjs-ssr/host/src/nested-remote/routes/page.tsx new file mode 100644 index 00000000000..5912edeefe8 --- /dev/null +++ b/apps/modernjs-ssr/host/src/nested-remote/routes/page.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import Comp from 'nested_remote/Content'; +import { useNavigate } from '@modern-js/runtime/router'; +import './index.css'; + +const Index = (): JSX.Element => { + const navi = useNavigate(); + + return ( +
+ host page , router: nested-remote + + + +
+ ); +}; + +export default Index; diff --git a/apps/modernjs-ssr/host/src/nested-remote/routes/user/page.tsx b/apps/modernjs-ssr/host/src/nested-remote/routes/user/page.tsx new file mode 100644 index 00000000000..4ccfb276db0 --- /dev/null +++ b/apps/modernjs-ssr/host/src/nested-remote/routes/user/page.tsx @@ -0,0 +1,15 @@ +import React from 'react'; + +const Index = (): JSX.Element => ( +
+ host user + +
+); + +export default Index; diff --git a/apps/modernjs-ssr/host/src/remote/routes/index.css b/apps/modernjs-ssr/host/src/remote/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/host/src/remote/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/host/src/remote/routes/layout.tsx b/apps/modernjs-ssr/host/src/remote/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/host/src/remote/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/host/src/remote/routes/page.tsx b/apps/modernjs-ssr/host/src/remote/routes/page.tsx new file mode 100644 index 00000000000..4b0b8bd8479 --- /dev/null +++ b/apps/modernjs-ssr/host/src/remote/routes/page.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import Comp from 'remote/Image'; +import { useNavigate } from '@modern-js/runtime/router'; +import './index.css'; + +const Index = (): JSX.Element => { + const navi = useNavigate(); + + return ( +
+ host page , router: remote + + + +
+ ); +}; + +export default Index; diff --git a/apps/modernjs-ssr/host/src/remote/routes/user/page.tsx b/apps/modernjs-ssr/host/src/remote/routes/user/page.tsx new file mode 100644 index 00000000000..4ccfb276db0 --- /dev/null +++ b/apps/modernjs-ssr/host/src/remote/routes/user/page.tsx @@ -0,0 +1,15 @@ +import React from 'react'; + +const Index = (): JSX.Element => ( +
+ host user + +
+); + +export default Index; diff --git a/apps/modernjs-ssr/host/tsconfig.app.json b/apps/modernjs-ssr/host/tsconfig.app.json new file mode 100644 index 00000000000..b5b3e6e9e03 --- /dev/null +++ b/apps/modernjs-ssr/host/tsconfig.app.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node", "express"], + "target": "ES2015", + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/modernjs-ssr/host/tsconfig.json b/apps/modernjs-ssr/host/tsconfig.json new file mode 100644 index 00000000000..26ef0ff0304 --- /dev/null +++ b/apps/modernjs-ssr/host/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"], + "@shared/*": ["./shared/*"], + "*": ["./@mf-types/*"] + } + }, + "include": ["src", "shared", "config", "modern.config.ts"], + "exclude": ["**/node_modules"] +} diff --git a/apps/modernjs-ssr/host/tsconfig.spec.json b/apps/modernjs-ssr/host/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/apps/modernjs-ssr/host/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/apps/modernjs-ssr/nested-remote/modern.config.ts b/apps/modernjs-ssr/nested-remote/modern.config.ts new file mode 100644 index 00000000000..23a285bf5c2 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/modern.config.ts @@ -0,0 +1,75 @@ +import { appTools, defineConfig } from '@modern-js/app-tools'; +import { moduleFederationPlugin } from '@module-federation/modern-js'; + +// https://modernjs.dev/en/configure/app/usage +export default defineConfig({ + dev: { + port: 3007, + hmr: false, + liveReload: false, + }, + runtime: { + router: true, + }, + security: { + checkSyntax: true, + }, + output: { + disableTsChecker: true, + cssModuleLocalIdentName: 'nested-remote-[local]-[hash:base64:6]', + }, + server: { + ssr: { + mode: 'stream', + }, + port: 3007, + }, + // source: { + // enableAsyncEntry: true, + // }, + plugins: [appTools(), moduleFederationPlugin()], + tools: { + webpack: (config, { isServer, appendPlugins }) => { + config.optimization!.runtimeChunk = false; + + if (config?.output) { + config.output.publicPath = 'http://localhost:3007/'; + } + // if (!isServer) { + // // otherwise the federation entry will be loaded as async chunk + // config.optimization!.splitChunks.chunks = 'async'; + // } + // const mfConfig = { + // name: 'nested_remote', + // filename: 'remoteEntry.js', + // exposes: { + // './Content': './src/components/Content.tsx', + // }, + // remotes: { + // remote: 'remote@http://localhost:3006/mf-manifest.json', + // }, + // shared: { + // react: { singleton: true }, + // 'react-dom': { singleton: true }, + // }, + // dts: false, + // dev: false, + // }; + // if (isServer) { + // mfConfig.filename = 'bundles/remoteEntry.js'; + // mfConfig.remotes = { + // remote: 'remote@http://localhost:3006/bundles/remoteEntry.js', + // }; + // appendPlugins([new StreamingTargetPlugin(mfConfig)]); + // } + + // appendPlugins([ + // new AsyncBoundaryPlugin({ + // excludeChunk: (chunk) => chunk.name === 'nested_remote', + // eager: (module) => /\.federation/.test(module?.request || ''), + // }), + // new ModuleFederationPlugin(mfConfig), + // ]); + }, + }, +}); diff --git a/apps/modernjs-ssr/nested-remote/module-federation.config.ts b/apps/modernjs-ssr/nested-remote/module-federation.config.ts new file mode 100644 index 00000000000..ec4fa612a09 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/module-federation.config.ts @@ -0,0 +1,18 @@ +import { createModuleFederationConfig } from '@module-federation/modern-js'; +export default createModuleFederationConfig({ + async: true, + name: 'nested_remote', + filename: 'remoteEntry.js', + exposes: { + './Content': './src/components/Content.tsx', + }, + remotes: { + remote: 'remote@http://localhost:3006/mf-manifest.json', + }, + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + dts: false, + dev: false, +}); diff --git a/apps/modernjs-ssr/nested-remote/package.json b/apps/modernjs-ssr/nested-remote/package.json new file mode 100644 index 00000000000..7c1b1e56209 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/package.json @@ -0,0 +1,49 @@ +{ + "name": "modernjs-ssr-nested-remote", + "private": true, + "version": "0.1.11", + "scripts": { + "reset": "npx rimraf ./**/node_modules", + "dev": "modern dev", + "build": "modern build", + "start": "modern start", + "serve": "modern serve", + "new": "modern new", + "lint": "modern lint", + "upgrade": "modern upgrade" + }, + "engines": { + "node": ">=16.18.1" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,mjs,cjs}": [ + "node --max_old_space_size=8192 ./node_modules/eslint/bin/eslint.js --fix --color --cache --quiet" + ] + }, + "eslintIgnore": [ + "node_modules/", + "dist/" + ], + "dependencies": { + "@modern-js/runtime": "2.49.1", + "react": "~18.2.0", + "react-dom": "~18.2.0", + "@module-federation/modern-js": "workspace:*", + "@babel/runtime": "7.24.4", + "antd": "4.24.15" + }, + "devDependencies": { + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", + "typescript": "~5.0.4", + "@types/jest": "~29.5.0", + "@types/node": "~16.11.7", + "@types/react": "~18.2.0", + "@types/react-dom": "~18.2.0", + "lint-staged": "~13.1.0", + "prettier": "~2.8.1", + "rimraf": "~3.0.2" + } +} diff --git a/apps/modernjs-ssr/nested-remote/project.json b/apps/modernjs-ssr/nested-remote/project.json new file mode 100644 index 00000000000..cc60886a5c7 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/project.json @@ -0,0 +1,77 @@ +{ + "name": "modernjs-ssr-nested-remote", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/modernjs-ssr/modernjs-ssr-nested-remote/src", + "projectType": "application", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/nested-remote; pnpm run build", + "forwardAllArgs": true + } + ] + } + }, + "serve": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/nested-remote; pnpm run dev", + "forwardAllArgs": false + } + ] + } + }, + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/modernjs-ssr/nested-remote/cypress.config.ts", + "testingType": "e2e", + "baseUrl": "http://localhost:4001", + "browser": "chrome" + }, + "configurations": { + "development": { + "runnerUi": true, + "browser": "electron", + "exit": false, + "watch": true + } + } + }, + "test:e2e": { + "executor": "nx:run-commands", + "options": { + "parallel": true, + "commands": [ + { + "command": "lsof -i :8080 || nx run modernjs-ssr-nested-remote:serve & echo 'done'", + "forwardAllArgs": false + }, + { + "command": "sleep 20 && nx run modernjs-ssr-nested-remote:e2e", + "forwardAllArgs": true + } + ] + } + } + }, + "tags": [], + "implicitDependencies": ["typescript"] +} diff --git a/apps/modernjs-ssr/nested-remote/src/.eslintrc.js b/apps/modernjs-ssr/nested-remote/src/.eslintrc.js new file mode 100644 index 00000000000..fafc0032305 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/.eslintrc.js @@ -0,0 +1,9 @@ +// eslint-disable-next-line import/no-commonjs +module.exports = { + root: true, + extends: ['@modern-js-app'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['../tsconfig.json'], + }, +}; diff --git a/apps/modernjs-ssr/nested-remote/src/components/Content.tsx b/apps/modernjs-ssr/nested-remote/src/components/Content.tsx new file mode 100644 index 00000000000..8063f721f85 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/components/Content.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import Comp from 'remote/Image'; +import Button from 'antd/lib/button'; +import stuff from './stuff.module.css'; + +export default (): JSX.Element => ( +
+

alert('Client side Javascript works!')}> + nested remote +

+ + + +
+); diff --git a/apps/modernjs-ssr/nested-remote/src/components/stuff.module.css b/apps/modernjs-ssr/nested-remote/src/components/stuff.module.css new file mode 100644 index 00000000000..f486682a963 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/components/stuff.module.css @@ -0,0 +1,3 @@ +.test-remote2 { + background: rgb(119, 218, 59); +} diff --git a/apps/modernjs-ssr/nested-remote/src/components/stuff.module.css.d.ts b/apps/modernjs-ssr/nested-remote/src/components/stuff.module.css.d.ts new file mode 100644 index 00000000000..9c66e6a39aa --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/components/stuff.module.css.d.ts @@ -0,0 +1,3 @@ +const classes: { readonly 'test-remote2': string }; + +export default classes; diff --git a/apps/modernjs-ssr/nested-remote/src/modern-app-env.d.ts b/apps/modernjs-ssr/nested-remote/src/modern-app-env.d.ts new file mode 100644 index 00000000000..3f453508cee --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/modern-app-env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/apps/modernjs-ssr/nested-remote/src/routes/index.css b/apps/modernjs-ssr/nested-remote/src/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/nested-remote/src/routes/layout.tsx b/apps/modernjs-ssr/nested-remote/src/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/nested-remote/src/routes/page.tsx b/apps/modernjs-ssr/nested-remote/src/routes/page.tsx new file mode 100644 index 00000000000..9f13db88481 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/src/routes/page.tsx @@ -0,0 +1,10 @@ +import Content from '../components/Content'; +import './index.css'; + +const Index = () => ( +
+ +
+); + +export default Index; diff --git a/apps/modernjs-ssr/nested-remote/tsconfig.app.json b/apps/modernjs-ssr/nested-remote/tsconfig.app.json new file mode 100644 index 00000000000..b5b3e6e9e03 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/tsconfig.app.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node", "express"], + "target": "ES2015", + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/modernjs-ssr/nested-remote/tsconfig.json b/apps/modernjs-ssr/nested-remote/tsconfig.json new file mode 100644 index 00000000000..26ef0ff0304 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"], + "@shared/*": ["./shared/*"], + "*": ["./@mf-types/*"] + } + }, + "include": ["src", "shared", "config", "modern.config.ts"], + "exclude": ["**/node_modules"] +} diff --git a/apps/modernjs-ssr/nested-remote/tsconfig.spec.json b/apps/modernjs-ssr/nested-remote/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/apps/modernjs-ssr/nested-remote/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/apps/modernjs-ssr/remote-new-version/modern.config.ts b/apps/modernjs-ssr/remote-new-version/modern.config.ts new file mode 100644 index 00000000000..acbacde2b92 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/modern.config.ts @@ -0,0 +1,52 @@ +import { appTools, defineConfig } from '@modern-js/app-tools'; +import { + ModuleFederationPlugin, + AsyncBoundaryPlugin, +} from '@module-federation/enhanced'; +// https://modernjs.dev/en/configure/app/usage +export default defineConfig({ + dev: { + port: 3010, + }, + runtime: { + router: true, + }, + security: { + checkSyntax: true, + }, + source: { + // downgrade @module-federation related pkgs + include: [ + // should set module-federation in outer repo + /universe\/packages/, + ], + }, + // source: { + // enableAsyncEntry: true, + // }, + plugins: [appTools()], + tools: { + babel(config) { + config.sourceType = 'unambiguous'; + }, + webpack: (config, { webpack, appendPlugins }) => { + if (config?.output) { + config.output.publicPath = 'http://localhost:3010/'; + } + + appendPlugins([ + new ModuleFederationPlugin({ + name: 'remote_new_version', + exposes: { + './Image': './src/components/Image.tsx', + }, + runtimePlugins: ['./runtimePlugin.ts'], + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + }), + ]); + }, + }, +}); diff --git a/apps/modernjs-ssr/remote-new-version/package.json b/apps/modernjs-ssr/remote-new-version/package.json new file mode 100644 index 00000000000..7ddc3ceb591 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/package.json @@ -0,0 +1,49 @@ +{ + "name": "modernjs-ssr-remote-new-version", + "private": true, + "version": "0.1.11", + "scripts": { + "reset": "npx rimraf ./**/node_modules", + "dev": "modern dev", + "build": "modern build", + "start": "modern start", + "serve": "modern serve", + "new": "modern new", + "lint": "modern lint", + "upgrade": "modern upgrade" + }, + "engines": { + "node": ">=16.18.1" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,mjs,cjs}": [ + "node --max_old_space_size=8192 ./node_modules/eslint/bin/eslint.js --fix --color --cache --quiet" + ] + }, + "eslintIgnore": [ + "node_modules/", + "dist/" + ], + "dependencies": { + "@modern-js/runtime": "2.49.1", + "react": "~18.2.0", + "react-dom": "~18.2.0", + "@module-federation/enhanced": "workspace:*", + "@babel/runtime": "7.24.4", + "antd": "4.24.15" + }, + "devDependencies": { + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", + "typescript": "~5.0.4", + "@types/jest": "~29.5.0", + "@types/node": "~16.11.7", + "@types/react": "~18.2.0", + "@types/react-dom": "~18.2.0", + "lint-staged": "~13.1.0", + "prettier": "~2.8.1", + "rimraf": "~3.0.2" + } +} diff --git a/apps/modernjs-ssr/remote-new-version/project.json b/apps/modernjs-ssr/remote-new-version/project.json new file mode 100644 index 00000000000..b9831d7281d --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/project.json @@ -0,0 +1,77 @@ +{ + "name": "modernjs-ssr-remote-new-version", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/modernjs-ssr/modernjs-ssr-remote-new-version/src", + "projectType": "application", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-remote-new-version; pnpm run build", + "forwardAllArgs": true + } + ] + } + }, + "serve": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/modernjs-ssr-remote-new-version; pnpm run dev", + "forwardAllArgs": false + } + ] + } + }, + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/modernjs-ssr/modernjs-ssr-remote-new-version/cypress.config.ts", + "testingType": "e2e", + "baseUrl": "http://localhost:4001", + "browser": "chrome" + }, + "configurations": { + "development": { + "runnerUi": true, + "browser": "electron", + "exit": false, + "watch": true + } + } + }, + "test:e2e": { + "executor": "nx:run-commands", + "options": { + "parallel": true, + "commands": [ + { + "command": "lsof -i :8080 || nx run modernjs-ssr-remote-new-version:serve & echo 'done'", + "forwardAllArgs": false + }, + { + "command": "sleep 20 && nx run modernjs-ssr-remote-new-version:e2e", + "forwardAllArgs": true + } + ] + } + } + }, + "tags": [], + "implicitDependencies": ["typescript"] +} diff --git a/apps/modernjs-ssr/remote-new-version/src/.eslintrc.js b/apps/modernjs-ssr/remote-new-version/src/.eslintrc.js new file mode 100644 index 00000000000..fafc0032305 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/.eslintrc.js @@ -0,0 +1,9 @@ +// eslint-disable-next-line import/no-commonjs +module.exports = { + root: true, + extends: ['@modern-js-app'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['../tsconfig.json'], + }, +}; diff --git a/apps/modernjs-ssr/remote-new-version/src/components/Image.tsx b/apps/modernjs-ssr/remote-new-version/src/components/Image.tsx new file mode 100644 index 00000000000..a6bce1b06eb --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/components/Image.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import Button from 'antd/lib/button'; +import stuff from './stuff.module.css'; + +export default (): JSX.Element => ( +
+

+ remote new version image +

+ + serge + +
+); diff --git a/apps/modernjs-ssr/remote-new-version/src/components/stuff.module.css b/apps/modernjs-ssr/remote-new-version/src/components/stuff.module.css new file mode 100644 index 00000000000..d5dd8731259 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/components/stuff.module.css @@ -0,0 +1,3 @@ +.test-remote2 { + background: red; +} diff --git a/apps/modernjs-ssr/remote-new-version/src/components/stuff.module.css.d.ts b/apps/modernjs-ssr/remote-new-version/src/components/stuff.module.css.d.ts new file mode 100644 index 00000000000..9c66e6a39aa --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/components/stuff.module.css.d.ts @@ -0,0 +1,3 @@ +const classes: { readonly 'test-remote2': string }; + +export default classes; diff --git a/apps/modernjs-ssr/remote-new-version/src/modern-app-env.d.ts b/apps/modernjs-ssr/remote-new-version/src/modern-app-env.d.ts new file mode 100644 index 00000000000..3f453508cee --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/modern-app-env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/apps/modernjs-ssr/remote-new-version/src/routes/index.css b/apps/modernjs-ssr/remote-new-version/src/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/remote-new-version/src/routes/layout.tsx b/apps/modernjs-ssr/remote-new-version/src/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/remote-new-version/src/routes/page.tsx b/apps/modernjs-ssr/remote-new-version/src/routes/page.tsx new file mode 100644 index 00000000000..5c8d48fd83d --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/routes/page.tsx @@ -0,0 +1,93 @@ +// @ts-nocheck +import { Helmet } from '@modern-js/runtime/head'; +import './index.css'; + +const Index = () => ( + +); + +export default Index; diff --git a/apps/modernjs-ssr/remote-new-version/src/test.ts b/apps/modernjs-ssr/remote-new-version/src/test.ts new file mode 100644 index 00000000000..2ea084092a2 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/src/test.ts @@ -0,0 +1 @@ +export default 'test'; diff --git a/apps/modernjs-ssr/remote-new-version/tsconfig.app.json b/apps/modernjs-ssr/remote-new-version/tsconfig.app.json new file mode 100644 index 00000000000..b5b3e6e9e03 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/tsconfig.app.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node", "express"], + "target": "ES2015", + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/modernjs-ssr/remote-new-version/tsconfig.json b/apps/modernjs-ssr/remote-new-version/tsconfig.json new file mode 100644 index 00000000000..ce7f951eefc --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"], + "@shared/*": ["./shared/*"] + } + }, + "include": ["src", "shared", "config", "modern.config.ts"], + "exclude": ["**/node_modules"] +} diff --git a/apps/modernjs-ssr/remote-new-version/tsconfig.spec.json b/apps/modernjs-ssr/remote-new-version/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/apps/modernjs-ssr/remote-new-version/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/apps/modernjs-ssr/remote/modern.config.ts b/apps/modernjs-ssr/remote/modern.config.ts new file mode 100644 index 00000000000..854b9afd426 --- /dev/null +++ b/apps/modernjs-ssr/remote/modern.config.ts @@ -0,0 +1,59 @@ +import { appTools, defineConfig } from '@modern-js/app-tools'; +import { moduleFederationPlugin } from '@module-federation/modern-js'; + +// https://modernjs.dev/en/configure/app/usage +export default defineConfig({ + dev: { + port: 3006, + host: 'localhost', + hmr: false, + liveReload: false, + }, + runtime: { + router: true, + }, + output: { + disableTsChecker: true, + }, + // source: { + // enableAsyncEntry: true, + // }, + plugins: [appTools(), moduleFederationPlugin()], + // plugins: [appTools(), ], + server: { + ssr: true, + }, + tools: { + webpack: (config, { isServer, appendPlugins }) => { + config.optimization!.runtimeChunk = false; + if (config?.output) { + config.output.publicPath = 'http://localhost:3006/'; + } + + // const mfConfig = { + // name: 'remote', + // filename: 'remoteEntry.js', + // exposes: { + // './Image': './src/components/Image.tsx', + // }, + // shared: { + // react: { singleton: true }, + // 'react-dom': { singleton: true }, + // }, + // dts: false, + // dev: false, + // }; + // if (isServer) { + // mfConfig.filename = 'bundles/remoteEntry.js'; + // mfConfig.library = { + // type: 'commonjs-module', + // }; + // mfConfig.manifest = false; + // } + // if (isServer) { + // appendPlugins([new StreamingTargetPlugin(mfConfig)]); + // } + // appendPlugins([new ModuleFederationPlugin(mfConfig)]); + }, + }, +}); diff --git a/apps/modernjs-ssr/remote/module-federation.config.ts b/apps/modernjs-ssr/remote/module-federation.config.ts new file mode 100644 index 00000000000..b05456cb4e2 --- /dev/null +++ b/apps/modernjs-ssr/remote/module-federation.config.ts @@ -0,0 +1,14 @@ +import { createModuleFederationConfig } from '@module-federation/modern-js'; +export default createModuleFederationConfig({ + name: 'remote', + filename: 'remoteEntry.js', + exposes: { + './Image': './src/components/Image.tsx', + }, + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + dts: false, + dev: false, +}); diff --git a/apps/modernjs-ssr/remote/package.json b/apps/modernjs-ssr/remote/package.json new file mode 100644 index 00000000000..8eaefd16104 --- /dev/null +++ b/apps/modernjs-ssr/remote/package.json @@ -0,0 +1,49 @@ +{ + "name": "modernjs-ssr-remote", + "private": true, + "version": "0.1.11", + "scripts": { + "reset": "npx rimraf ./**/node_modules", + "dev": "modern dev", + "build": "modern build", + "start": "modern start", + "serve": "modern serve", + "new": "modern new", + "lint": "modern lint", + "upgrade": "modern upgrade" + }, + "engines": { + "node": ">=16.18.1" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,mjs,cjs}": [ + "node --max_old_space_size=8192 ./node_modules/eslint/bin/eslint.js --fix --color --cache --quiet" + ] + }, + "eslintIgnore": [ + "node_modules/", + "dist/" + ], + "dependencies": { + "@modern-js/runtime": "2.49.1", + "react": "~18.2.0", + "react-dom": "~18.2.0", + "@module-federation/modern-js": "workspace:*", + "@babel/runtime": "7.24.4", + "antd": "4.24.15" + }, + "devDependencies": { + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", + "typescript": "~5.0.4", + "@types/jest": "~29.5.0", + "@types/node": "~16.11.7", + "@types/react": "~18.2.0", + "@types/react-dom": "~18.2.0", + "lint-staged": "~13.1.0", + "prettier": "~2.8.1", + "rimraf": "~3.0.2" + } +} diff --git a/apps/modernjs-ssr/remote/project.json b/apps/modernjs-ssr/remote/project.json new file mode 100644 index 00000000000..cd56ab2512e --- /dev/null +++ b/apps/modernjs-ssr/remote/project.json @@ -0,0 +1,77 @@ +{ + "name": "modernjs-ssr-remote", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/modernjs-ssr/remote/src", + "projectType": "application", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/remote; pnpm run build", + "forwardAllArgs": true + } + ] + } + }, + "serve": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd apps/modernjs-ssr/remote; pnpm run dev", + "forwardAllArgs": false + } + ] + } + }, + "e2e": { + "executor": "@nx/cypress:cypress", + "options": { + "cypressConfig": "apps/modernjs-ssr/remote/cypress.config.ts", + "testingType": "e2e", + "baseUrl": "http://localhost:4001", + "browser": "chrome" + }, + "configurations": { + "development": { + "runnerUi": true, + "browser": "electron", + "exit": false, + "watch": true + } + } + }, + "test:e2e": { + "executor": "nx:run-commands", + "options": { + "parallel": true, + "commands": [ + { + "command": "lsof -i :8080 || nx run modernjs-ssr-remote:serve & echo 'done'", + "forwardAllArgs": false + }, + { + "command": "sleep 20 && nx run modernjs-ssr-remote:e2e", + "forwardAllArgs": true + } + ] + } + } + }, + "tags": [], + "implicitDependencies": ["typescript"] +} diff --git a/apps/modernjs-ssr/remote/src/.eslintrc.js b/apps/modernjs-ssr/remote/src/.eslintrc.js new file mode 100644 index 00000000000..fafc0032305 --- /dev/null +++ b/apps/modernjs-ssr/remote/src/.eslintrc.js @@ -0,0 +1,9 @@ +// eslint-disable-next-line import/no-commonjs +module.exports = { + root: true, + extends: ['@modern-js-app'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['../tsconfig.json'], + }, +}; diff --git a/apps/modernjs-ssr/remote/src/components/Image.tsx b/apps/modernjs-ssr/remote/src/components/Image.tsx new file mode 100644 index 00000000000..bccc42500b7 --- /dev/null +++ b/apps/modernjs-ssr/remote/src/components/Image.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import Button from 'antd/lib/button'; +import stuff from './stuff.module.css'; + +export default (): JSX.Element => ( +
+

+ remote image +

+ + serge + +
+); diff --git a/apps/modernjs-ssr/remote/src/components/stuff.module.css b/apps/modernjs-ssr/remote/src/components/stuff.module.css new file mode 100644 index 00000000000..d5dd8731259 --- /dev/null +++ b/apps/modernjs-ssr/remote/src/components/stuff.module.css @@ -0,0 +1,3 @@ +.test-remote2 { + background: red; +} diff --git a/apps/modernjs-ssr/remote/src/components/stuff.module.css.d.ts b/apps/modernjs-ssr/remote/src/components/stuff.module.css.d.ts new file mode 100644 index 00000000000..9c66e6a39aa --- /dev/null +++ b/apps/modernjs-ssr/remote/src/components/stuff.module.css.d.ts @@ -0,0 +1,3 @@ +const classes: { readonly 'test-remote2': string }; + +export default classes; diff --git a/apps/modernjs-ssr/remote/src/modern-app-env.d.ts b/apps/modernjs-ssr/remote/src/modern-app-env.d.ts new file mode 100644 index 00000000000..3f453508cee --- /dev/null +++ b/apps/modernjs-ssr/remote/src/modern-app-env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/apps/modernjs-ssr/remote/src/routes/index.css b/apps/modernjs-ssr/remote/src/routes/index.css new file mode 100644 index 00000000000..e890f8aa146 --- /dev/null +++ b/apps/modernjs-ssr/remote/src/routes/index.css @@ -0,0 +1,127 @@ +html, +body { + padding: 0; + margin: 0; + font-family: + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; + background: linear-gradient(to bottom, transparent, #fff) #eceeef; +} + +p { + margin: 0; +} + +* { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + box-sizing: border-box; +} + +.container-box { + min-height: 100vh; + max-width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 10px; +} + +main { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + display: flex; + margin: 4rem 0 4rem; + align-items: center; + font-size: 4rem; + font-weight: 600; +} + +.logo { + width: 6rem; + margin: 7px 0 0 1rem; +} + +.name { + color: #4ecaff; +} + +.description { + text-align: center; + line-height: 1.5; + font-size: 1.3rem; + color: #1b3a42; + margin-bottom: 5rem; +} + +.code { + background: #fafafa; + border-radius: 12px; + padding: 0.6rem 0.9rem; + font-size: 1.05rem; + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, + monospace; +} + +.container-box .grid { + display: flex; + align-items: center; + justify-content: center; + width: 1100px; + margin-top: 3rem; +} + +.card { + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: center; + height: 100px; + color: inherit; + text-decoration: none; + transition: 0.15s ease; + width: 45%; +} + +.card:hover, +.card:focus { + transform: scale(1.05); +} + +.card h2 { + display: flex; + align-items: center; + font-size: 1.5rem; + margin: 0; + padding: 0; +} + +.card p { + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + margin-top: 1rem; +} + +.arrow-right { + width: 1.3rem; + margin-left: 0.5rem; + margin-top: 3px; +} diff --git a/apps/modernjs-ssr/remote/src/routes/layout.tsx b/apps/modernjs-ssr/remote/src/routes/layout.tsx new file mode 100644 index 00000000000..6433ea79e92 --- /dev/null +++ b/apps/modernjs-ssr/remote/src/routes/layout.tsx @@ -0,0 +1,9 @@ +import { Outlet } from '@modern-js/runtime/router'; + +export default function Layout() { + return ( +
+ +
+ ); +} diff --git a/apps/modernjs-ssr/remote/src/routes/page.tsx b/apps/modernjs-ssr/remote/src/routes/page.tsx new file mode 100644 index 00000000000..5c8d48fd83d --- /dev/null +++ b/apps/modernjs-ssr/remote/src/routes/page.tsx @@ -0,0 +1,93 @@ +// @ts-nocheck +import { Helmet } from '@modern-js/runtime/head'; +import './index.css'; + +const Index = () => ( + +); + +export default Index; diff --git a/apps/modernjs-ssr/remote/tsconfig.app.json b/apps/modernjs-ssr/remote/tsconfig.app.json new file mode 100644 index 00000000000..b5b3e6e9e03 --- /dev/null +++ b/apps/modernjs-ssr/remote/tsconfig.app.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node", "express"], + "target": "ES2015", + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/modernjs-ssr/remote/tsconfig.json b/apps/modernjs-ssr/remote/tsconfig.json new file mode 100644 index 00000000000..ce7f951eefc --- /dev/null +++ b/apps/modernjs-ssr/remote/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": { + "@/*": ["./src/*"], + "@shared/*": ["./shared/*"] + } + }, + "include": ["src", "shared", "config", "modern.config.ts"], + "exclude": ["**/node_modules"] +} diff --git a/apps/modernjs-ssr/remote/tsconfig.spec.json b/apps/modernjs-ssr/remote/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/apps/modernjs-ssr/remote/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/apps/modernjs/package.json b/apps/modernjs/package.json index 1897eed4375..ed0727bf961 100644 --- a/apps/modernjs/package.json +++ b/apps/modernjs/package.json @@ -25,17 +25,17 @@ "dist/" ], "dependencies": { - "@modern-js/runtime": "2.46.1", + "@modern-js/runtime": "2.49.1", "react": "~18.2.0", "react-dom": "~18.2.0", "@module-federation/enhanced": "workspace:*", "@babel/runtime": "7.24.4" }, "devDependencies": { - "@modern-js/app-tools": "2.46.1", - "@modern-js/eslint-config": "2.46.1", - "@modern-js/tsconfig": "2.46.1", - "@modern-js-app/eslint-config": "2.46.1", + "@modern-js/app-tools": "2.49.1", + "@modern-js/eslint-config": "2.49.1", + "@modern-js/tsconfig": "2.49.1", + "@modern-js-app/eslint-config": "2.49.1", "typescript": "~5.0.4", "@types/jest": "~29.5.0", "@types/node": "~16.11.7", diff --git a/apps/node-remote/webpack.config.js b/apps/node-remote/webpack.config.js index be2d44eec9b..62eccb93b8c 100644 --- a/apps/node-remote/webpack.config.js +++ b/apps/node-remote/webpack.config.js @@ -29,5 +29,6 @@ module.exports = composePlugins(withNx(), (config) => { }, }), ); + debugger; return config; }); diff --git a/packages/chrome-devtools/package.json b/packages/chrome-devtools/package.json index f570243f808..42a7117a980 100644 --- a/packages/chrome-devtools/package.json +++ b/packages/chrome-devtools/package.json @@ -51,7 +51,7 @@ }, "dependencies": { "@arco-design/web-react": "^2.59.1", - "@modern-js/runtime": "2.46.1", + "@modern-js/runtime": "2.49.1", "@module-federation/sdk": "workspace:*", "ahooks": "^3.7.10", "dagre": "^0.8.5", diff --git a/packages/enhanced/src/index.ts b/packages/enhanced/src/index.ts index 96a94c4ae2e..87cbac77800 100644 --- a/packages/enhanced/src/index.ts +++ b/packages/enhanced/src/index.ts @@ -1,3 +1,4 @@ +import type { moduleFederationPlugin } from '@module-federation/sdk'; export { default as ModuleFederationPlugin } from './wrapper/ModuleFederationPlugin'; export { default as ContainerReferencePlugin } from './wrapper/ContainerReferencePlugin'; export { default as SharePlugin } from './wrapper/SharePlugin'; @@ -22,3 +23,9 @@ export const container = { return require('./lib/container/ContainerEntryModule').default; }, }; + +export const createModuleFederationConfig = ( + options: moduleFederationPlugin.ModuleFederationPluginOptions, +): moduleFederationPlugin.ModuleFederationPluginOptions => { + return options; +}; diff --git a/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts b/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts index 32f221b2bfe..bbd4e035646 100644 --- a/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts +++ b/packages/enhanced/src/lib/container/ModuleFederationPlugin.ts @@ -18,7 +18,6 @@ import ContainerPlugin from './ContainerPlugin'; import ContainerReferencePlugin from './ContainerReferencePlugin'; import schema from '../../schemas/container/ModuleFederationPlugin'; import FederationRuntimePlugin from './runtime/FederationRuntimePlugin'; -import HoistContainerReferencesPlugin from './HoistContainerReferencesPlugin'; const isValidExternalsType = require( normalizeWebpackPath( @@ -41,6 +40,7 @@ const validate = createSchemaValidation( class ModuleFederationPlugin implements WebpackPluginInstance { private _options: moduleFederationPlugin.ModuleFederationPluginOptions; + private _statsPlugin?: StatsPlugin; /** * @param {moduleFederationPlugin.ModuleFederationPluginOptions} options options */ @@ -150,12 +150,17 @@ class ModuleFederationPlugin implements WebpackPluginInstance { if (!disableManifest) { const pkg = require('../../../../package.json'); - new StatsPlugin(options, { + this._statsPlugin = new StatsPlugin(options, { pluginVersion: pkg.version, bundler: 'webpack', - }).apply(compiler); + }); + this._statsPlugin.apply(compiler); } } + + get statsResourceInfo() { + return this._statsPlugin?.resourceInfo; + } } export default ModuleFederationPlugin; diff --git a/packages/enhanced/src/lib/container/RemoteRuntimeModule.ts b/packages/enhanced/src/lib/container/RemoteRuntimeModule.ts index b7a3c93f12c..67fdb83e484 100644 --- a/packages/enhanced/src/lib/container/RemoteRuntimeModule.ts +++ b/packages/enhanced/src/lib/container/RemoteRuntimeModule.ts @@ -9,6 +9,11 @@ import { getFederationGlobalScope } from './runtime/utils'; import type ExternalModule from 'webpack/lib/ExternalModule'; import type FallbackModule from './FallbackModule'; import type { RemotesOptions } from '@module-federation/webpack-bundler-runtime'; +import { + FEDERATION_SUPPORTED_TYPES_CJS, + FEDERATION_SUPPORTED_TYPES_CJS_MAP, + FEDERATION_SUPPORTED_TYPES, +} from '@module-federation/webpack-bundler-runtime/constant'; const extractUrlAndGlobal = require( normalizeWebpackPath('webpack/lib/util/extractUrlAndGlobal'), @@ -98,9 +103,20 @@ class RemoteRuntimeModule extends RuntimeModule { remoteModule && // @ts-ignore chunkGraph.getModuleId(remoteModule); + + const isCJS = + remoteModule.externalType === + FEDERATION_SUPPORTED_TYPES_CJS_MAP[ + FEDERATION_SUPPORTED_TYPES_CJS + ]; + const externalType = isCJS + ? FEDERATION_SUPPORTED_TYPES_CJS + : remoteModule.externalType; + const canShowName = + FEDERATION_SUPPORTED_TYPES.includes(externalType); idToRemoteMap[id].push({ - externalType: remoteModule.externalType, - name: remoteModule.externalType === 'script' ? remoteName : '', + externalType: externalType, + name: canShowName ? remoteName : '', externalModuleId, }); }); diff --git a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts index 95c711bc3ca..5a07bd50658 100644 --- a/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts +++ b/packages/enhanced/src/schemas/container/ModuleFederationPlugin.ts @@ -754,5 +754,9 @@ export default { }, ], }, + async: { + description: 'Make entrypoints startup as async chunks', + type: 'boolean', + }, }, }; diff --git a/packages/enhanced/src/wrapper/ModuleFederationPlugin.ts b/packages/enhanced/src/wrapper/ModuleFederationPlugin.ts index bddb3b28ed0..1ab00ab7a86 100644 --- a/packages/enhanced/src/wrapper/ModuleFederationPlugin.ts +++ b/packages/enhanced/src/wrapper/ModuleFederationPlugin.ts @@ -1,5 +1,6 @@ import type { WebpackPluginInstance, Compiler } from 'webpack'; import type { moduleFederationPlugin } from '@module-federation/sdk'; +import type IModuleFederationPlugin from '../lib/container/ModuleFederationPlugin'; import { getWebpackPath } from '@module-federation/sdk/normalize-webpack-path'; @@ -7,6 +8,7 @@ const PLUGIN_NAME = 'ModuleFederationPlugin'; export default class ModuleFederationPlugin implements WebpackPluginInstance { private _options: moduleFederationPlugin.ModuleFederationPluginOptions; + private _mfPlugin?: IModuleFederationPlugin; name: string; constructor(options: moduleFederationPlugin.ModuleFederationPluginOptions) { @@ -22,10 +24,12 @@ export default class ModuleFederationPlugin implements WebpackPluginInstance { process.env['FEDERATION_WEBPACK_PATH'] || getWebpackPath(compiler); const CoreModuleFederationPlugin = require('../lib/container/ModuleFederationPlugin') - .default as typeof import('../lib/container/ModuleFederationPlugin').default; - new CoreModuleFederationPlugin(this._options).apply(compiler); + .default as typeof IModuleFederationPlugin; + this._mfPlugin = new CoreModuleFederationPlugin(this._options); + this._mfPlugin!.apply(compiler); + } - // compiler.hooks.afterPlugins.tap('WrapperModuleFederationPlugin', () => { - // }) + get statsResourceInfo() { + return this._mfPlugin?.statsResourceInfo; } } diff --git a/packages/manifest/src/ManifestManager.ts b/packages/manifest/src/ManifestManager.ts index 1520f3c6db0..9931f5ef8d2 100644 --- a/packages/manifest/src/ManifestManager.ts +++ b/packages/manifest/src/ManifestManager.ts @@ -15,6 +15,7 @@ import { import { getFileName, isDev } from './utils'; import type { Compilation, Compiler } from 'webpack'; import { PLUGIN_IDENTIFIER } from './constants'; +import { ManifestInfo } from './types'; interface GenerateManifestOptions { compilation: Compilation; @@ -41,7 +42,10 @@ class ManifestManager { return getFileName(this._options.manifest).manifestFileName; } - async generateManifest(options: GenerateManifestOptions): Promise { + async generateManifest( + options: GenerateManifestOptions, + extraOptions: { disableEmit?: boolean } = {}, + ): Promise { const { compilation, publicPath, @@ -50,6 +54,7 @@ class ManifestManager { bundler, additionalData, } = options; + const { disableEmit } = extraOptions; const manifest: Manifest = { ...stats, }; @@ -117,12 +122,14 @@ class ManifestManager { this._manifest = ret || this._manifest; } - compilation.emitAsset( - manifestFileName, - new compiler.webpack.sources.RawSource( - JSON.stringify(this._manifest, null, 2), - ), - ); + if (!disableEmit) { + compilation.emitAsset( + manifestFileName, + new compiler.webpack.sources.RawSource( + JSON.stringify(this._manifest, null, 2), + ), + ); + } if (isDev()) { console.log( @@ -131,6 +138,11 @@ class ManifestManager { }${manifestFileName}}}`, ); } + + return { + manifest: this._manifest, + filename: manifestFileName, + }; } } diff --git a/packages/manifest/src/StatsManager.ts b/packages/manifest/src/StatsManager.ts index 057490d63fc..d360bddbd99 100644 --- a/packages/manifest/src/StatsManager.ts +++ b/packages/manifest/src/StatsManager.ts @@ -32,6 +32,7 @@ import { } from '@module-federation/managers'; import { HOT_UPDATE_SUFFIX, PLUGIN_IDENTIFIER } from './constants'; import { ModuleHandler } from './ModuleHandler'; +import { StatsInfo } from './types'; class StatsManager { private _options: moduleFederationPlugin.ModuleFederationPluginOptions = {}; @@ -115,7 +116,7 @@ class StatsManager { remoteEntry: { name: getRemoteEntryName(), path: '', - // same as the types supported by runtime, currently only global/var/script is supported + // same as the types supported by runtime, currently only global/var/script/cjs:webpack is supported type: 'global', }, types: getTypesMetaInfo(this._options, compiler.context), @@ -394,9 +395,10 @@ class StatsManager { async generateStats( compiler: Compiler, compilation: Compilation, - extraOptions?: {}, - ): Promise { + extraOptions: { disableEmit?: boolean } = {}, + ): Promise { try { + const { disableEmit } = extraOptions; const existedStats = compilation.getAsset(this.fileName); if (existedStats) { return JSON.parse(existedStats.source.source().toString()); @@ -418,11 +420,19 @@ class StatsManager { stats = ret || stats; } - compilation.emitAsset( - this.fileName, - new compiler.webpack.sources.RawSource(JSON.stringify(stats, null, 2)), - ); - return stats; + if (!disableEmit) { + compilation.emitAsset( + this.fileName, + new compiler.webpack.sources.RawSource( + JSON.stringify(stats, null, 2), + ), + ); + } + + return { + stats, + filename: this.fileName, + }; } catch (err) { throw err; } diff --git a/packages/manifest/src/StatsPlugin.ts b/packages/manifest/src/StatsPlugin.ts index 2856b99334e..950e06fbb2a 100644 --- a/packages/manifest/src/StatsPlugin.ts +++ b/packages/manifest/src/StatsPlugin.ts @@ -3,6 +3,7 @@ import { moduleFederationPlugin } from '@module-federation/sdk'; import { ManifestManager } from './ManifestManager'; import { StatsManager } from './StatsManager'; import { PLUGIN_IDENTIFIER } from './constants'; +import { StatsInfo, ManifestInfo, ResourceInfo } from './types'; export class StatsPlugin implements WebpackPluginInstance { readonly name = 'StatsPlugin'; @@ -11,6 +12,9 @@ export class StatsPlugin implements WebpackPluginInstance { private _manifestManager: ManifestManager = new ManifestManager(); private _enable: boolean = true; private _bundler: 'webpack' | 'rspack' = 'webpack'; + statsInfo?: StatsInfo; + manifestInfo?: ManifestInfo; + disableEmit?: boolean; constructor( options: moduleFederationPlugin.ModuleFederationPluginOptions, @@ -22,6 +26,7 @@ export class StatsPlugin implements WebpackPluginInstance { try { this._options = options; this._bundler = bundler; + this.disableEmit = Boolean(process.env['MF_DISABLE_EMIT_STATS']); this._statsManager.init(this._options, { pluginVersion, bundler }); this._manifestManager.init(this._options); } catch (err) { @@ -50,24 +55,39 @@ export class StatsPlugin implements WebpackPluginInstance { }, async () => { if (this._options.manifest !== false) { - const stats = await this._statsManager.generateStats( + this.statsInfo = await this._statsManager.generateStats( compiler, compilation, + { + disableEmit: this.disableEmit, + }, + ); + this.manifestInfo = await this._manifestManager.generateManifest( + { + compilation, + stats: this.statsInfo.stats, + publicPath: this._statsManager.getPublicPath(compiler), + compiler, + bundler: this._bundler, + additionalData: + typeof this._options.manifest === 'object' + ? this._options.manifest.additionalData + : undefined, + }, + { + disableEmit: this.disableEmit, + }, ); - this._manifestManager.generateManifest({ - compilation, - stats, - publicPath: this._statsManager.getPublicPath(compiler), - compiler, - bundler: this._bundler, - additionalData: - typeof this._options.manifest === 'object' - ? this._options.manifest.additionalData - : undefined, - }); } }, ); }); } + + get resourceInfo(): Partial { + return { + stats: this.statsInfo, + manifest: this.manifestInfo, + }; + } } diff --git a/packages/manifest/src/index.ts b/packages/manifest/src/index.ts index bca889c19f4..6228014e020 100644 --- a/packages/manifest/src/index.ts +++ b/packages/manifest/src/index.ts @@ -1,3 +1,4 @@ export { StatsPlugin } from './StatsPlugin'; export { ManifestManager } from './ManifestManager'; export { StatsManager } from './StatsManager'; +export * from './types'; diff --git a/packages/manifest/src/types.ts b/packages/manifest/src/types.ts new file mode 100644 index 00000000000..3289c48fe01 --- /dev/null +++ b/packages/manifest/src/types.ts @@ -0,0 +1,16 @@ +import { Manifest, Stats } from '@module-federation/sdk'; + +export type StatsInfo = { + stats: Stats; + filename: string; +}; + +export type ManifestInfo = { + manifest: Manifest; + filename: string; +}; + +export type ResourceInfo = { + stats: StatsInfo; + manifest: ManifestInfo; +}; diff --git a/packages/modernjs/CHANGELOG.md b/packages/modernjs/CHANGELOG.md new file mode 100644 index 00000000000..3236ee73bd5 --- /dev/null +++ b/packages/modernjs/CHANGELOG.md @@ -0,0 +1 @@ +# @module-federation/modern-js diff --git a/packages/modernjs/LICENSE b/packages/modernjs/LICENSE new file mode 100644 index 00000000000..f74c11c43d6 --- /dev/null +++ b/packages/modernjs/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024-present zhanghang(2heal1) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/modernjs/README.md b/packages/modernjs/README.md new file mode 100644 index 00000000000..3236ee73bd5 --- /dev/null +++ b/packages/modernjs/README.md @@ -0,0 +1 @@ +# @module-federation/modern-js diff --git a/packages/modernjs/modern.config.ts b/packages/modernjs/modern.config.ts new file mode 100644 index 00000000000..a7a46250653 --- /dev/null +++ b/packages/modernjs/modern.config.ts @@ -0,0 +1,6 @@ +import { moduleTools, defineConfig } from '@modern-js/module-tools'; + +export default defineConfig({ + buildPreset: 'modern-js-universal', + plugins: [moduleTools()], +}); diff --git a/packages/modernjs/package.json b/packages/modernjs/package.json new file mode 100644 index 00000000000..b4134338150 --- /dev/null +++ b/packages/modernjs/package.json @@ -0,0 +1,56 @@ +{ + "name": "@module-federation/modern-js", + "version": "0.1.6", + "files": [ + "dist/", + "types.d.ts", + "README.md" + ], + "publishConfig": { + "access": "public" + }, + "scripts": { + "build": "modern build" + }, + "exports": { + ".": { + "import": "./dist/esm/cli/index.js", + "require": "./dist/cjs/cli/index.js", + "types": "./dist/types/cli/index.d.ts" + }, + "./runtime": { + "types": "./dist/types/runtime/index.d.ts", + "default": "./dist/esm/runtime/index.js" + } + }, + "typesVersions": { + "*": { + ".": [ + "./dist/types/cli/index.d.ts" + ], + "runtime": [ + "./dist/types/runtime/index.d.ts" + ] + } + }, + "main": "./dist/cjs/cli/index.js", + "types": "./dist/types/cli/index.d.ts", + "author": "hanric ", + "license": "MIT", + "dependencies": { + "@swc/helpers": "0.5.3", + "@modern-js/utils": "^2.49.2", + "@module-federation/sdk": "workspace:*", + "@module-federation/enhanced": "workspace:*", + "@module-federation/node": "workspace:*", + "@modern-js/node-bundle-require": "^2.49.2" + }, + "devDependencies": { + "@module-federation/manifest": "workspace:*", + "@modern-js/app-tools": "^2.49.2", + "@modern-js/core": "^2.49.2", + "@modern-js/runtime": "^2.49.2", + "@modern-js/module-tools": "^2.35.0", + "@modern-js/tsconfig": "^2.35.0" + } +} diff --git a/packages/modernjs/project.json b/packages/modernjs/project.json new file mode 100644 index 00000000000..54686743a91 --- /dev/null +++ b/packages/modernjs/project.json @@ -0,0 +1,61 @@ +{ + "name": "modern-js-plugin", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/modernjs/src", + "projectType": "library", + "targets": { + "build": { + "executor": "nx:run-commands", + "options": { + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ], + "commands": [ + { + "command": "cd packages/modernjs; pnpm run build", + "forwardAllArgs": true + }, + { + "command": "cp packages/modernjs/*.md packages/modernjs/dist", + "forwardAllArgs": true + } + ] + } + }, + "lint": { + "executor": "@nx/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["packages/modernjs/**/*.ts"] + } + }, + "test": { + "executor": "@nx/vite:test", + "outputs": ["{workspaceRoot}/coverage/packages/modernjs"] + }, + "pre-release": { + "executor": "nx:run-commands", + "options": { + "parallel": false, + "commands": [ + { + "command": "nx run modern-js-plugin:test", + "forwardAllArgs": false + }, + { + "command": "nx run modern-js-plugin:build", + "forwardAllArgs": false + } + ] + } + }, + "semantic-release": { + "executor": "@goestav/nx-semantic-release:semantic-release" + } + }, + "tags": ["type:pkg"], + "implicitDependencies": [] +} diff --git a/packages/modernjs/src/cli/index.ts b/packages/modernjs/src/cli/index.ts new file mode 100644 index 00000000000..1a56f353bee --- /dev/null +++ b/packages/modernjs/src/cli/index.ts @@ -0,0 +1,166 @@ +import path from 'path'; +import { fs } from '@modern-js/utils'; +import type { CliPlugin, AppTools } from '@modern-js/app-tools'; +import { + ModuleFederationPlugin, + AsyncBoundaryPlugin, +} from '@module-federation/enhanced'; +import { StreamingTargetPlugin } from '@module-federation/node'; +import type { PluginOptions } from '../types'; +import { getMFConfig, patchMFConfig } from './utils'; +import { updateStatsAndManifest } from './manifest'; +import { MODERN_JS_SERVER_DIR } from '../constant'; + +export const moduleFederationPlugin = ( + userConfig: PluginOptions = {}, +): CliPlugin => ({ + name: '@modern-js/plugin-module-federation', + setup: async ({ useConfigContext }) => { + const useConfig = useConfigContext(); + const enableSSR = Boolean(useConfig?.server?.ssr); + const isStreamSSR = + typeof useConfig?.server?.ssr === 'object' + ? useConfig?.server?.ssr?.mode === 'stream' + : false; + const mfConfig = await getMFConfig(userConfig); + let outputDir = ''; + + let browserPlugin: ModuleFederationPlugin; + let nodePlugin: ModuleFederationPlugin; + return { + config: () => { + if (enableSSR) { + process.env['MF_DISABLE_EMIT_STATS'] = 'true'; + } + return { + tools: { + webpack(config, { isServer }) { + delete config.optimization?.runtimeChunk; + patchMFConfig(mfConfig); + if (isServer) { + nodePlugin = new ModuleFederationPlugin({ + library: { + type: 'commonjs-module', + name: mfConfig.name, + }, + ...mfConfig, + }); + config.plugins?.push(nodePlugin); + config.plugins?.push(new StreamingTargetPlugin(mfConfig)); + } else { + outputDir = + config.output?.path || path.resolve(process.cwd(), 'dist'); + browserPlugin = new ModuleFederationPlugin(mfConfig); + config.plugins?.push(browserPlugin); + + if ( + enableSSR && + isStreamSSR && + typeof config.optimization?.splitChunks === 'object' && + config.optimization.splitChunks.cacheGroups + ) { + config.optimization.splitChunks.chunks = 'async'; + console.warn( + '[Modern.js Module Federation] splitChunks.chunks = async is not allowed with stream SSR mode, it will auto changed to "async"', + ); + } + } + + const enableAsyncEntry = useConfig.source?.enableAsyncEntry; + if (!enableAsyncEntry && mfConfig.async) { + const asyncBoundaryPluginOptions = { + eager: (module) => + module && /\.federation/.test(module?.request || ''), + excludeChunk: (chunk) => chunk.name === mfConfig.name, + }; + config.plugins?.push( + new AsyncBoundaryPlugin(asyncBoundaryPluginOptions), + ); + } + + if (config.output?.publicPath === 'auto') { + // TODO: only in dev temp + const port = + useConfig.dev?.port || useConfig.server?.port || 8080; + const publicPath = `http://localhost:${port}/`; + config.output.publicPath = publicPath; + } + }, + devServer: { + headers: { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Methods': + 'GET, POST, PUT, DELETE, PATCH, OPTIONS', + 'Access-Control-Allow-Headers': + 'X-Requested-With, content-type, Authorization', + }, + before: [ + (req, res, next) => { + if (!enableSSR) { + next(); + return; + } + try { + const SERVER_PREFIX = `/${MODERN_JS_SERVER_DIR}`; + if ( + req.url?.startsWith(SERVER_PREFIX) || + req.url?.includes('remoteEntry.js') || + req.url?.includes('.json') + ) { + const filepath = path.join( + process.cwd(), + `dist${req.url}`, + ); + fs.statSync(filepath); + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader( + 'Access-Control-Allow-Methods', + 'GET, POST, PUT, DELETE, PATCH, OPTIONS', + ); + res.setHeader( + 'Access-Control-Allow-Headers', + 'X-Requested-With, content-type, Authorization', + ); + fs.createReadStream(filepath).pipe(res); + } else { + next(); + } + } catch (err) { + console.error(err); + next(); + } + }, + ], + }, + }, + source: { + alias: { + '@modern-js/runtime/mf': require.resolve( + '@module-federation/modern-js/runtime', + ), + }, + }, + dev: { + assetPrefix: useConfig?.dev?.assetPrefix + ? useConfig.dev.assetPrefix + : true, + }, + }; + }, + afterBuild: () => { + if (enableSSR) { + updateStatsAndManifest(nodePlugin, browserPlugin, outputDir); + } + }, + afterDev: () => { + if (enableSSR) { + updateStatsAndManifest(nodePlugin, browserPlugin, outputDir); + } + }, + }; + }, +}); + +export default moduleFederationPlugin; + +export { createModuleFederationConfig } from '@module-federation/enhanced'; diff --git a/packages/modernjs/src/cli/manifest.ts b/packages/modernjs/src/cli/manifest.ts new file mode 100644 index 00000000000..b6c09cc6a3f --- /dev/null +++ b/packages/modernjs/src/cli/manifest.ts @@ -0,0 +1,85 @@ +// TODO: Support Rspack +import path from 'path'; +import { ModuleFederationPlugin } from '@module-federation/enhanced'; +import { Stats, Manifest } from '@module-federation/sdk'; +import { fs } from '@modern-js/utils'; +import { MODERN_JS_SERVER_DIR } from '../constant'; + +function mergeStats(browserStats: Stats, nodeStats: Stats): Stats { + const ssrRemoteEntry = nodeStats.metaData.remoteEntry; + ssrRemoteEntry.path = MODERN_JS_SERVER_DIR; + browserStats.metaData.ssrRemoteEntry = ssrRemoteEntry; + + return browserStats; +} + +function mergeManifest( + browserManifest: Manifest, + nodeManifest: Manifest, +): Manifest { + const ssrRemoteEntry = nodeManifest.metaData.remoteEntry; + ssrRemoteEntry.path = MODERN_JS_SERVER_DIR; + browserManifest.metaData.ssrRemoteEntry = ssrRemoteEntry; + + return browserManifest; +} + +function mergeStatsAndManifest( + nodePlugin: ModuleFederationPlugin, + browserPlugin: ModuleFederationPlugin, +): { + mergedStats: Stats; + mergedStatsFilePath: string; + mergedManifest: Manifest; + mergedManifestFilePath: string; +} { + const nodeResourceInfo = nodePlugin.statsResourceInfo; + const browserResourceInfo = browserPlugin.statsResourceInfo; + if ( + !browserResourceInfo || + !nodeResourceInfo || + !browserResourceInfo.stats || + !nodeResourceInfo.stats || + !browserResourceInfo.manifest || + !nodeResourceInfo.manifest + ) { + throw new Error('can not get browserResourceInfo or nodeResourceInfo'); + } + const mergedStats = mergeStats( + browserResourceInfo.stats.stats, + nodeResourceInfo.stats.stats, + ); + const mergedManifest = mergeManifest( + browserResourceInfo.manifest.manifest, + nodeResourceInfo.manifest.manifest, + ); + + return { + mergedStats: mergedStats, + mergedStatsFilePath: browserResourceInfo.stats.filename, + mergedManifest: mergedManifest, + mergedManifestFilePath: browserResourceInfo.manifest.filename, + }; +} + +export function updateStatsAndManifest( + nodePlugin: ModuleFederationPlugin, + browserPlugin: ModuleFederationPlugin, + outputDir: string, +) { + const { + mergedStats, + mergedStatsFilePath, + mergedManifest, + mergedManifestFilePath, + } = mergeStatsAndManifest(nodePlugin, browserPlugin); + + fs.writeFileSync( + path.resolve(outputDir, mergedStatsFilePath), + JSON.stringify(mergedStats, null, 2), + ); + fs.writeFileSync( + path.resolve(outputDir, mergedManifestFilePath), + JSON.stringify(mergedManifest, null, 2), + ); +} diff --git a/packages/modernjs/src/cli/mfRuntimePlugins/shared-strategy.ts b/packages/modernjs/src/cli/mfRuntimePlugins/shared-strategy.ts new file mode 100644 index 00000000000..a61bb8a2346 --- /dev/null +++ b/packages/modernjs/src/cli/mfRuntimePlugins/shared-strategy.ts @@ -0,0 +1,22 @@ +import type { FederationRuntimePlugin } from '@module-federation/enhanced/runtime'; + +// 外部策略默认为 version-first : 优先复用版本高的,即使没加载。 内部需要兼容以前的逻辑,以加载为主 +const sharedStrategy: () => FederationRuntimePlugin = () => ({ + name: 'shared-strategy', + beforeInit(args) { + const { shareInfo } = args; + if (shareInfo) { + Object.keys(shareInfo || {}).forEach((sharedKey) => { + const sharedConfigs = shareInfo[sharedKey]; + const arraySharedConfigs = Array.isArray(sharedConfigs) + ? sharedConfigs + : [sharedConfigs]; + arraySharedConfigs.forEach((s) => { + s.strategy = 'loaded-first'; + }); + }); + } + return args; + }, +}); +export default sharedStrategy; diff --git a/packages/modernjs/src/cli/utils.ts b/packages/modernjs/src/cli/utils.ts new file mode 100644 index 00000000000..f6da25888e2 --- /dev/null +++ b/packages/modernjs/src/cli/utils.ts @@ -0,0 +1,39 @@ +import { moduleFederationPlugin } from '@module-federation/sdk'; +import path from 'path'; +import { bundle } from '@modern-js/node-bundle-require'; +import { PluginOptions } from '../types'; + +const defaultPath = path.resolve(process.cwd(), 'module-federation.config.ts'); + +export const getMFConfig = async ( + userConfig: PluginOptions, +): Promise => { + const { config, configPath } = userConfig; + if (config) { + return config; + } + const mfConfigPath = configPath ? configPath : defaultPath; + + const preBundlePath = await bundle(mfConfigPath); + const mfConfig = (await import(preBundlePath)) + .default as unknown as moduleFederationPlugin.ModuleFederationPluginOptions; + return mfConfig; +}; + +export const patchMFConfig = ( + mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions, +) => { + mfConfig.runtimePlugins = mfConfig.runtimePlugins || []; + const runtimePluginPath = path.resolve( + __dirname, + './mfRuntimePlugins/shared-strategy.js', + ); + if (!mfConfig.runtimePlugins.includes(runtimePluginPath)) { + mfConfig.runtimePlugins.push( + path.resolve(__dirname, './mfRuntimePlugins/shared-strategy.js'), + ); + } + if (typeof mfConfig.async === 'undefined') { + mfConfig.async = true; + } +}; diff --git a/packages/modernjs/src/constant.ts b/packages/modernjs/src/constant.ts new file mode 100644 index 00000000000..209a22e08ba --- /dev/null +++ b/packages/modernjs/src/constant.ts @@ -0,0 +1 @@ +export const MODERN_JS_SERVER_DIR = 'bundles'; diff --git a/packages/modernjs/src/runtime/index.ts b/packages/modernjs/src/runtime/index.ts new file mode 100644 index 00000000000..532254ed0fc --- /dev/null +++ b/packages/modernjs/src/runtime/index.ts @@ -0,0 +1 @@ +export * from '@module-federation/enhanced/runtime'; diff --git a/packages/modernjs/src/types/index.ts b/packages/modernjs/src/types/index.ts new file mode 100644 index 00000000000..fff9479127e --- /dev/null +++ b/packages/modernjs/src/types/index.ts @@ -0,0 +1,6 @@ +import { moduleFederationPlugin } from '@module-federation/sdk'; + +export interface PluginOptions { + config?: moduleFederationPlugin.ModuleFederationPluginOptions; + configPath?: string; +} diff --git a/packages/modernjs/tsconfig.json b/packages/modernjs/tsconfig.json new file mode 100644 index 00000000000..32ec7d04993 --- /dev/null +++ b/packages/modernjs/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "isolatedModules": true, + "paths": {}, + "noImplicitAny": false + }, + "include": ["src", "types"] +} diff --git a/packages/modernjs/tsup.config.ts b/packages/modernjs/tsup.config.ts new file mode 100644 index 00000000000..fe7197a4852 --- /dev/null +++ b/packages/modernjs/tsup.config.ts @@ -0,0 +1,12 @@ +import { join } from 'path'; +import { defineConfig } from 'tsup'; + +export default defineConfig({ + entry: [join(__dirname, 'src', 'index.ts')], + dts: true, + splitting: true, + clean: true, + format: ['cjs', 'esm'], + outDir: 'packages/third-party-dts-extractor/dist', + external: [join(__dirname, 'package.json')], +}); diff --git a/packages/modernjs/typedoc.json b/packages/modernjs/typedoc.json new file mode 100644 index 00000000000..04b843ffaa8 --- /dev/null +++ b/packages/modernjs/typedoc.json @@ -0,0 +1,5 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": ["src/index.ts"], + "tsconfig": "tsconfig.lib.json" +} diff --git a/packages/modernjs/types.d.ts b/packages/modernjs/types.d.ts new file mode 100644 index 00000000000..568926c04f6 --- /dev/null +++ b/packages/modernjs/types.d.ts @@ -0,0 +1,5 @@ +import './dist/types/runtime'; + +declare module '@modern-js/runtime/mf' { + export * from './dist/types/runtime'; +} diff --git a/packages/modernjs/vite.config.ts b/packages/modernjs/vite.config.ts new file mode 100644 index 00000000000..91f4ad32b7d --- /dev/null +++ b/packages/modernjs/vite.config.ts @@ -0,0 +1,24 @@ +/// +import { defineConfig } from 'vite'; + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + cacheDir: '../../node_modules/.vite/native-federation-tests', + + plugins: [nxViteTsPaths()], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + cache: { + dir: '../../node_modules/.vitest', + }, + environment: 'node', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + }, +}); diff --git a/packages/runtime/src/plugins/generate-preload-assets.ts b/packages/runtime/src/plugins/generate-preload-assets.ts index ead40b4d03c..35a9008d0a5 100644 --- a/packages/runtime/src/plugins/generate-preload-assets.ts +++ b/packages/runtime/src/plugins/generate-preload-assets.ts @@ -22,6 +22,7 @@ import { getRegisteredShare } from '../utils/share'; import { arrayOptions, getFMId, + getRemoteEntryInfoFromSnapshot, isPureRemoteEntry, isRemoteInfoWithEntry, } from '../utils'; @@ -149,9 +150,7 @@ export function generatePreloadAssets( const remoteEntryUrl = getResourceUrl( moduleInfoSnapshot, - 'remoteEntry' in moduleInfoSnapshot - ? moduleInfoSnapshot.remoteEntry - : '', + getRemoteEntryInfoFromSnapshot(moduleInfoSnapshot).url, ); if (remoteEntryUrl) { diff --git a/packages/runtime/src/plugins/snapshot/SnapshotHandler.ts b/packages/runtime/src/plugins/snapshot/SnapshotHandler.ts index fbff80d7072..e4734f09895 100644 --- a/packages/runtime/src/plugins/snapshot/SnapshotHandler.ts +++ b/packages/runtime/src/plugins/snapshot/SnapshotHandler.ts @@ -6,7 +6,12 @@ import { isManifestProvider, } from '@module-federation/sdk'; import { Optional, Options, Remote } from '../../type'; -import { isRemoteInfoWithEntry, error } from '../../utils'; +import { + isRemoteInfoWithEntry, + error, + getRemoteEntryInfoFromSnapshot, + isBrowserEnv, +} from '../../utils'; import { getGlobalSnapshot, setGlobalSnapshotInfoByModuleInfo, @@ -146,8 +151,11 @@ export class SnapshotHandler { // global snapshot includes manifest or module info includes manifest if (globalRemoteSnapshot) { if (isManifestProvider(globalRemoteSnapshot)) { + const remoteEntry = isBrowserEnv() + ? globalRemoteSnapshot.remoteEntry + : globalRemoteSnapshot.ssrRemoteEntry || ''; const moduleSnapshot = await this.getManifestJson( - globalRemoteSnapshot.remoteEntry, + remoteEntry, moduleInfo, {}, ); @@ -157,7 +165,7 @@ export class SnapshotHandler { ...moduleInfo, // The global remote may be overridden // Therefore, set the snapshot key to the global address of the actual request - entry: globalRemoteSnapshot.remoteEntry, + entry: remoteEntry, }, moduleSnapshot, ); diff --git a/packages/runtime/src/plugins/snapshot/index.ts b/packages/runtime/src/plugins/snapshot/index.ts index f4b58cebe30..357aa04dacf 100644 --- a/packages/runtime/src/plugins/snapshot/index.ts +++ b/packages/runtime/src/plugins/snapshot/index.ts @@ -1,7 +1,12 @@ import { ModuleInfo, getResourceUrl } from '@module-federation/sdk'; import { FederationRuntimePlugin } from '../../type/plugin'; -import { error, isPureRemoteEntry, isRemoteInfoWithEntry } from '../../utils'; +import { + error, + isPureRemoteEntry, + isRemoteInfoWithEntry, + getRemoteEntryInfoFromSnapshot, +} from '../../utils'; import { PreloadOptions, RemoteInfo } from '../../type'; import { preloadAssets } from '../../utils/preload'; @@ -9,15 +14,17 @@ export function assignRemoteInfo( remoteInfo: RemoteInfo, remoteSnapshot: ModuleInfo, ): void { - if (!('remoteEntry' in remoteSnapshot) || !remoteSnapshot.remoteEntry) { - error(`The attribute remoteEntry of ${name} must not be undefined.`); + const remoteEntryInfo = getRemoteEntryInfoFromSnapshot(remoteSnapshot); + if (!remoteEntryInfo.url) { + error( + `The attribute remoteEntry of ${remoteInfo.name} must not be undefined.`, + ); } - const { remoteEntry } = remoteSnapshot; - const entryUrl = getResourceUrl(remoteSnapshot, remoteEntry); + const entryUrl = getResourceUrl(remoteSnapshot, remoteEntryInfo.url); - remoteInfo.type = remoteSnapshot.remoteEntryType; - remoteInfo.entryGlobalName = remoteSnapshot.globalName; + remoteInfo.type = remoteEntryInfo.type; + remoteInfo.entryGlobalName = remoteEntryInfo.globalName; remoteInfo.entry = entryUrl; remoteInfo.version = remoteSnapshot.version; remoteInfo.buildVersion = remoteSnapshot.buildVersion; diff --git a/packages/runtime/src/utils/tool.ts b/packages/runtime/src/utils/tool.ts index 0febca6dac7..907fe3bf231 100644 --- a/packages/runtime/src/utils/tool.ts +++ b/packages/runtime/src/utils/tool.ts @@ -1,6 +1,11 @@ -import type { RemoteWithEntry } from '@module-federation/sdk'; +import type { + RemoteWithEntry, + ModuleInfo, + RemoteEntryType, +} from '@module-federation/sdk'; import { Remote, RemoteInfoOptionalVersion, UserOptions } from '../type'; import { warn } from './logger'; +import { isBrowserEnv } from './env'; export function addUniqueItem(arr: Array, item: string): Array { if (arr.findIndex((name) => name === item) === -1) { @@ -77,3 +82,36 @@ export function isStaticResourcesEqual(url1: string, url2: string): boolean { export function arrayOptions(options: T | Array): Array { return Array.isArray(options) ? options : [options]; } + +export function getRemoteEntryInfoFromSnapshot(snapshot: ModuleInfo): { + url: string; + type: RemoteEntryType; + globalName: string; +} { + const defaultRemoteEntryInfo: { + url: string; + type: RemoteEntryType; + globalName: string; + } = { + url: '', + type: 'global', + globalName: '', + }; + if (isBrowserEnv()) { + return 'remoteEntry' in snapshot + ? { + url: snapshot.remoteEntry, + type: snapshot.remoteEntryType, + globalName: snapshot.globalName, + } + : defaultRemoteEntryInfo; + } + if ('ssrRemoteEntry' in snapshot) { + return { + url: snapshot.ssrRemoteEntry || defaultRemoteEntryInfo.url, + type: snapshot.ssrRemoteEntryType || defaultRemoteEntryInfo.type, + globalName: snapshot.globalName, + }; + } + return defaultRemoteEntryInfo; +} diff --git a/packages/sdk/__tests__/generateSnapshotFromManifest.spec.ts b/packages/sdk/__tests__/generateSnapshotFromManifest.spec.ts index 1a18c17c95a..fe54d48ad6c 100644 --- a/packages/sdk/__tests__/generateSnapshotFromManifest.spec.ts +++ b/packages/sdk/__tests__/generateSnapshotFromManifest.spec.ts @@ -144,4 +144,12 @@ describe('generateSnapshotFromManifest', () => { ); expect(remoteSnapshot).toEqual(snapshot.prodAppSnapshotWithAllParams); }); + + it('return snapshot with ssrRemoteEntry when manifest has ssrRemoteEntry field', () => { + const remoteSnapshot = generateSnapshotFromManifest( + manifest.ssrAppManifest, + {}, + ); + expect(remoteSnapshot).toEqual(snapshot.ssrProdAppSnapshotWithAllParams); + }); }); diff --git a/packages/sdk/__tests__/resources/manifestSnapshotMap.ts b/packages/sdk/__tests__/resources/manifestSnapshotMap.ts index 135c4694464..c7c9b8aec0f 100644 --- a/packages/sdk/__tests__/resources/manifestSnapshotMap.ts +++ b/packages/sdk/__tests__/resources/manifestSnapshotMap.ts @@ -1,6 +1,58 @@ import type { Stats, ModuleInfo } from '../../src/types'; const manifest: { [key: string]: Stats } = { + ssrAppManifest: { + id: '@mf/ssr-manifest-provider', + name: '@mf/ssr-manifest-provider', + metaData: { + type: 'global', + pluginVersion: '0.0.1', + name: '@mf/ssr-manifest-provider', + buildInfo: { + buildVersion: '1.0.0.1517', + buildName: 'ssr-manifest-provider', + }, + ssrRemoteEntry: { + name: 'federation-remote-entry.496985d3.js', + path: 'server', + type: 'cjs', + }, + remoteEntry: { + name: 'federation-remote-entry.536985d3.js', + path: '', + type: 'global', + }, + types: { + name: 'index.d.ts', + path: '', + api: '@mf-types.d.ts', + zip: '@mf-types.zip', + }, + globalName: '__FEDERATION_@mf/ssr-manifest-provider:1.0.0.1517__', + publicPath: 'https://__CDN_PREFIX__/ssr-manifest-provider/1.0.0.1517/', + }, + shared: [], + exposes: [ + { + id: '@mf/ssr-manifest-provider:button', + name: 'button', + path: './button', + requires: [], + file: './src/button.tsx', + assets: { + js: { + sync: ['__FEDERATION_expose_button.js'], + async: ['426.js'], + }, + css: { + sync: ['__FEDERATION_expose_button.css'], + async: [], + }, + }, + }, + ], + remotes: [], + }, prodAppManifest: { id: '@garfish/micro-app-sub2', name: '@garfish/micro-app-sub2', @@ -1002,6 +1054,37 @@ const snapshot: { [key: string]: ModuleInfo } = { getPublicPath: "return 'https://xxx.com/__FEDERATION_micro-app-sub3/1.0.0.1513/'", }, + ssrProdAppSnapshotWithAllParams: { + version: '', + buildVersion: '1.0.0.1517', + globalName: '__FEDERATION_@mf/ssr-manifest-provider:1.0.0.1517__', + ssrRemoteEntry: 'server/federation-remote-entry.496985d3.js', + remoteEntry: 'federation-remote-entry.536985d3.js', + remoteEntryType: 'global', + ssrRemoteEntryType: 'cjs', + remoteTypes: 'index.d.ts', + remoteTypesAPI: '@mf-types.d.ts', + remoteTypesZip: '@mf-types.zip', + remotesInfo: {}, + shared: [], + modules: [ + { + moduleName: 'button', + modulePath: './button', + assets: { + js: { + sync: ['__FEDERATION_expose_button.js'], + async: ['426.js'], + }, + css: { + sync: ['__FEDERATION_expose_button.css'], + async: [], + }, + }, + }, + ], + publicPath: 'https://__CDN_PREFIX__/ssr-manifest-provider/1.0.0.1517/', + }, prodAppSnapshotWithAllParams: { version: '', buildVersion: '1.0.0.1517', diff --git a/packages/sdk/src/generateSnapshotFromManifest.ts b/packages/sdk/src/generateSnapshotFromManifest.ts index a1589b56ad1..21961dd2445 100644 --- a/packages/sdk/src/generateSnapshotFromManifest.ts +++ b/packages/sdk/src/generateSnapshotFromManifest.ts @@ -7,6 +7,7 @@ import { ManifestProvider, } from './types'; import { MANIFEST_EXT } from './constant'; +import { isBrowserEnv } from './env'; interface IOptions { remotes?: Record; @@ -126,6 +127,7 @@ export function generateSnapshotFromManifest( types: remoteTypes, buildInfo: { buildVersion }, globalName, + ssrRemoteEntry, } = manifest.metaData; const { exposes } = manifest; @@ -182,18 +184,39 @@ export function generateSnapshotFromManifest( }; } + if (ssrRemoteEntry) { + const fullSSRRemoteEntry = simpleJoinRemoteEntry( + ssrRemoteEntry.path, + ssrRemoteEntry.name, + ); + remoteSnapshot.ssrRemoteEntry = fullSSRRemoteEntry; + remoteSnapshot.ssrRemoteEntryType = 'cjs:webpack'; + } + return remoteSnapshot; } export function isManifestProvider( moduleInfo: ModuleInfo | ManifestProvider, ): moduleInfo is ManifestProvider { - if ( - 'remoteEntry' in moduleInfo && - moduleInfo.remoteEntry.includes(MANIFEST_EXT) - ) { - return true; + if (isBrowserEnv()) { + if ( + 'remoteEntry' in moduleInfo && + moduleInfo.remoteEntry.includes(MANIFEST_EXT) + ) { + return true; + } else { + return false; + } } else { - return false; + if ( + 'ssrRemoteEntry' in moduleInfo && + moduleInfo.ssrRemoteEntry && + moduleInfo.ssrRemoteEntry.includes(MANIFEST_EXT) + ) { + return true; + } else { + return false; + } } } diff --git a/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts b/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts index 842b521c572..a73e478466f 100644 --- a/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts +++ b/packages/sdk/src/types/plugins/ModuleFederationPlugin.ts @@ -211,6 +211,7 @@ export interface ModuleFederationPluginOptions { dev?: boolean | PluginDevOptions; dts?: boolean | PluginDtsOptions; + async?: boolean; } /** * Modules that should be exposed by this container. Property names are used as public paths. diff --git a/packages/sdk/src/types/snapshot.ts b/packages/sdk/src/types/snapshot.ts index 5bc044f6408..4a815d421ef 100644 --- a/packages/sdk/src/types/snapshot.ts +++ b/packages/sdk/src/types/snapshot.ts @@ -21,6 +21,9 @@ interface BasicModuleInfo { export interface BasicProviderModuleInfo extends BasicModuleInfo { remoteEntry: string; remoteEntryType: RemoteEntryType; + // ssrRemoteEntry/ssrRemoteEntryType only appear while manifest has serveSideRemoteEntry field + ssrRemoteEntry?: string; + ssrRemoteEntryType?: RemoteEntryType; remoteManifest?: string; globalName: string; modules: Array<{ @@ -45,6 +48,7 @@ interface BasicProviderModuleInfoWithGetPublicPath export interface ManifestProvider { remoteEntry: string; + ssrRemoteEntry?: string; version?: string; } diff --git a/packages/sdk/src/types/stats.ts b/packages/sdk/src/types/stats.ts index 41095a6f391..569d3a9c7ea 100644 --- a/packages/sdk/src/types/stats.ts +++ b/packages/sdk/src/types/stats.ts @@ -1,9 +1,8 @@ -import { MFModuleType } from '../constant'; import type { RemoteWithEntry, RemoteWithVersion } from './common'; -export type RemoteEntryType = 'esm' | 'global'; +export type RemoteEntryType = 'esm' | 'global' | 'cjs:webpack'; -interface ResourceInfo { +export interface ResourceInfo { path: string; name: string; type: RemoteEntryType; @@ -26,6 +25,7 @@ export interface BasicStatsMetaData { globalName: string; buildInfo: StatsBuildInfo; remoteEntry: ResourceInfo; + ssrRemoteEntry?: ResourceInfo; prefetchInterface?: boolean; prefetchEntry?: ResourceInfo; types: MetaDataTypes; diff --git a/packages/webpack-bundler-runtime/src/constant.ts b/packages/webpack-bundler-runtime/src/constant.ts index b19bd622b1c..ccb60d4f309 100644 --- a/packages/webpack-bundler-runtime/src/constant.ts +++ b/packages/webpack-bundler-runtime/src/constant.ts @@ -1,2 +1,12 @@ export const ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX'; -export const FEDERATION_SUPPORTED_TYPES = ['script']; + +// TODO: support rspack +export const FEDERATION_SUPPORTED_TYPES_CJS = 'cjs:webpack'; +export const FEDERATION_SUPPORTED_TYPES_CJS_MAP = { + [FEDERATION_SUPPORTED_TYPES_CJS]: 'commonjs-module', +}; + +export const FEDERATION_SUPPORTED_TYPES = [ + 'script', + FEDERATION_SUPPORTED_TYPES_CJS, +]; diff --git a/packages/webpack-bundler-runtime/src/remotes.ts b/packages/webpack-bundler-runtime/src/remotes.ts index 2694c1f1749..67c563d6131 100644 --- a/packages/webpack-bundler-runtime/src/remotes.ts +++ b/packages/webpack-bundler-runtime/src/remotes.ts @@ -2,7 +2,7 @@ import { attachShareScopeMap } from './attachShareScopeMap'; import type { RemoteEntryExports } from './types'; import { RemotesOptions } from './types'; import { decodeName } from '@module-federation/sdk'; -import { ENCODE_NAME_PREFIX } from './constant'; +import { ENCODE_NAME_PREFIX, FEDERATION_SUPPORTED_TYPES } from './constant'; export function remotes(options: RemotesOptions) { const { @@ -116,7 +116,7 @@ export function remotes(options: RemotesOptions) { const useRuntimeLoad = remoteInfos.length === 1 && - ['script'].includes(remoteInfos[0].externalType) && + FEDERATION_SUPPORTED_TYPES.includes(remoteInfos[0].externalType) && remoteInfos[0].name; if (useRuntimeLoad) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 42255e05e4f..9e34a8d2c87 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -885,8 +885,8 @@ importers: specifier: 7.24.4 version: 7.24.4 '@modern-js/runtime': - specifier: 2.46.1 - version: 2.46.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) '@module-federation/enhanced': specifier: workspace:* version: link:../../packages/enhanced @@ -898,17 +898,17 @@ importers: version: 18.2.0(react@18.2.0) devDependencies: '@modern-js-app/eslint-config': - specifier: 2.46.1 - version: 2.46.1(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3)(typescript@5.0.4) + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) '@modern-js/app-tools': - specifier: 2.46.1 - version: 2.46.1(@rsbuild/core@0.3.11)(@swc/core@1.5.6)(@types/express@4.17.21)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) '@modern-js/eslint-config': - specifier: 2.46.1 - version: 2.46.1(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3)(typescript@5.0.4) + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) '@modern-js/tsconfig': - specifier: 2.46.1 - version: 2.46.1 + specifier: 2.49.1 + version: 2.49.1 '@types/jest': specifier: ~29.5.0 version: 29.5.12 @@ -934,6 +934,412 @@ importers: specifier: ~5.0.4 version: 5.0.4 + apps/modernjs-ssr/dynamic-nested-remote: + dependencies: + '@babel/runtime': + specifier: 7.24.4 + version: 7.24.4 + '@modern-js/runtime': + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@module-federation/modern-js': + specifier: workspace:* + version: link:../../../packages/modernjs + antd: + specifier: 4.24.15 + version: 4.24.15(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ~18.2.0 + version: 18.2.0 + react-dom: + specifier: ~18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js-app/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/app-tools': + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/tsconfig': + specifier: 2.49.1 + version: 2.49.1 + '@types/jest': + specifier: ~29.5.0 + version: 29.5.12 + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + '@types/react': + specifier: ~18.2.0 + version: 18.2.62 + '@types/react-dom': + specifier: ~18.2.0 + version: 18.2.25 + lint-staged: + specifier: ~13.1.0 + version: 13.1.4 + prettier: + specifier: ~2.8.1 + version: 2.8.8 + rimraf: + specifier: ~3.0.2 + version: 3.0.2 + typescript: + specifier: ~5.0.4 + version: 5.0.4 + + apps/modernjs-ssr/dynamic-remote: + dependencies: + '@babel/runtime': + specifier: 7.24.4 + version: 7.24.4 + '@modern-js/runtime': + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@module-federation/modern-js': + specifier: workspace:* + version: link:../../../packages/modernjs + antd: + specifier: 4.24.15 + version: 4.24.15(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ~18.2.0 + version: 18.2.0 + react-dom: + specifier: ~18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js-app/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/app-tools': + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/tsconfig': + specifier: 2.49.1 + version: 2.49.1 + '@types/jest': + specifier: ~29.5.0 + version: 29.5.12 + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + '@types/react': + specifier: ~18.2.0 + version: 18.2.62 + '@types/react-dom': + specifier: ~18.2.0 + version: 18.2.25 + lint-staged: + specifier: ~13.1.0 + version: 13.1.4 + prettier: + specifier: ~2.8.1 + version: 2.8.8 + rimraf: + specifier: ~3.0.2 + version: 3.0.2 + typescript: + specifier: ~5.0.4 + version: 5.0.4 + + apps/modernjs-ssr/dynamic-remote-new-version: + dependencies: + '@babel/runtime': + specifier: 7.24.4 + version: 7.24.4 + '@modern-js/runtime': + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@module-federation/enhanced': + specifier: workspace:* + version: link:../../../packages/enhanced + antd: + specifier: 4.24.15 + version: 4.24.15(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ~18.2.0 + version: 18.2.0 + react-dom: + specifier: ~18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js-app/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/app-tools': + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/tsconfig': + specifier: 2.49.1 + version: 2.49.1 + '@types/jest': + specifier: ~29.5.0 + version: 29.5.12 + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + '@types/react': + specifier: ~18.2.0 + version: 18.2.62 + '@types/react-dom': + specifier: ~18.2.0 + version: 18.2.25 + lint-staged: + specifier: ~13.1.0 + version: 13.1.4 + prettier: + specifier: ~2.8.1 + version: 2.8.8 + rimraf: + specifier: ~3.0.2 + version: 3.0.2 + typescript: + specifier: ~5.0.4 + version: 5.0.4 + + apps/modernjs-ssr/host: + dependencies: + '@babel/runtime': + specifier: 7.24.4 + version: 7.24.4 + '@modern-js/runtime': + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@module-federation/enhanced': + specifier: workspace:* + version: link:../../../packages/enhanced + antd: + specifier: 4.24.15 + version: 4.24.15(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ~18.2.0 + version: 18.2.0 + react-dom: + specifier: ~18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js-app/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/app-tools': + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/tsconfig': + specifier: 2.49.1 + version: 2.49.1 + '@types/jest': + specifier: ~29.5.0 + version: 29.5.12 + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + '@types/react': + specifier: ~18.2.0 + version: 18.2.62 + '@types/react-dom': + specifier: ~18.2.0 + version: 18.2.25 + lint-staged: + specifier: ~13.1.0 + version: 13.1.4 + prettier: + specifier: ~2.8.1 + version: 2.8.8 + rimraf: + specifier: ~3.0.2 + version: 3.0.2 + typescript: + specifier: ~5.0.4 + version: 5.0.4 + + apps/modernjs-ssr/nested-remote: + dependencies: + '@babel/runtime': + specifier: 7.24.4 + version: 7.24.4 + '@modern-js/runtime': + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@module-federation/modern-js': + specifier: workspace:* + version: link:../../../packages/modernjs + antd: + specifier: 4.24.15 + version: 4.24.15(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ~18.2.0 + version: 18.2.0 + react-dom: + specifier: ~18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js-app/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/app-tools': + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/tsconfig': + specifier: 2.49.1 + version: 2.49.1 + '@types/jest': + specifier: ~29.5.0 + version: 29.5.12 + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + '@types/react': + specifier: ~18.2.0 + version: 18.2.62 + '@types/react-dom': + specifier: ~18.2.0 + version: 18.2.25 + lint-staged: + specifier: ~13.1.0 + version: 13.1.4 + prettier: + specifier: ~2.8.1 + version: 2.8.8 + rimraf: + specifier: ~3.0.2 + version: 3.0.2 + typescript: + specifier: ~5.0.4 + version: 5.0.4 + + apps/modernjs-ssr/remote: + dependencies: + '@babel/runtime': + specifier: 7.24.4 + version: 7.24.4 + '@modern-js/runtime': + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@module-federation/modern-js': + specifier: workspace:* + version: link:../../../packages/modernjs + antd: + specifier: 4.24.15 + version: 4.24.15(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ~18.2.0 + version: 18.2.0 + react-dom: + specifier: ~18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js-app/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/app-tools': + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/tsconfig': + specifier: 2.49.1 + version: 2.49.1 + '@types/jest': + specifier: ~29.5.0 + version: 29.5.12 + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + '@types/react': + specifier: ~18.2.0 + version: 18.2.62 + '@types/react-dom': + specifier: ~18.2.0 + version: 18.2.25 + lint-staged: + specifier: ~13.1.0 + version: 13.1.4 + prettier: + specifier: ~2.8.1 + version: 2.8.8 + rimraf: + specifier: ~3.0.2 + version: 3.0.2 + typescript: + specifier: ~5.0.4 + version: 5.0.4 + + apps/modernjs-ssr/remote-new-version: + dependencies: + '@babel/runtime': + specifier: 7.24.4 + version: 7.24.4 + '@modern-js/runtime': + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@module-federation/enhanced': + specifier: workspace:* + version: link:../../../packages/enhanced + antd: + specifier: 4.24.15 + version: 4.24.15(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ~18.2.0 + version: 18.2.0 + react-dom: + specifier: ~18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js-app/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/app-tools': + specifier: 2.49.1 + version: 2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/eslint-config': + specifier: 2.49.1 + version: 2.49.1(typescript@5.0.4) + '@modern-js/tsconfig': + specifier: 2.49.1 + version: 2.49.1 + '@types/jest': + specifier: ~29.5.0 + version: 29.5.12 + '@types/node': + specifier: ~16.11.7 + version: 16.11.68 + '@types/react': + specifier: ~18.2.0 + version: 18.2.62 + '@types/react-dom': + specifier: ~18.2.0 + version: 18.2.25 + lint-staged: + specifier: ~13.1.0 + version: 13.1.4 + prettier: + specifier: ~2.8.1 + version: 2.8.8 + rimraf: + specifier: ~3.0.2 + version: 3.0.2 + typescript: + specifier: ~5.0.4 + version: 5.0.4 + apps/node-dynamic-remote: dependencies: '@module-federation/node': @@ -1166,8 +1572,8 @@ importers: specifier: ^2.59.1 version: 2.61.2(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0) '@modern-js/runtime': - specifier: 2.46.1 - version: 2.46.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + specifier: 2.49.1 + version: 2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) '@module-federation/sdk': specifier: workspace:* version: link:../sdk @@ -1386,6 +1792,46 @@ importers: specifier: 2.0.0 version: 2.0.0 + packages/modernjs: + dependencies: + '@modern-js/node-bundle-require': + specifier: ^2.49.2 + version: 2.49.3 + '@modern-js/utils': + specifier: ^2.49.2 + version: 2.49.3 + '@module-federation/enhanced': + specifier: workspace:* + version: link:../enhanced + '@module-federation/node': + specifier: workspace:* + version: link:../node + '@module-federation/sdk': + specifier: workspace:* + version: link:../sdk + '@swc/helpers': + specifier: 0.5.3 + version: 0.5.3 + devDependencies: + '@modern-js/app-tools': + specifier: ^2.49.2 + version: 2.49.3(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/core': + specifier: ^2.49.2 + version: 2.49.3 + '@modern-js/module-tools': + specifier: ^2.35.0 + version: 2.46.1(typescript@5.0.4) + '@modern-js/runtime': + specifier: ^2.49.2 + version: 2.49.3(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0) + '@modern-js/tsconfig': + specifier: ^2.35.0 + version: 2.46.1 + '@module-federation/manifest': + specifier: workspace:* + version: link:../manifest + packages/native-federation-tests: dependencies: adm-zip: @@ -2067,15 +2513,15 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.12.9) - '@babel/helpers': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/generator': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.12.9) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1(supports-color@5.5.0) - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 @@ -2098,24 +2544,46 @@ packages: '@babel/helpers': 7.24.4 '@babel/parser': 7.24.4 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1(supports-color@5.5.0) + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.56.0): + /@babel/core@7.24.5: + resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/eslint-parser@7.24.1(@babel/core@7.24.5)(eslint@8.56.0): resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.56.0 eslint-visitor-keys: 2.1.0 @@ -2129,7 +2597,7 @@ packages: '@babel/eslint-parser': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.56.0) + '@babel/eslint-parser': 7.24.1(@babel/core@7.24.5)(eslint@8.56.0) eslint: 8.56.0 eslint-rule-composer: 0.3.0 dev: true @@ -2143,6 +2611,15 @@ packages: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + /@babel/generator@7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -2153,7 +2630,7 @@ packages: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: true /@babel/helper-compilation-targets@7.23.6: @@ -2184,6 +2661,60 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.4): + resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + semver: 6.3.1 + dev: true + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -2196,6 +2727,18 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + /@babel/helper-define-polyfill-provider@0.1.5(@babel/core@7.24.4): resolution: {integrity: sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==} peerDependencies: @@ -2205,8 +2748,8 @@ packages: '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/traverse': 7.24.1(supports-color@5.5.0) - debug: 4.3.4(supports-color@5.5.0) + '@babel/traverse': 7.24.5 + debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 semver: 6.3.1 @@ -2222,7 +2765,22 @@ packages: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.5): + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -2238,19 +2796,26 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 + dev: true + + /@babel/helper-member-expression-to-functions@7.24.5: + resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 dev: true /@babel/helper-module-imports@7.24.3: @@ -2259,38 +2824,65 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.12.9): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.12.9 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 - dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.5): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + dev: true + + /@babel/helper-module-transforms@7.24.5(@babel/core@7.12.9): + resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + dev: true + + /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: true /@babel/helper-plugin-utils@7.10.4: @@ -2301,6 +2893,11 @@ packages: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} + /@babel/helper-plugin-utils@7.24.5: + resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -2313,6 +2910,18 @@ packages: '@babel/helper-wrap-function': 7.22.20 dev: true + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} @@ -2325,24 +2934,48 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 + + /@babel/helper-simple-access@7.24.5: + resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 + + /@babel/helper-split-export-declaration@7.24.5: + resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 /@babel/helper-string-parser@7.24.1: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} @@ -2352,6 +2985,10 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-identifier@7.24.5: + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + engines: {node: '>=6.9.0'} + /@babel/helper-validator-option@7.23.5: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} @@ -2362,7 +2999,7 @@ packages: dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: true /@babel/helpers@7.24.4: @@ -2370,11 +3007,21 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1(supports-color@5.5.0) + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color + /@babel/helpers@7.24.5: + resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + transitivePeerDependencies: + - supports-color + /@babel/highlight@7.24.2: resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} @@ -2391,6 +3038,13 @@ packages: dependencies: '@babel/types': 7.24.0 + /@babel/parser@7.24.5: + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.5 + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} engines: {node: '>=6.9.0'} @@ -2402,6 +3056,28 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} @@ -2412,6 +3088,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} @@ -2424,6 +3110,18 @@ packages: '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} @@ -2435,6 +3133,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} @@ -2454,11 +3163,23 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-decorators': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-proposal-decorators@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-decorators': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==} engines: {node: '>=6.9.0'} @@ -2470,6 +3191,17 @@ packages: '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} @@ -2489,9 +3221,9 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.12.9) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.12.9) dev: true /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4): @@ -2533,6 +3265,17 @@ packages: '@babel/plugin-syntax-partial-application': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-proposal-partial-application@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-eZUzQRL19hPNI6w6igbjESD5uk1f9jY738AD06iP4IYV0jup642fUCIls5u7cYIE49H77k7KuJaYOwDflRdbiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-partial-application': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-proposal-pipeline-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-JFqo+VsSosYxzo1PPfrbeoIi0IcAJnjGpDXeVABNl5bH6/Zvn84Kd8utGEA1eT3gLsynyt1+TfQ/opGXtb0Y/A==} engines: {node: '>=6.9.0'} @@ -2544,6 +3287,17 @@ packages: '@babel/plugin-syntax-pipeline-operator': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-proposal-pipeline-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-JFqo+VsSosYxzo1PPfrbeoIi0IcAJnjGpDXeVABNl5bH6/Zvn84Kd8utGEA1eT3gLsynyt1+TfQ/opGXtb0Y/A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-pipeline-operator': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} @@ -2565,6 +3319,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.24.4): resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} engines: {node: '>=6.9.0'} @@ -2588,6 +3351,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -2597,6 +3369,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -2606,6 +3387,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} @@ -2616,6 +3406,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-decorators@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==} engines: {node: '>=6.9.0'} @@ -2626,6 +3426,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-decorators@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: @@ -2633,6 +3443,15 @@ packages: dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 /@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==} @@ -2644,6 +3463,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -2653,14 +3482,23 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 dev: true /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): @@ -2673,6 +3511,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} @@ -2683,6 +3531,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: @@ -2692,6 +3550,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -2701,13 +3568,22 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9): resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.5 dev: true /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): @@ -2718,6 +3594,16 @@ packages: dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -2728,6 +3614,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -2737,6 +3632,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -2746,6 +3650,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -2764,6 +3677,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -2773,6 +3695,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -2782,6 +3713,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-partial-application@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-3j+qe8BJrvZOx6rwWLg8UWCKSVvU+7psrDI2x5jEeP5tymS9fbK4zqRjgzI6H8etDt5UnilkxcSvlA1yE3Mezg==} engines: {node: '>=6.9.0'} @@ -2792,6 +3732,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-partial-application@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-3j+qe8BJrvZOx6rwWLg8UWCKSVvU+7psrDI2x5jEeP5tymS9fbK4zqRjgzI6H8etDt5UnilkxcSvlA1yE3Mezg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-pipeline-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-UU7uLj95zh6oMQiREvkTmXAvWy9pJI9p76SFkNsXTesDwQ67YM1UU1Bkx576djA6ZDcPSbzM/MqTJNcYeQ0G2g==} engines: {node: '>=6.9.0'} @@ -2802,6 +3752,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-pipeline-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-UU7uLj95zh6oMQiREvkTmXAvWy9pJI9p76SFkNsXTesDwQ67YM1UU1Bkx576djA6ZDcPSbzM/MqTJNcYeQ0G2g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} @@ -2812,6 +3772,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -2822,6 +3792,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} @@ -2832,6 +3812,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} @@ -2843,6 +3833,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} @@ -2853,6 +3854,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} @@ -2866,6 +3877,19 @@ packages: '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} @@ -2878,6 +3902,18 @@ packages: '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} @@ -2888,6 +3924,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} engines: {node: '>=6.9.0'} @@ -2898,6 +3944,26 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} @@ -2909,6 +3975,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} engines: {node: '>=6.9.0'} @@ -2921,6 +3998,18 @@ packages: '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} @@ -2938,6 +4027,40 @@ packages: globals: 11.12.0 dev: true + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + + /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-split-export-declaration': 7.24.5 + globals: 11.12.0 + dev: true + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} @@ -2949,6 +4072,17 @@ packages: '@babel/template': 7.24.0 dev: true + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/template': 7.24.0 + dev: true + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} @@ -2959,6 +4093,26 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} @@ -2970,6 +4124,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} @@ -2980,6 +4145,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} @@ -2991,6 +4166,17 @@ packages: '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} @@ -2999,7 +4185,18 @@ packages: dependencies: '@babel/core': 7.24.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.24.5 dev: true /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): @@ -3013,15 +4210,26 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + dev: true + + /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.5) dev: true /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): @@ -3035,6 +4243,17 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} @@ -3047,6 +4266,18 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} @@ -3058,6 +4289,17 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} @@ -3068,6 +4310,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} @@ -3079,6 +4331,17 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} @@ -3089,6 +4352,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} @@ -3100,6 +4373,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} @@ -3112,6 +4396,18 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: true + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + dev: true + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} @@ -3125,6 +4421,19 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} @@ -3136,6 +4445,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} @@ -3147,6 +4467,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} @@ -3157,6 +4488,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} @@ -3168,6 +4509,17 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} @@ -3179,6 +4531,17 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} @@ -3192,6 +4555,32 @@ packages: '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.5) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} @@ -3203,6 +4592,17 @@ packages: '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} @@ -3214,6 +4614,17 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} @@ -3226,14 +4637,28 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.12.9): - resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.12.9 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + dev: true + + /@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) dev: true /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): @@ -3246,6 +4671,36 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.12.9): + resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} @@ -3257,6 +4712,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} @@ -3270,6 +4736,32 @@ packages: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + dev: true + + /@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} @@ -3280,6 +4772,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-react-constant-elements@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==} engines: {node: '>=6.9.0'} @@ -3300,6 +4802,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.4): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} @@ -3310,6 +4822,16 @@ packages: '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.5): + resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} @@ -3324,6 +4846,20 @@ packages: '@babel/types': 7.24.0 dev: true + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.5): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/types': 7.24.0 + dev: true + /@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==} engines: {node: '>=6.9.0'} @@ -3335,6 +4871,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} @@ -3346,6 +4893,17 @@ packages: regenerator-transform: 0.15.2 dev: true + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + regenerator-transform: 0.15.2 + dev: true + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} @@ -3356,6 +4914,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.4): resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==} engines: {node: '>=6.9.0'} @@ -3373,6 +4941,23 @@ packages: - supports-color dev: true + /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.5): + resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} @@ -3383,6 +4968,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} @@ -3394,6 +4989,17 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} @@ -3404,6 +5010,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} @@ -3414,6 +5030,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} @@ -3424,6 +5050,26 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4): resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} engines: {node: '>=6.9.0'} @@ -3437,6 +5083,19 @@ packages: '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} @@ -3447,6 +5106,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} @@ -3458,6 +5127,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} @@ -3469,6 +5149,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} @@ -3480,6 +5171,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/preset-env@7.24.4(@babel/core@7.24.4): resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} engines: {node: '>=6.9.0'} @@ -3572,16 +5274,200 @@ packages: - supports-color dev: true - /@babel/preset-flow@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==} + /@babel/preset-env@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.5) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.5) + core-js-compat: 3.36.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-env@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5) + '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.5) + core-js-compat: 3.36.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-flow@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.5) dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): @@ -3591,7 +5477,18 @@ packages: dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 + esutils: 2.0.3 + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/types': 7.24.5 esutils: 2.0.3 dev: true @@ -3610,6 +5507,21 @@ packages: '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.4) dev: true + /@babel/preset-react@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.5) + '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} engines: {node: '>=6.9.0'} @@ -3624,6 +5536,20 @@ packages: '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) dev: true + /@babel/preset-typescript@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.5) + dev: true + /@babel/register@7.23.7(@babel/core@7.24.4): resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} engines: {node: '>=6.9.0'} @@ -3638,6 +5564,20 @@ packages: source-map-support: 0.5.21 dev: true + /@babel/register@7.23.7(@babel/core@7.24.5): + resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.6 + source-map-support: 0.5.21 + dev: true + /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true @@ -3648,6 +5588,13 @@ packages: dependencies: regenerator-runtime: 0.14.1 + /@babel/runtime@7.24.5: + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + /@babel/template@7.24.0: resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} @@ -3656,7 +5603,7 @@ packages: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 - /@babel/traverse@7.24.1(supports-color@5.5.0): + /@babel/traverse@7.24.1: resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} dependencies: @@ -3666,8 +5613,42 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/traverse@7.24.5: + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/traverse@7.24.5(supports-color@5.5.0): + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 debug: 4.3.4(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: @@ -3681,6 +5662,14 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@babel/types@7.24.5: + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + /@base2/pretty-print-object@1.0.1: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true @@ -5362,7 +7351,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -5496,7 +7485,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6022,14 +8011,14 @@ packages: resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} dev: true - /@loadable/babel-plugin@5.15.3(@babel/core@7.24.4): + /@loadable/babel-plugin@5.15.3(@babel/core@7.24.5): resolution: {integrity: sha512-kwEsPxCk8vnwbTfbA4lHqT5t0u0czCQTnCcmOaTjxT5lCn7yZCBTBa9D7lHs+MLM2WyPsZlee3Qh0TTkMMi5jg==} engines: {node: '>=8'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) /@loadable/component@5.15.3(react@18.2.0): resolution: {integrity: sha512-VOgYgCABn6+/7aGIpg7m0Ruj34tGetaJzt4bQ345FwEovDQZ+dua+NWLmuJKv8rWZyxOUSfoJkmGnzyDXH2BAQ==} @@ -6072,7 +8061,7 @@ packages: webpack: '>=4.6.0' dependencies: make-dir: 3.1.0 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -6182,7 +8171,7 @@ packages: typescript: ^4 || ^5 dependencies: '@babel/core': 7.24.4 - '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.56.0) + '@babel/eslint-parser': 7.24.1(@babel/core@7.24.5)(eslint@8.56.0) '@babel/eslint-plugin': 7.23.5(@babel/eslint-parser@7.24.1)(eslint@8.56.0) '@rsbuild/babel-preset': 0.3.4(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3) '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.0.4) @@ -6207,6 +8196,36 @@ packages: - supports-color dev: true + /@modern-js-app/eslint-config@2.49.1(typescript@5.0.4): + resolution: {integrity: sha512-y5By341+FM3GnMM/ynA6mAn5pDcMkAiv+S++2fH07CG98onIzOy2UX6Pa0++/YbmBLo89CE64s/g38krOe/kzw==} + peerDependencies: + typescript: ^4 || ^5 + dependencies: + '@babel/core': 7.24.5 + '@babel/eslint-parser': 7.24.1(@babel/core@7.24.5)(eslint@8.56.0) + '@babel/eslint-plugin': 7.23.5(@babel/eslint-parser@7.24.1)(eslint@8.56.0) + '@rsbuild/babel-preset': 0.6.6 + '@rsbuild/core': 0.6.6 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.0.4) + eslint: 8.56.0 + eslint-config-prettier: 8.10.0(eslint@8.56.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.56.0) + eslint-plugin-filenames: 1.3.2(eslint@8.56.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.56.0) + eslint-plugin-node: 11.1.0(eslint@8.56.0) + eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@2.8.8) + eslint-plugin-promise: 6.1.1(eslint@8.56.0) + eslint-plugin-react: 7.33.2(eslint@8.56.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + prettier: 2.8.8 + typescript: 5.0.4 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + /@modern-js-reduck/plugin-auto-actions@1.1.11(@modern-js-reduck/store@1.1.11): resolution: {integrity: sha512-Xn13uPuFh+UnV3BC6tO4N1sC5+aITX2zj5QDwU0wJgc/5zBz9fcElfQ8B+kvQe0/0VlY0ENArmFIl2h1N5TIkQ==} peerDependencies: @@ -6282,7 +8301,7 @@ packages: hasBin: true dependencies: '@babel/parser': 7.24.4 - '@babel/traverse': 7.24.1(supports-color@5.5.0) + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 '@modern-js/core': 2.46.1 '@modern-js/new-action': 2.46.1(typescript@5.0.4) @@ -6336,16 +8355,154 @@ packages: - webpack-plugin-serve dev: true + /@modern-js/app-tools@2.49.1(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4): + resolution: {integrity: sha512-wdEWZlxXKWHu62i6edejIAvLUakuQc3Przbop/mGaM1Jk5dXXsJaOJyrsAwJElm5YGnH/VZKhcYdMD4JKVATsA==} + engines: {node: '>=14.17.6'} + hasBin: true + dependencies: + '@babel/parser': 7.24.5 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + '@modern-js/core': 2.49.1 + '@modern-js/node-bundle-require': 2.49.1 + '@modern-js/plugin': 2.49.1 + '@modern-js/plugin-data-loader': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/plugin-i18n': 2.49.1 + '@modern-js/plugin-lint': 2.49.1(eslint@8.56.0) + '@modern-js/prod-server': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/rsbuild-plugin-esbuild': 2.49.1(@swc/core@1.5.6) + '@modern-js/server': 2.49.1(@babel/traverse@7.24.5)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1) + '@modern-js/server-core': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-utils': 2.49.1(@babel/traverse@7.24.5) + '@modern-js/types': 2.49.1 + '@modern-js/uni-builder': 2.49.1(@babel/traverse@7.24.5)(@rspack/core@0.5.8)(@swc/core@1.5.6)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/utils': 2.49.1 + '@rsbuild/core': 0.6.6 + '@rsbuild/plugin-node-polyfill': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@swc/helpers': 0.5.3 + es-module-lexer: 1.5.0 + esbuild: 0.17.19 + esbuild-register: 3.5.0(esbuild@0.17.19) + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/webpack' + - bufferutil + - clean-css + - csso + - debug + - devcert + - eslint + - lightningcss + - react + - react-dom + - sockjs-client + - styled-components + - supports-color + - ts-node + - tsconfig-paths + - type-fest + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@modern-js/app-tools@2.49.3(@rspack/core@0.5.8)(@swc/core@1.5.6)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4): + resolution: {integrity: sha512-SvoGOqpeM737qF0XWlAIp6G3jL9LTQCPpd3c3g7wPkiJ9rfBU35KLFzha68+tTx9iqDntYYhO/V1LZLZ9lPTOQ==} + engines: {node: '>=14.17.6'} + hasBin: true + dependencies: + '@babel/parser': 7.24.5 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + '@modern-js/core': 2.49.3 + '@modern-js/node-bundle-require': 2.49.3 + '@modern-js/plugin': 2.49.3 + '@modern-js/plugin-data-loader': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/plugin-i18n': 2.49.3 + '@modern-js/plugin-lint': 2.49.3(eslint@8.56.0) + '@modern-js/prod-server': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/rsbuild-plugin-esbuild': 2.49.3(@swc/core@1.5.6) + '@modern-js/server': 2.49.3(@babel/traverse@7.24.5)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1) + '@modern-js/server-core': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-utils': 2.49.3(@babel/traverse@7.24.5) + '@modern-js/types': 2.49.3 + '@modern-js/uni-builder': 2.49.3(@babel/traverse@7.24.5)(@rspack/core@0.5.8)(@swc/core@1.5.6)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4) + '@modern-js/utils': 2.49.3 + '@rsbuild/core': 0.6.11 + '@rsbuild/plugin-node-polyfill': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@swc/helpers': 0.5.3 + es-module-lexer: 1.5.0 + esbuild: 0.17.19 + esbuild-register: 3.5.0(esbuild@0.17.19) + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/webpack' + - bufferutil + - clean-css + - csso + - debug + - devcert + - eslint + - lightningcss + - react + - react-dom + - sockjs-client + - styled-components + - supports-color + - ts-node + - tsconfig-paths + - type-fest + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + /@modern-js/babel-compiler@2.46.1: resolution: {integrity: sha512-JaEmVDOGFjn7wzDFRnKC8YWsmQtf5lxTWjkPHF1pZMVfnwbEo0wXeq1/ZqPtGzSO+vw6afhI0LZbB+2tF1paMw==} dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@modern-js/utils': 2.46.1 '@swc/helpers': 0.5.3 transitivePeerDependencies: - supports-color dev: true + /@modern-js/babel-compiler@2.49.1: + resolution: {integrity: sha512-SuSC/OUy7sne82p+BsD6NZTJDACCsxxTtlaElF4ewMGw6ZbYUk9otPQHcwM6ceog+eKIuLD+E1AG3dOa0zMzEw==} + dependencies: + '@babel/core': 7.24.5 + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@modern-js/babel-compiler@2.49.3: + resolution: {integrity: sha512-yXcD99EQ6HIDYww/oj1W7KG3KypJl4vOZd7317V8j0CIJTv78/IEcBw7iClH1T9Gf0t4FVs/wVBLkBDYOmkunA==} + dependencies: + '@babel/core': 7.24.5 + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + transitivePeerDependencies: + - supports-color + dev: true + /@modern-js/babel-plugin-module-resolver@2.46.1: resolution: {integrity: sha512-YyxgrHAodXN6KQP13SpqbTg2Sv8LSTv3LujttUBhm829e4jU/8uK+dIQYFh/cQMCiUyEL2vlHWJW1xPsEdkfqg==} dependencies: @@ -6356,20 +8513,40 @@ packages: resolve: 1.22.8 dev: true + /@modern-js/babel-plugin-module-resolver@2.49.1: + resolution: {integrity: sha512-RDjI1I34/rmbKiyLqsQLsitRN+BeXKUuxZnlKOg7c4oQG0cq7Qde1SqO5sSCMiPu3gbX3EEXy1lvJ5ktIrrIaA==} + dependencies: + '@swc/helpers': 0.5.3 + glob: 8.1.0 + pkg-up: 3.1.0 + reselect: 4.1.8 + resolve: 1.22.8 + dev: true + + /@modern-js/babel-plugin-module-resolver@2.49.3: + resolution: {integrity: sha512-XB8eRZ6qDNbV34CEaM4PoF6H+l6u5EiLMeAIUmjlNR1N5tMaIPFp08G321tEbw7y2RBXTw6e3ILfDTiDyeyVKw==} + dependencies: + '@swc/helpers': 0.5.3 + glob: 8.1.0 + pkg-up: 3.1.0 + reselect: 4.1.8 + resolve: 1.22.8 + dev: true + /@modern-js/builder-shared@2.46.1(@rsbuild/core@0.3.11)(@swc/core@1.5.6)(@types/express@4.17.21)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1)(typescript@5.0.4): resolution: {integrity: sha512-nlniPnfeP+rofd1LX2BBX7Vy2pZkxnBnxK7u8rfT/9XUJzHAbjvPxVPyB8IbBIoL9RnLWWQtvTDpAAbz/jRo+Q==} engines: {node: '>=14.0.0'} dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 '@modern-js/prod-server': 2.46.1(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0) '@modern-js/server': 2.46.1(@rsbuild/core@0.3.11)(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1) '@modern-js/types': 2.46.1 '@modern-js/utils': 2.46.1 '@swc/helpers': 0.5.3 acorn: 8.11.3 - caniuse-lite: 1.0.30001609 + caniuse-lite: 1.0.30001613 css-minimizer-webpack-plugin: 5.0.1(esbuild@0.18.20)(webpack@5.91.0) cssnano: 6.0.1(postcss@8.4.31) fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.4)(webpack@5.91.0) @@ -6510,7 +8687,7 @@ packages: '@formily/json-schema': 2.3.1(typescript@5.0.4) '@formily/validator': 2.3.1 '@modern-js/codesmith': 2.3.3 - '@modern-js/utils': 2.46.1 + '@modern-js/utils': 2.49.3 '@swc/helpers': 0.5.1 inquirer: 8.2.6 transitivePeerDependencies: @@ -6520,7 +8697,7 @@ packages: /@modern-js/codesmith@2.3.3: resolution: {integrity: sha512-KBmkO05++5UB73DvNsoR9EhGMH1Z9jO9bq4nlDREwonc4XE3dJv6ojQlw9B9JRauG+FzNfp+i2cdqn4AWNPBbA==} dependencies: - '@modern-js/utils': 2.46.1 + '@modern-js/utils': 2.49.3 '@swc/helpers': 0.5.1 axios: 1.6.7 tar: 6.2.1 @@ -6537,6 +8714,24 @@ packages: '@swc/helpers': 0.5.3 dev: true + /@modern-js/core@2.49.1: + resolution: {integrity: sha512-24oH9M0PhpGI6RW49VLazI8a7oYtdO0vfIRhis7F3X/QCIiJW8OaXkzoyn7WgVflZ5rKkghWrqrs8NdlBW21ig==} + dependencies: + '@modern-js/node-bundle-require': 2.49.1 + '@modern-js/plugin': 2.49.1 + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + dev: true + + /@modern-js/core@2.49.3: + resolution: {integrity: sha512-t80L6yWODvgG3ZmmCHlUqE4yTzMN7Agsmu6IIW8j7qcAMyrYOcrVPlgUoTRvNQnWZ8XYxMTPejk0C6Bdgnoiqg==} + dependencies: + '@modern-js/node-bundle-require': 2.49.3 + '@modern-js/plugin': 2.49.3 + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + dev: true + /@modern-js/eslint-config@2.46.1(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3)(typescript@5.0.4): resolution: {integrity: sha512-cVudBdjvZVNSfrKMbVtEKQrmRVjQp4A3hmE7EIRKnBAFBByI6tXGmNKOubtUN5Zj6XPOnYUXqyT2JE/jhT2G2g==} dependencies: @@ -6550,6 +8745,17 @@ packages: - typescript dev: true + /@modern-js/eslint-config@2.49.1(typescript@5.0.4): + resolution: {integrity: sha512-47g/6Kq9VeaqPWvd9uMzNLOpD7bvMymeskxb9NtFUJP867b499Pdr2RKUF/tkaZ9yvj86OWJdcpMgRzE7qEdUQ==} + dependencies: + '@modern-js-app/eslint-config': 2.49.1(typescript@5.0.4) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + /@modern-js/generator-common@3.3.8(@modern-js/codesmith@2.3.3)(typescript@5.0.4): resolution: {integrity: sha512-8Ol5ZqsahwigJKIUKVxr1RCBBJWyJ2gOkpxKOzf5d5J4U8WiKqgezflVq5u21TFtM4DSOCohQUQ4zFWSRaEpow==} dependencies: @@ -6644,6 +8850,21 @@ packages: esbuild: 0.17.19 dev: true + /@modern-js/node-bundle-require@2.49.1: + resolution: {integrity: sha512-HXyd7GRKsXFk6kEZ7yJ1nuQWUnNRDO3/bUIvqTd0Uw1JVZq3vC1hgJ0hroiv/o1jF/0uPmSUFpzop/vYXan3kA==} + dependencies: + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + esbuild: 0.17.19 + dev: true + + /@modern-js/node-bundle-require@2.49.3: + resolution: {integrity: sha512-g+FKd7kEcWgYa/VJRPSrn0C6zwof+MFF6Sk616YNrI2wlvoMgCqTipVjIOd6n6PE915HSiyD4/WRDCpLqKozmg==} + dependencies: + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + esbuild: 0.17.19 + /@modern-js/plugin-changeset@2.46.1: resolution: {integrity: sha512-OsxRDWFh9scd0/dgJbjTPRFi1FcXpqo2IpsUPYixRBJfIUN+nTSkz1SVilCf0/SEWJcOrkMLB6+8SsI+UY2d5g==} dependencies: @@ -6665,7 +8886,7 @@ packages: peerDependencies: react: '>=17.0.0' dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@modern-js/runtime-utils': 2.46.1(react-dom@18.2.0)(react@18.2.0) '@modern-js/utils': 2.46.1 '@remix-run/node': 1.19.3 @@ -6677,6 +8898,40 @@ packages: - supports-color dev: true + /@modern-js/plugin-data-loader@2.49.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MhzAQOrdm53u/GcqFG8qAXYNAq59kzlRcGDQPQV703FXriz/FMw0+nKyBnw1abyDVqlc3wH69Lyw/nYPz9rbCg==} + engines: {node: '>=16.2.0'} + peerDependencies: + react: '>=17.0.0' + dependencies: + '@babel/core': 7.24.5 + '@modern-js/runtime-utils': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + path-to-regexp: 6.2.1 + react: 18.2.0 + transitivePeerDependencies: + - react-dom + - supports-color + dev: true + + /@modern-js/plugin-data-loader@2.49.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7eTDMtS9vAPhQEpN1YFxY5SZThXOjeiliXDbaDRiGKQKtrtclBeXzRMHeo+qhEj/gkFzvKddLKBhb1ankwuGJg==} + engines: {node: '>=16.2.0'} + peerDependencies: + react: '>=17.0.0' + dependencies: + '@babel/core': 7.24.5 + '@modern-js/runtime-utils': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + path-to-regexp: 6.2.1 + react: 18.2.0 + transitivePeerDependencies: + - react-dom + - supports-color + dev: true + /@modern-js/plugin-i18n@2.46.1: resolution: {integrity: sha512-A8Gouaf8IHMb5lIZ7imHq5mj7Qosuf9r0Q+66AI7oaIFpKxHRkX4eoc2dMw0YcGGDPmebZxG0rFUA9yqV3CC/Q==} dependencies: @@ -6684,6 +8939,20 @@ packages: '@swc/helpers': 0.5.3 dev: true + /@modern-js/plugin-i18n@2.49.1: + resolution: {integrity: sha512-9Mwgsm/o26+BdIbT3BOwEGpRL6c4CUwHK+hSP9PRP4usFwDMV9dSb0mj6EW8YNvHjQYgh+MoHNy2m1x+mpESWg==} + dependencies: + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + dev: true + + /@modern-js/plugin-i18n@2.49.3: + resolution: {integrity: sha512-O12BPRKBwQuRRH4oMJb/jQNv0zfp/hkl/FQhD0zRduofRWMln/5VFVUQWVBr134gzOHGNY5luByij0XgzKPIXQ==} + dependencies: + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + dev: true + /@modern-js/plugin-lint@2.46.1: resolution: {integrity: sha512-fSqux9RbFxVhHAMH1+IK3d/A3WS0o/sKOGzrMbdRoy0mMDwaEqX0Iw95uvuva7Z5fb5t20E3WHHkBswoxvzl9g==} dependencies: @@ -6697,11 +8966,57 @@ packages: - supports-color dev: true + /@modern-js/plugin-lint@2.49.1(eslint@8.56.0): + resolution: {integrity: sha512-fEXMBWpdUJ/JJq/rg3gJUfCibsUBqurCkhKI8ci2Gp7fDA9oO+bfNqCjL0+aIt2EVVrtIB5Y6ZWAGdmK1dA78A==} + peerDependencies: + eslint: ^8.28.0 + peerDependenciesMeta: + eslint: + optional: true + dependencies: + '@modern-js/tsconfig': 2.49.1 + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + cross-spawn: 7.0.3 + eslint: 8.56.0 + husky: 8.0.3 + dev: true + + /@modern-js/plugin-lint@2.49.3(eslint@8.56.0): + resolution: {integrity: sha512-FsllRE95n+N52ygWcLrP+GYuRY2ZGBWINrneRpwrfuZnjp745mnQ8M87sXMFSukadE0DD7f1K/6+cdd9bJFQtA==} + peerDependencies: + eslint: ^8.28.0 + peerDependenciesMeta: + eslint: + optional: true + dependencies: + '@modern-js/tsconfig': 2.49.3 + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + cross-spawn: 7.0.3 + eslint: 8.56.0 + husky: 8.0.3 + dev: true + /@modern-js/plugin@2.46.1: resolution: {integrity: sha512-9Jwn0x/MLH/tuhWUQ0Yfq/TvHqPF4PLivb+j+repXbBgh6LYaiZj+pDxZSsN7Za1jp1vhzPhajSaQCy0HjuutA==} dependencies: '@modern-js/utils': 2.46.1 '@swc/helpers': 0.5.3 + dev: true + + /@modern-js/plugin@2.49.1: + resolution: {integrity: sha512-d3qnjdrAgcUiPedgCoVQPQ6b95KSD9UU+/T6zzZH75uAUzYS35GNhHF5oA0QL3Zb8AmhLGObndkE6rQbwgpsmA==} + dependencies: + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + + /@modern-js/plugin@2.49.3: + resolution: {integrity: sha512-zeKqKsjSe1uGXEMzngFopk+f0z8458d0kXTi2OKoD5lrAP6XXCAhtswQYAUeGUEHTMBm13D2zbxqeOBMrO3IzA==} + dependencies: + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + dev: true /@modern-js/prod-server@2.46.1(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-O2q0G5QbPd80FMkqi7Mf/kD3sznOUCfhfV7BSzJLHM6djFAdxz8l3wytGL2jUADImTwKv30rWgp6f9dcg2+WPA==} @@ -6729,6 +9044,58 @@ packages: - supports-color dev: true + /@modern-js/prod-server@2.49.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cOsCmNacA+4evRctReqp6kyM7EA4ZP6zGSfA48CvaQ5BvdKVPNE7koQFOEfzUD7wdRSiLlJ/aZ+cpu1AxNdiAg==} + engines: {node: '>=16.2.0'} + dependencies: + '@modern-js/runtime-utils': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-core': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /@modern-js/prod-server@2.49.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0N06hxSdX5NJ9O4891VfaYkuGqcj93kHa0l3YXwe2cc78jVam0h3SiDvtu5hhiESLU7uITXeZCD4hldLKDMeSw==} + engines: {node: '>=16.2.0'} + dependencies: + '@modern-js/runtime-utils': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-core': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /@modern-js/rsbuild-plugin-esbuild@2.49.1(@swc/core@1.5.6): + resolution: {integrity: sha512-PdGlJFZk4EBgXcb0mPVR9FPCIOktGHGklJgoQ+CSPHpEyXcW9Y/mPvVJMM/pnFwbLcGlccAPyPm+ldHFzhoVaA==} + dependencies: + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@swc/helpers': 0.5.3 + esbuild: 0.17.19 + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + transitivePeerDependencies: + - '@swc/core' + - uglify-js + - webpack-cli + dev: true + + /@modern-js/rsbuild-plugin-esbuild@2.49.3(@swc/core@1.5.6): + resolution: {integrity: sha512-W0VG4dt3ty2EMcenujFyYNavU+aOJ3mw4RXG4NswCEMB3vm5fyLg8bI5PTtDYrSfh7/+NfYmylrj5X6Vv6wCHQ==} + dependencies: + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@swc/helpers': 0.5.3 + esbuild: 0.17.19 + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + transitivePeerDependencies: + - '@swc/core' + - uglify-js + - webpack-cli + dev: true + /@modern-js/runtime-utils@2.46.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-/dfd2VOxFlG5zLjpLILaWTJpGpoVufQmIe/zyxUmfmc25hTNvCaYpHgcBJdTuJstqkvo0EsenHWMZ+ESx7WIfw==} peerDependencies: @@ -6748,6 +9115,48 @@ packages: react-dom: 18.2.0(react@18.2.0) react-router-dom: 6.17.0(react-dom@18.2.0)(react@18.2.0) serialize-javascript: 6.0.2 + dev: true + + /@modern-js/runtime-utils@2.49.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Kae259YDkAtLC3JTAHBQLMPoISHbal9KahT5VPOi/SS2KSUP/docfQY4Brw+Lfdyei283Y07fLqcKX/DAA/WHg==} + peerDependencies: + react: '>=17.0.0' + react-dom: '>=17.0.0' + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + '@modern-js/utils': 2.49.1 + '@remix-run/router': 1.15.0 + '@swc/helpers': 0.5.3 + lru-cache: 6.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router-dom: 6.22.0(react-dom@18.2.0)(react@18.2.0) + serialize-javascript: 6.0.2 + + /@modern-js/runtime-utils@2.49.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-rhHSLO832r2WtGrLXyBWRPkEeE8G4zyyqiRVbGbYcz5eF1SGH0CqELztKvTFtmzhQNT1S0TBh2kF018MBbYx1w==} + peerDependencies: + react: '>=17.0.0' + react-dom: '>=17.0.0' + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + '@modern-js/utils': 2.49.3 + '@remix-run/router': 1.15.0 + '@swc/helpers': 0.5.3 + lru-cache: 6.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router-dom: 6.22.0(react-dom@18.2.0)(react@18.2.0) + serialize-javascript: 6.0.2 + dev: true /@modern-js/runtime@2.46.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0): resolution: {integrity: sha512-tt85zPh2dFPRYjg+xe3Jm2TKOXzZswF1WTcs430NgmmTtOlBZG1qKT1FxSQ6g8LZs7h6TtYULm1U1PaiIiWTSw==} @@ -6756,9 +9165,9 @@ packages: react: '>=17' react-dom: '>=17' dependencies: - '@babel/core': 7.24.4 - '@babel/types': 7.24.0 - '@loadable/babel-plugin': 5.15.3(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/types': 7.24.5 + '@loadable/babel-plugin': 5.15.3(@babel/core@7.24.5) '@loadable/component': 5.15.3(react@18.2.0) '@loadable/server': 5.15.3(@loadable/component@5.15.3)(react@18.2.0) '@loadable/webpack-plugin': 5.15.2(webpack@5.91.0) @@ -6786,12 +9195,101 @@ packages: react-helmet: 6.1.0(react@18.2.0) react-is: 18.2.0 react-side-effect: 2.1.2(react@18.2.0) - styled-components: 5.3.11(@babel/core@7.24.4)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' - supports-color - webpack + dev: true + + /@modern-js/runtime@2.49.1(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0): + resolution: {integrity: sha512-rNIssNXggSTdE9BPXxgR8ChHWB1N23Vy32JGcZFB+/XIH9fTYfZQSwUoSyqcwPH6WDVnPj9HrUnGyXNOjuTCgg==} + engines: {node: '>=14.17.6'} + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@babel/core': 7.24.5 + '@babel/types': 7.24.5 + '@loadable/babel-plugin': 5.15.3(@babel/core@7.24.5) + '@loadable/component': 5.15.3(react@18.2.0) + '@loadable/server': 5.15.3(@loadable/component@5.15.3)(react@18.2.0) + '@loadable/webpack-plugin': 5.15.2(webpack@5.91.0) + '@modern-js-reduck/plugin-auto-actions': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/plugin-devtools': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/plugin-effects': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/plugin-immutable': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/react': 1.1.11(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0) + '@modern-js-reduck/store': 1.1.11 + '@modern-js/plugin': 2.49.1 + '@modern-js/runtime-utils': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/types': 2.49.1 + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + '@types/loadable__component': 5.13.9 + '@types/react-helmet': 6.1.11 + '@types/styled-components': 5.1.34 + cookie: 0.5.0 + esbuild: 0.17.19 + hoist-non-react-statics: 3.3.2 + invariant: 2.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-helmet: 6.1.0(react@18.2.0) + react-is: 18.2.0 + react-side-effect: 2.1.2(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + - supports-color + - webpack + dev: false + + /@modern-js/runtime@2.49.3(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0)(webpack@5.91.0): + resolution: {integrity: sha512-DD2GK6Uy5FNNiDpzftIeVmolf1+m14EpFMuBcwcKYGQWzzcrmj5w5MB73QwfmZo64ZA/ED/KtsAyHAWU21tuig==} + engines: {node: '>=14.17.6'} + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@babel/core': 7.24.5 + '@babel/types': 7.24.5 + '@loadable/babel-plugin': 5.15.3(@babel/core@7.24.5) + '@loadable/component': 5.15.3(react@18.2.0) + '@loadable/server': 5.15.3(@loadable/component@5.15.3)(react@18.2.0) + '@loadable/webpack-plugin': 5.15.2(webpack@5.91.0) + '@modern-js-reduck/plugin-auto-actions': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/plugin-devtools': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/plugin-effects': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/plugin-immutable': 1.1.11(@modern-js-reduck/store@1.1.11) + '@modern-js-reduck/react': 1.1.11(@types/react-dom@18.2.25)(@types/react@18.2.62)(react-dom@18.2.0)(react@18.2.0) + '@modern-js-reduck/store': 1.1.11 + '@modern-js/plugin': 2.49.3 + '@modern-js/runtime-utils': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/types': 2.49.3 + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + '@types/loadable__component': 5.13.9 + '@types/react-helmet': 6.1.11 + '@types/styled-components': 5.1.34 + cookie: 0.5.0 + esbuild: 0.17.19 + hoist-non-react-statics: 3.3.2 + invariant: 2.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-helmet: 6.1.0(react@18.2.0) + react-is: 18.2.0 + react-side-effect: 2.1.2(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + - supports-color + - webpack + dev: true /@modern-js/server-core@2.46.1: resolution: {integrity: sha512-/gmeoEJQ/JQ7V5ol27QbrqtZk7+96reUR3k+Qs9mOjMYtUGmPoeUOzEy4n1BlMkXJcPtE/Qo6tZVLOZ1zuIEkA==} @@ -6801,20 +9299,58 @@ packages: '@swc/helpers': 0.5.3 dev: true + /@modern-js/server-core@2.49.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2jTra9xf8mWL3h7RHUYQVFWq91jr8PQ9jxoSJDkzX19lLnOUSJdLb2UMjSv5tVG/iaO8p9HW/bfaa5A9nb2JNQ==} + engines: {node: '>=16.2.0'} + dependencies: + '@modern-js/plugin': 2.49.1 + '@modern-js/runtime-utils': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + '@web-std/fetch': 4.2.1 + '@web-std/file': 3.0.3 + '@web-std/stream': 1.0.3 + hono: 3.12.12 + isbot: 3.8.0 + merge-deep: 3.0.3 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /@modern-js/server-core@2.49.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IRjwzT6nxPpbkWFEekieYpui0SLfsbEOYcXX5+0GnAIz7ddfzaQiAXfbyiTt9G1LQ6q+9S9YxSwu7UdVOlUnlQ==} + engines: {node: '>=16.2.0'} + dependencies: + '@modern-js/plugin': 2.49.3 + '@modern-js/runtime-utils': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + '@web-std/fetch': 4.2.1 + '@web-std/file': 3.0.3 + '@web-std/stream': 1.0.3 + hono: 3.12.12 + isbot: 3.8.0 + merge-deep: 3.0.3 + transitivePeerDependencies: + - react + - react-dom + dev: true + /@modern-js/server-utils@2.46.1(@babel/traverse@7.24.1)(@rsbuild/core@0.3.11): resolution: {integrity: sha512-Wo+g6q55A2UUTMwbbYUWkGey/H/1yE8mI4awdZ7GKMxemYKXlrvbGax0adiRrbB0R8NPjCSiB3Pq3t9aY2Ejuw==} dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.4) - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) - '@babel/preset-react': 7.24.1(@babel/core@7.24.4) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/preset-env': 7.24.4(@babel/core@7.24.5) + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) '@modern-js/babel-compiler': 2.46.1 '@modern-js/babel-plugin-module-resolver': 2.46.1 '@modern-js/utils': 2.46.1 '@rsbuild/babel-preset': 0.3.4(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3) '@swc/helpers': 0.5.3 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.5)(@babel/traverse@7.24.1) transitivePeerDependencies: - '@babel/traverse' - '@rsbuild/core' @@ -6824,23 +9360,81 @@ packages: /@modern-js/server-utils@2.46.1(@babel/traverse@7.24.1)(@rsbuild/core@0.3.4): resolution: {integrity: sha512-Wo+g6q55A2UUTMwbbYUWkGey/H/1yE8mI4awdZ7GKMxemYKXlrvbGax0adiRrbB0R8NPjCSiB3Pq3t9aY2Ejuw==} dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.4) - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) - '@babel/preset-react': 7.24.1(@babel/core@7.24.4) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/preset-env': 7.24.4(@babel/core@7.24.5) + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) '@modern-js/babel-compiler': 2.46.1 '@modern-js/babel-plugin-module-resolver': 2.46.1 '@modern-js/utils': 2.46.1 '@rsbuild/babel-preset': 0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3) '@swc/helpers': 0.5.3 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.5)(@babel/traverse@7.24.1) transitivePeerDependencies: - '@babel/traverse' - '@rsbuild/core' - supports-color dev: true + /@modern-js/server-utils@2.46.1(@rsbuild/core@0.3.11): + resolution: {integrity: sha512-Wo+g6q55A2UUTMwbbYUWkGey/H/1yE8mI4awdZ7GKMxemYKXlrvbGax0adiRrbB0R8NPjCSiB3Pq3t9aY2Ejuw==} + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/preset-env': 7.24.4(@babel/core@7.24.5) + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@modern-js/babel-compiler': 2.46.1 + '@modern-js/babel-plugin-module-resolver': 2.46.1 + '@modern-js/utils': 2.46.1 + '@rsbuild/babel-preset': 0.3.4(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3) + '@swc/helpers': 0.5.3 + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.5)(@babel/traverse@7.24.1) + transitivePeerDependencies: + - '@babel/traverse' + - '@rsbuild/core' + - supports-color + dev: true + + /@modern-js/server-utils@2.49.1(@babel/traverse@7.24.5): + resolution: {integrity: sha512-47LGwfypwLW9pUcglkVzxY61s4534BGmoS0X4k5rBFJcXqjxCbToHhW6dk7nruRXtaz9IQJu1sZjhljP3nRs6w==} + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@modern-js/babel-compiler': 2.49.1 + '@modern-js/babel-plugin-module-resolver': 2.49.1 + '@modern-js/utils': 2.49.1 + '@rsbuild/babel-preset': 0.6.6 + '@swc/helpers': 0.5.3 + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.5)(@babel/traverse@7.24.5) + transitivePeerDependencies: + - '@babel/traverse' + - supports-color + dev: true + + /@modern-js/server-utils@2.49.3(@babel/traverse@7.24.5): + resolution: {integrity: sha512-SlH5lQ9ISG+lUiyKFOiS3suw+HsDLWldcM9/wVtb4KsQp7CN6IPxWU9bXQThHsReSCllE9nNVIOdGN8p1oiOmw==} + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@modern-js/babel-compiler': 2.49.3 + '@modern-js/babel-plugin-module-resolver': 2.49.3 + '@modern-js/utils': 2.49.3 + '@rsbuild/babel-preset': 0.6.11 + '@swc/helpers': 0.5.3 + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.5)(@babel/traverse@7.24.5) + transitivePeerDependencies: + - '@babel/traverse' + - supports-color + dev: true + /@modern-js/server@2.46.1(@babel/traverse@7.24.1)(@rsbuild/core@0.3.11)(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1): resolution: {integrity: sha512-7n9LuQ7gJ9PdS1/YC7IjApZBNiqvQ+bsHKgeB7yvUYk0/FSL5GU/oqyOqMddMx05tQXuTdQRAabB26yGbV+jBg==} peerDependencies: @@ -6855,8 +9449,8 @@ packages: tsconfig-paths: optional: true dependencies: - '@babel/core': 7.24.4 - '@babel/register': 7.23.7(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/register': 7.23.7(@babel/core@7.24.5) '@modern-js/prod-server': 2.46.1(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0) '@modern-js/runtime-utils': 2.46.1(react-dom@18.2.0)(react@18.2.0) '@modern-js/server-utils': 2.46.1(@babel/traverse@7.24.1)(@rsbuild/core@0.3.11) @@ -6896,8 +9490,8 @@ packages: tsconfig-paths: optional: true dependencies: - '@babel/core': 7.24.4 - '@babel/register': 7.23.7(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/register': 7.23.7(@babel/core@7.24.5) '@modern-js/prod-server': 2.46.1(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0) '@modern-js/runtime-utils': 2.46.1(react-dom@18.2.0)(react@18.2.0) '@modern-js/server-utils': 2.46.1(@babel/traverse@7.24.1)(@rsbuild/core@0.3.4) @@ -6937,11 +9531,11 @@ packages: tsconfig-paths: optional: true dependencies: - '@babel/core': 7.24.4 - '@babel/register': 7.23.7(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/register': 7.23.7(@babel/core@7.24.5) '@modern-js/prod-server': 2.46.1(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0) '@modern-js/runtime-utils': 2.46.1(react-dom@18.2.0)(react@18.2.0) - '@modern-js/server-utils': 2.46.1(@babel/traverse@7.24.1)(@rsbuild/core@0.3.11) + '@modern-js/server-utils': 2.46.1(@rsbuild/core@0.3.11) '@modern-js/types': 2.46.1 '@modern-js/utils': 2.46.1 '@swc/helpers': 0.5.3 @@ -6964,6 +9558,84 @@ packages: - utf-8-validate dev: true + /@modern-js/server@2.49.1(@babel/traverse@7.24.5)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1): + resolution: {integrity: sha512-0dokoMTKe7M41ppkactPpsrSTxMLpZEkPj5nd3tJRITRW+EkPJXBfRcTgqoRDPxLdEHsdGAspKG06KAngaTakw==} + peerDependencies: + devcert: ^1.2.2 + ts-node: ^10.1.0 + tsconfig-paths: '>= 3.0.0 || >= 4.0.0' + peerDependenciesMeta: + devcert: + optional: true + ts-node: + optional: true + tsconfig-paths: + optional: true + dependencies: + '@babel/core': 7.24.5 + '@babel/register': 7.23.7(@babel/core@7.24.5) + '@modern-js/runtime-utils': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-core': 2.49.1(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-utils': 2.49.1(@babel/traverse@7.24.5) + '@modern-js/types': 2.49.1 + '@modern-js/utils': 2.49.1 + '@swc/helpers': 0.5.3 + axios: 1.6.7 + connect-history-api-fallback: 2.0.0 + http-compression: 1.0.6 + minimatch: 3.1.2 + path-to-regexp: 6.2.1 + ts-node: 10.9.1(@swc/core@1.5.6)(@types/node@18.19.26)(typescript@5.3.3) + ws: 8.16.0 + transitivePeerDependencies: + - '@babel/traverse' + - bufferutil + - debug + - react + - react-dom + - supports-color + - utf-8-validate + dev: true + + /@modern-js/server@2.49.3(@babel/traverse@7.24.5)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1): + resolution: {integrity: sha512-oJpL4FyUH5TobGrB1RTSYQozTjvj4bqL+ttG3X9o1ruvEQIvLVygaF9I8ZLKhZ69Fmt5aSIYRHeeNOT+2eZVtw==} + peerDependencies: + devcert: ^1.2.2 + ts-node: ^10.1.0 + tsconfig-paths: '>= 3.0.0 || >= 4.0.0' + peerDependenciesMeta: + devcert: + optional: true + ts-node: + optional: true + tsconfig-paths: + optional: true + dependencies: + '@babel/core': 7.24.5 + '@babel/register': 7.23.7(@babel/core@7.24.5) + '@modern-js/runtime-utils': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-core': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server-utils': 2.49.3(@babel/traverse@7.24.5) + '@modern-js/types': 2.49.3 + '@modern-js/utils': 2.49.3 + '@swc/helpers': 0.5.3 + axios: 1.6.7 + connect-history-api-fallback: 2.0.0 + http-compression: 1.0.6 + minimatch: 3.1.2 + path-to-regexp: 6.2.1 + ts-node: 10.9.1(@swc/core@1.5.6)(@types/node@18.19.26)(typescript@5.3.3) + ws: 8.16.0 + transitivePeerDependencies: + - '@babel/traverse' + - bufferutil + - debug + - react + - react-dom + - supports-color + - utf-8-validate + dev: true + /@modern-js/storybook-builder@2.46.1(@modern-js/builder-webpack-provider@2.46.1)(@rsbuild/core@0.3.11)(@swc/core@1.5.6)(@types/express@4.17.21)(@types/react-dom@18.2.25)(@types/react@18.2.62)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@18.2.0)(react-refresh@0.14.0)(react@18.2.0)(ts-node@10.9.1)(typescript@5.0.4)(webpack@5.91.0): resolution: {integrity: sha512-SEc7CX3Tjuua09HUO1ZR6hG2CS3BGMFJFXJFr7hLBy2Nmb9nNlSbjdB6f+ic9VnXGapiceN9TCHt3sxrmc+SIw==} engines: {node: '>=16.0.0'} @@ -7167,15 +9839,31 @@ packages: resolution: {integrity: sha512-LaDAQwzy59X3QP5YR4iH3ZGlI3nUFhzQ7LLFMbbI6yx3CtP5/RCOPpk9aPG4RMQwcf1FR4bEJQAJvUNhfKclHQ==} dev: true + /@modern-js/tsconfig@2.49.1: + resolution: {integrity: sha512-YCKURT6xBcuIXWL2hgLaOpZ8NwUnoJtZN5PryLFDKE46L7Nz7qMhZo7s9h1rsyI42szjdtP3dB+FVCcoB6etKw==} + dev: true + + /@modern-js/tsconfig@2.49.3: + resolution: {integrity: sha512-uE15h9wnWWDsShxua8NxDDImYCa2gvw6R8WI7MI8+fJ0nw1Tp7drWbnPwf5ffi43gdNtgFPcqk+wMRe6htHXIg==} + dev: true + /@modern-js/types@2.46.1: resolution: {integrity: sha512-Z6eA3kc+raiTP+FgxItzxnQ7JV1gOEC63floqguL2PJrVJMz1BqfQqKeen0i7uDinjGI+G0A/2eIpJbkL6Wc1A==} + dev: true + + /@modern-js/types@2.49.1: + resolution: {integrity: sha512-wOk/2LyWCHTeZ6KjEq2F+gEhHQmWzp2hLzG9WVeFqCcitPS6Qwy/ivo3goYBAvFU9NHH7U0jXYvdT27LMA+hrg==} + + /@modern-js/types@2.49.3: + resolution: {integrity: sha512-Q++A4TqsJyB0dXuYkYd4kNzGs8XYrpB/on8MHrY6o1c8WnMPJaH2uZ/OXTaTA3/WZzaztxM0VC6gWjDsl1LXpQ==} + dev: true /@modern-js/uni-builder@2.46.1(@babel/traverse@7.24.1)(@swc/core@1.5.6)(@types/express@4.17.21)(esbuild@0.17.19)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4): resolution: {integrity: sha512-AK4G9ha1Vs9J65YNy0lI82/JlgkGo0HVXTcImMjGuMwZ/03qM1QvBonjm1VxowSe+r+NXMBt4WwpIHOjtGdQOw==} dependencies: - '@babel/core': 7.24.4 - '@babel/preset-react': 7.24.1(@babel/core@7.24.4) - '@babel/types': 7.24.0 + '@babel/core': 7.24.5 + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/types': 7.24.5 '@modern-js/prod-server': 2.46.1(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0) '@modern-js/server': 2.46.1(@babel/traverse@7.24.1)(@rsbuild/core@0.3.4)(@types/express@4.17.21)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1) '@modern-js/utils': 2.46.1 @@ -7198,7 +9886,7 @@ packages: '@rsbuild/shared': 0.3.4(@swc/helpers@0.5.3) '@rsbuild/webpack': 0.3.4(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19) '@swc/helpers': 0.5.3 - babel-loader: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0) + babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0) babel-plugin-import: 1.13.5 babel-plugin-styled-components: 1.13.3(styled-components@6.1.8) babel-plugin-transform-react-remove-prop-types: 0.4.24 @@ -7250,6 +9938,167 @@ packages: - webpack-plugin-serve dev: true + /@modern-js/uni-builder@2.49.1(@babel/traverse@7.24.5)(@rspack/core@0.5.8)(@swc/core@1.5.6)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4): + resolution: {integrity: sha512-+3/pX+FNUIG8YUOqGX6W8VUec+F0YluM+AS+jL+kMyM1GMo5dO/VRbwVPm8hpaoyypp5ivcoqOtxd8gJN13gsw==} + dependencies: + '@babel/core': 7.24.5 + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/types': 7.24.5 + '@modern-js/server': 2.49.1(@babel/traverse@7.24.5)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1) + '@modern-js/utils': 2.49.1 + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.14.0)(webpack@5.91.0) + '@rsbuild/babel-preset': 0.6.6 + '@rsbuild/core': 0.6.6 + '@rsbuild/plugin-assets-retry': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-babel': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-check-syntax': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-css-minimizer': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3)(esbuild@0.17.19)(webpack@5.91.0) + '@rsbuild/plugin-pug': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-react': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-rem': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-source-build': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-styled-components': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-svgr': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3)(typescript@5.0.4) + '@rsbuild/plugin-toml': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/plugin-type-check': 0.6.6(@rsbuild/core@0.6.6)(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19)(typescript@5.0.4) + '@rsbuild/plugin-yaml': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@rsbuild/webpack': 0.6.6(@rspack/core@0.5.8)(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19) + '@swc/helpers': 0.5.3 + babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0) + babel-plugin-import: 1.13.5 + babel-plugin-styled-components: 1.13.3(styled-components@6.1.8) + babel-plugin-transform-react-remove-prop-types: 0.4.24 + cssnano: 6.0.1(postcss@8.4.38) + glob: 9.3.5 + html-webpack-plugin: 5.5.3(webpack@5.91.0) + lodash: 4.17.21 + postcss: 8.4.38 + postcss-custom-properties: 13.1.5(postcss@8.4.38) + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.38) + postcss-font-variant: 5.0.0(postcss@8.4.38) + postcss-initial: 4.0.1(postcss@8.4.38) + postcss-media-minmax: 5.0.0(postcss@8.4.38) + postcss-nesting: 12.0.1(postcss@8.4.38) + postcss-page-break: 3.0.4(postcss@8.4.38) + react-refresh: 0.14.0 + rspack-manifest-plugin: 5.0.0-alpha0(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.5.6)(esbuild@0.17.19)(webpack@5.91.0) + ts-loader: 9.4.4(typescript@5.0.4)(webpack@5.91.0) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.5.3)(webpack@5.91.0) + transitivePeerDependencies: + - '@babel/traverse' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/webpack' + - bufferutil + - clean-css + - csso + - debug + - devcert + - esbuild + - lightningcss + - react + - react-dom + - sockjs-client + - styled-components + - supports-color + - ts-node + - tsconfig-paths + - type-fest + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@modern-js/uni-builder@2.49.3(@babel/traverse@7.24.5)(@rspack/core@0.5.8)(@swc/core@1.5.6)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4): + resolution: {integrity: sha512-OfnhNTLDODUDuut/4K2mWCwg+h4E2UlGT4apm/JXlWWDoWLi9iByHbXibTgFqZ7Fe0rdYJBAS/7hKb2ylIldNw==} + dependencies: + '@babel/core': 7.24.5 + '@babel/preset-react': 7.24.1(@babel/core@7.24.5) + '@babel/types': 7.24.5 + '@modern-js/prod-server': 2.49.3(react-dom@18.2.0)(react@18.2.0) + '@modern-js/server': 2.49.3(@babel/traverse@7.24.5)(react-dom@18.2.0)(react@18.2.0)(ts-node@10.9.1) + '@modern-js/utils': 2.49.3 + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.14.0)(webpack@5.91.0) + '@rsbuild/babel-preset': 0.6.11 + '@rsbuild/core': 0.6.11 + '@rsbuild/plugin-assets-retry': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-babel': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-check-syntax': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-css-minimizer': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3)(esbuild@0.17.19)(webpack@5.91.0) + '@rsbuild/plugin-pug': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-react': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-rem': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-source-build': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-styled-components': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-svgr': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3)(typescript@5.0.4) + '@rsbuild/plugin-toml': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/plugin-type-check': 0.6.11(@rsbuild/core@0.6.11)(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19)(typescript@5.0.4) + '@rsbuild/plugin-yaml': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@rsbuild/webpack': 0.6.11(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19) + '@swc/helpers': 0.5.3 + babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0) + babel-plugin-import: 1.13.5 + babel-plugin-styled-components: 1.13.3(styled-components@6.1.8) + babel-plugin-transform-react-remove-prop-types: 0.4.24 + cssnano: 6.0.1(postcss@8.4.38) + glob: 9.3.5 + html-webpack-plugin: 5.5.3(webpack@5.91.0) + lodash: 4.17.21 + postcss: 8.4.38 + postcss-custom-properties: 13.1.5(postcss@8.4.38) + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.38) + postcss-font-variant: 5.0.0(postcss@8.4.38) + postcss-initial: 4.0.1(postcss@8.4.38) + postcss-media-minmax: 5.0.0(postcss@8.4.38) + postcss-nesting: 12.0.1(postcss@8.4.38) + postcss-page-break: 3.0.4(postcss@8.4.38) + react-refresh: 0.14.0 + rspack-manifest-plugin: 5.0.0(@rspack/core@0.5.8) + terser-webpack-plugin: 5.3.10(@swc/core@1.5.6)(esbuild@0.17.19)(webpack@5.91.0) + ts-loader: 9.4.4(typescript@5.0.4)(webpack@5.91.0) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.5.3)(webpack@5.91.0) + transitivePeerDependencies: + - '@babel/traverse' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/webpack' + - bufferutil + - clean-css + - csso + - debug + - devcert + - esbuild + - lightningcss + - react + - react-dom + - sockjs-client + - styled-components + - supports-color + - ts-node + - tsconfig-paths + - type-fest + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + /@modern-js/upgrade@2.46.1: resolution: {integrity: sha512-2AKTIs6ceM8p4ON73idYfgnlOmf2COGVjN41FlST3MnbcfNpFIB1O2Ys6Zf0QHxqRB+FVkoqFzUfbeKaxb8yUg==} hasBin: true @@ -7266,9 +10115,10 @@ packages: resolution: {integrity: sha512-kV4N3JMfyl4pYJIPhtMTby7EOxid9Adq298Z9b2TbAb1EgzyiuDviOakzcks8jRAiesuI9sh7TFjLPniHdSQUA==} dependencies: '@swc/helpers': 0.5.3 - caniuse-lite: 1.0.30001609 + caniuse-lite: 1.0.30001613 lodash: 4.17.21 rslog: 1.2.1 + dev: true /@modern-js/utils@2.49.0: resolution: {integrity: sha512-WatsnUK7mp8PwkQKjApfoKTGJSzN66GKPJ9CujKrL8sJDSPHAWDKoDgmXvVZ09OWs7Vgcf8lq4bHL1NQ75Bh1g==} @@ -7279,6 +10129,22 @@ packages: rslog: 1.2.1 dev: false + /@modern-js/utils@2.49.1: + resolution: {integrity: sha512-ABvjx0ljSkx6cm4THM7c1V8Fd8AiaLMbrqxK2QyWJPLFcJKIWkNWgz7VetNkx5EILX6JD4XLQk8T1WybD9FUOQ==} + dependencies: + '@swc/helpers': 0.5.3 + caniuse-lite: 1.0.30001618 + lodash: 4.17.21 + rslog: 1.2.1 + + /@modern-js/utils@2.49.3: + resolution: {integrity: sha512-fs/sCxDjdHSf5WdH8sTsZ3yGiUC/dPQLHieiIAyWwWh1GQAcBxqLRVuebsPk/xNnbpukiKcW05a3xHznxLJvNw==} + dependencies: + '@swc/helpers': 0.5.3 + caniuse-lite: 1.0.30001618 + lodash: 4.17.21 + rslog: 1.2.1 + /@module-federation/runtime-tools@0.0.8: resolution: {integrity: sha512-tqx3wlVHnpWLk+vn22c0x9Nv1BqdZnoS6vdMb53IsVpbQIFP70nhhvymHUyFuPkoLzMFidS7GpG58DYT/4lvCw==} dependencies: @@ -7352,7 +10218,7 @@ packages: '@open-draft/until': 1.0.3 '@types/debug': 4.1.12 '@xmldom/xmldom': 0.8.10 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) headers-polyfill: 3.2.5 outvariant: 1.4.2 strict-event-emitter: 0.2.8 @@ -8600,7 +11466,7 @@ packages: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) babel-plugin-const-enum: 1.2.0(@babel/core@7.24.4) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4) chalk: 4.1.2 columnify: 1.6.0 detect-port: 1.5.1 @@ -8651,7 +11517,7 @@ packages: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.3.3) babel-plugin-const-enum: 1.2.0(@babel/core@7.24.4) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4) chalk: 4.1.2 columnify: 1.6.0 detect-port: 1.5.1 @@ -8702,7 +11568,7 @@ packages: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.0.4) babel-plugin-const-enum: 1.2.0(@babel/core@7.24.4) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4) chalk: 4.1.2 columnify: 1.6.0 detect-port: 1.5.1 @@ -8753,7 +11619,7 @@ packages: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.2.2) babel-plugin-const-enum: 1.2.0(@babel/core@7.24.4) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4) chalk: 4.1.2 columnify: 1.6.0 detect-port: 1.5.1 @@ -8804,7 +11670,7 @@ packages: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.2.2) babel-plugin-const-enum: 1.2.0(@babel/core@7.24.4) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4) chalk: 4.1.2 columnify: 1.6.0 detect-port: 1.5.1 @@ -8855,7 +11721,7 @@ packages: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.3.3) babel-plugin-const-enum: 1.2.0(@babel/core@7.24.4) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4) chalk: 4.1.2 columnify: 1.6.0 detect-port: 1.5.1 @@ -8906,7 +11772,7 @@ packages: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.3.3) babel-plugin-const-enum: 1.2.0(@babel/core@7.24.4) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.4) chalk: 4.1.2 columnify: 1.6.0 detect-port: 1.5.1 @@ -9470,7 +12336,7 @@ packages: enquirer: 2.3.6 less-loader: 11.1.0(less@4.2.0)(webpack@5.91.0) license-webpack-plugin: 4.0.2(webpack@5.91.0) - sass-loader: 12.6.0(sass@1.74.1)(webpack@5.91.0) + sass-loader: 12.6.0(webpack@5.91.0) stylus-loader: 7.1.3(stylus@0.63.0)(webpack@5.91.0) tsconfig-paths: 4.2.0 webpack-sources: 3.2.3 @@ -10880,19 +13746,21 @@ packages: cookie-signature: 1.2.1 source-map-support: 0.5.21 stream-slice: 0.1.2 + dev: true /@remix-run/router@1.10.0: resolution: {integrity: sha512-Lm+fYpMfZoEucJ7cMxgt4dYt8jLfbpwRCzAjm9UgSLOkmlqo9gupxt6YX3DY0Fk155NT9l17d/ydi+964uS9Lw==} engines: {node: '>=14.0.0'} + dev: true /@remix-run/router@1.15.0: resolution: {integrity: sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ==} engines: {node: '>=14.0.0'} - dev: false /@remix-run/router@1.7.2: resolution: {integrity: sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==} engines: {node: '>=14'} + dev: true /@remix-run/server-runtime@1.19.3: resolution: {integrity: sha512-KzQ+htUsKqpBgKE2tWo7kIIGy3MyHP58Io/itUPvV+weDjApwr9tQr9PZDPA3yAY6rAzLax7BU0NMSYCXWFY5A==} @@ -10904,12 +13772,14 @@ packages: cookie: 0.4.2 set-cookie-parser: 2.6.0 source-map: 0.7.4 + dev: true /@remix-run/web-blob@3.1.0: resolution: {integrity: sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==} dependencies: '@remix-run/web-stream': 1.1.0 web-encoding: 1.1.5 + dev: true /@remix-run/web-fetch@4.4.2: resolution: {integrity: sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==} @@ -10923,21 +13793,25 @@ packages: abort-controller: 3.0.0 data-uri-to-buffer: 3.0.1 mrmime: 1.0.1 + dev: true /@remix-run/web-file@3.1.0: resolution: {integrity: sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==} dependencies: '@remix-run/web-blob': 3.1.0 + dev: true /@remix-run/web-form-data@3.1.0: resolution: {integrity: sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==} dependencies: web-encoding: 1.1.5 + dev: true /@remix-run/web-stream@1.1.0: resolution: {integrity: sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==} dependencies: web-streams-polyfill: 3.3.3 + dev: true /@rollup/plugin-alias@5.1.0(rollup@2.79.1): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} @@ -11209,7 +14083,7 @@ packages: '@babel/preset-env': 7.24.4(@babel/core@7.24.4) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) '@babel/runtime': 7.24.4 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 '@rsbuild/plugin-babel': 0.3.4(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3) '@rsbuild/shared': 0.3.4(@swc/helpers@0.5.3) '@types/babel__core': 7.20.5 @@ -11233,7 +14107,7 @@ packages: '@babel/preset-env': 7.24.4(@babel/core@7.24.4) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) '@babel/runtime': 7.24.4 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 '@rsbuild/plugin-babel': 0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3) '@rsbuild/shared': 0.3.4(@swc/helpers@0.5.3) '@types/babel__core': 7.20.5 @@ -11245,6 +14119,46 @@ packages: - supports-color dev: true + /@rsbuild/babel-preset@0.6.11: + resolution: {integrity: sha512-istKyGbaEFFQVExZzndvlJRX1NLD6TWPbaDdNkNdVOJkV5PLSmDwKvNa48fUv146icrh++THG+IKtlJXyHv36g==} + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-partial-application': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-proposal-pipeline-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.5) + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@babel/runtime': 7.24.5 + '@babel/types': 7.24.5 + '@types/babel__core': 7.20.5 + babel-plugin-dynamic-import-node: 2.3.3 + core-js: 3.36.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@rsbuild/babel-preset@0.6.6: + resolution: {integrity: sha512-BOv72O4F4f7JHbk3JDzVLZFJlUSFhfldScXtfDWySczkgUpg48HbLPWekJOK6c0ItnWClwZGC8tdzGDmhgkCOg==} + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-partial-application': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-proposal-pipeline-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.5) + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@babel/runtime': 7.24.4 + '@babel/types': 7.24.5 + '@types/babel__core': 7.20.5 + babel-plugin-dynamic-import-node: 2.3.3 + core-js: 3.36.1 + transitivePeerDependencies: + - supports-color + dev: true + /@rsbuild/core@0.3.11: resolution: {integrity: sha512-nnjULj8IGyxIQqJZwaZAErXmUES0gVnCVTlcDKxExlMpvufnzhwn2jzgPepYUKsqgUD+BnvEyaV0MZJTPjpScg==} engines: {node: '>=14.0.0'} @@ -11284,6 +14198,32 @@ packages: postcss: 8.4.38 dev: false + /@rsbuild/core@0.6.11: + resolution: {integrity: sha512-dVNWvj40J1060kC+DsY+oti+1ozygDchLXswBTyHjSVIjgJ+ypXwWQIJRlGzGfNcIOtU2zPN6FVphCrzw6ZeJA==} + engines: {node: '>=16.0.0'} + hasBin: true + dependencies: + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@rspack/core': 0.6.3(@swc/helpers@0.5.3) + '@swc/helpers': 0.5.3 + core-js: 3.36.1 + html-webpack-plugin: /html-rspack-plugin@5.7.2(@rspack/core@0.6.3) + postcss: 8.4.38 + dev: true + + /@rsbuild/core@0.6.6: + resolution: {integrity: sha512-gZeWzVlbRap2LkI7G5twrykxBsiy8sT4UspV7Lj4+tkV+67/Y3HCGV5YL4LPMsbHk/cRyiTvkkb+x4YaKdj96w==} + engines: {node: '>=16.0.0'} + hasBin: true + dependencies: + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@rspack/core': 0.6.3(@swc/helpers@0.5.3) + '@swc/helpers': 0.5.3 + core-js: 3.36.1 + html-webpack-plugin: /html-rspack-plugin@5.6.2(@rspack/core@0.6.3) + postcss: 8.4.38 + dev: true + /@rsbuild/core@0.6.7: resolution: {integrity: sha512-bHXBy2wP9M5n/hqhAYye2FLkIME7KGhK98AKE3ieQJ9fMiwLRR+9Ml5AldMpP6Kfwgy0xmT6iUc1o2a2iPXahQ==} engines: {node: '>=16.0.0'} @@ -11306,6 +14246,24 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/monorepo-utils@0.6.11(@swc/helpers@0.5.3): + resolution: {integrity: sha512-FF21ggfzDrCnCqp92HkKQiuRjAC2qKKLtfYhaxjYKPhnhW84Xt9AMhXzqvjBpxgSSDkg7qPMuEwDIxZXbTQwUg==} + dependencies: + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + fast-glob: 3.3.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/monorepo-utils@0.6.6(@swc/helpers@0.5.3): + resolution: {integrity: sha512-bb9JUGe3gh/tbRi15dRCHy9V6nkQlS3bef/iC4ao8utFJnFqhK8jquTVpVM5hy/PddtlwTivi5zuTLpQyQ5MVQ==} + dependencies: + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + fast-glob: 3.3.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-assets-retry@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-tJt1w2u17ovIMriU1m7+3xRHEsznjB5YWkG7m0NQgKYwUdfLT9hyU+PdcFiY2KdC36t2M2Ntz2XRYhV+KKzqXg==} peerDependencies: @@ -11318,13 +14276,37 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-assets-retry@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-42H07FH3uHcqvIGsTxDkt6yQCR0WIMupq9eM1THAk7GUSllKt9H1YnERyU4caPIV1JlqbapPwMiyCtQrnjKWDQ==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + serialize-javascript: 6.0.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-assets-retry@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-2S7Iw/BceKukw3AL4SOJti9sqNlvw8TfqSeCwaLuGhFWJi7afPwxbcIzlCUmHHRCfrQN81mdT81XyyyGK58AiQ==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + serialize-javascript: 6.0.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-babel@0.3.4(@rsbuild/core@0.3.11)(@swc/helpers@0.5.3): resolution: {integrity: sha512-N6frB1R9mK1K/leaA73eNF2Vo9hy4B1i4+CGFUCbP4msS0DGasAlZ1fUlNWvCi7a07Q9R2QbWc38RG1yRyKYBw==} peerDependencies: '@rsbuild/core': ^0.3.4 dependencies: - '@babel/core': 7.24.4 - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) '@rsbuild/core': 0.3.11 '@rsbuild/shared': 0.3.4(@swc/helpers@0.5.3) '@types/babel__core': 7.20.5 @@ -11339,8 +14321,8 @@ packages: peerDependencies: '@rsbuild/core': ^0.3.4 dependencies: - '@babel/core': 7.24.4 - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) '@rsbuild/core': 0.3.4 '@rsbuild/shared': 0.3.4(@swc/helpers@0.5.3) '@types/babel__core': 7.20.5 @@ -11350,6 +14332,42 @@ packages: - supports-color dev: true + /@rsbuild/plugin-babel@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-sRFHg11hzW9rDxsdAKUziRbjRf9e3zlet1+X1z96fvd3ibl4icwMbP04Y1+gtoDREydb1ykI5QbioIBvUVnfiQ==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@types/babel__core': 7.20.5 + upath: 2.0.1 + transitivePeerDependencies: + - '@swc/helpers' + - supports-color + dev: true + + /@rsbuild/plugin-babel@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-ij1SMA35A4Rzd/M0V6AGkZMm/ojumCxq1rbCj4ge04sBwnjtKXwNgmAM98xtmGO84ZgBuB0aymbd34QzfaQ0zQ==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@types/babel__core': 7.20.5 + upath: 2.0.1 + transitivePeerDependencies: + - '@swc/helpers' + - supports-color + dev: true + /@rsbuild/plugin-check-syntax@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-8K13olafanPrrN6SubefdW+FzXKA480wWzd8NHgDDO+KBJGQKStRI84yVt3xSBtp1PfJbMXzZmAOQoQRLOW7WA==} peerDependencies: @@ -11358,13 +14376,41 @@ packages: '@rsbuild/core': 0.3.4 '@rsbuild/shared': 0.3.4(@swc/helpers@0.5.3) acorn: 8.11.3 - caniuse-lite: 1.0.30001613 + caniuse-lite: 1.0.30001618 htmlparser2: 9.0.0 source-map: 0.7.4 transitivePeerDependencies: - '@swc/helpers' dev: true + /@rsbuild/plugin-check-syntax@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-AUZVq7Ur1edb5UDoQQjB44WaKdRS55RkcREe5UWUZWThupNR90w92Cyv/fp2SpRommiutni6yodOklFiCcEhbg==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + acorn: 8.11.3 + htmlparser2: 9.1.0 + source-map: 0.7.4 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-check-syntax@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-NeDMopIZptXyq7ppSFh90WWK8xnx62iQckhKf4Vwm0xjOO4Ftpje5ZcjrNIRW8NhLQpdIOA/i5exZ0VUTBYhDg==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + acorn: 8.11.3 + htmlparser2: 9.1.0 + source-map: 0.7.4 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-css-minimizer@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3)(esbuild@0.17.19)(webpack@5.91.0): resolution: {integrity: sha512-gJLj3f8W4TSjDzo8bvW9VVeai2g5QqXT0WDyKjqWp/0XRbseOqWJu5lJPOnyaGcul3qAFSuKgUUon2z1HoEBhA==} peerDependencies: @@ -11384,8 +14430,47 @@ packages: - webpack dev: true + /@rsbuild/plugin-css-minimizer@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3)(esbuild@0.17.19)(webpack@5.91.0): + resolution: {integrity: sha512-RSVnSqi15AOxdiNd82wIxlO/x4fTdrkT3OMiRrzZ0k+Y0Hp5foKQ4YaTJsUYgd80o1+tiBFKxgn/yOTTpoIvPA==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + css-minimizer-webpack-plugin: 5.0.1(esbuild@0.17.19)(webpack@5.91.0) + transitivePeerDependencies: + - '@parcel/css' + - '@swc/css' + - '@swc/helpers' + - clean-css + - csso + - esbuild + - lightningcss + - webpack + dev: true + + /@rsbuild/plugin-css-minimizer@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3)(esbuild@0.17.19)(webpack@5.91.0): + resolution: {integrity: sha512-gh30bgnbXQTkalmtEFirpGLo8d1dwreplc3gTS4dbI9Y85Z/Wgkfz53qlbv38iWQjpD3Wd00TB1NUVMbd08RDg==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + css-minimizer-webpack-plugin: 5.0.1(esbuild@0.17.19)(webpack@5.91.0) + transitivePeerDependencies: + - '@parcel/css' + - '@swc/css' + - '@swc/helpers' + - clean-css + - csso + - esbuild + - lightningcss + - webpack + dev: true + /@rsbuild/plugin-esbuild@0.3.4(@rsbuild/core@0.3.11)(@swc/core@1.5.6)(@swc/helpers@0.5.3): resolution: {integrity: sha512-+fNDEtLRlY5hZ9Iv63WFk5KIMFGhZsGLuI7fqcmQRSClebifQ267YQFvwtGNMOraOIqxiFElmhxHdjIDHJYEUA==} + deprecated: deprecated peerDependencies: '@rsbuild/core': ^0.3.4 dependencies: @@ -11412,6 +14497,74 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-node-polyfill@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-DqDicSUPRcEl51VIi5+kQ/0DD0+yogz+QckdUsTDSXhPpIunhtRO2d7H7pt3T62BU5m1WuuC4JPCmV+nLzFolw==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + assert: 2.1.0 + browserify-zlib: 0.2.0 + buffer: 5.7.1 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.0 + domain-browser: 5.7.0 + events: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 1.0.1 + process: 0.11.10 + punycode: 2.3.1 + querystring-es3: 0.2.1 + readable-stream: 4.5.2 + stream-browserify: 3.0.0 + stream-http: 3.2.0 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.1 + url: 0.11.3 + util: 0.12.5 + vm-browserify: 1.1.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-node-polyfill@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-aJOTRLe1IxHYIuPfAiQOb/LUejxXqoxv1dHHIN3ezFjb12J9K9OLD29ZbfX91z9oyQC9FiV484n7QqzJDYXojQ==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + assert: 2.1.0 + browserify-zlib: 0.2.0 + buffer: 5.7.1 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.0 + domain-browser: 5.7.0 + events: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 1.0.1 + process: 0.11.10 + punycode: 2.3.1 + querystring-es3: 0.2.1 + readable-stream: 4.5.2 + stream-browserify: 3.0.0 + stream-http: 3.2.0 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.1 + url: 0.11.3 + util: 0.12.5 + vm-browserify: 1.1.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-pug@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-sUyF3b3K9ZLvoMQuYeN3NI+zz2IlNqaPRWLNFr8LHzTKx52DnM8OxKpQsmTs2oNq4YxCIp1o/wSvCMmE5ftzDA==} peerDependencies: @@ -11425,6 +14578,32 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-pug@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-uHXeiSxgGFignj3z2SvkLNK4HAULE4ZXfkr6l6fB8rKLPgtTNxa26R/j+/0+jZn8cOFe8TKEIREBiJh6lvNvMg==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@types/pug': 2.0.10 + pug: 3.0.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-pug@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-H/I1GQ0DmaHNoHdUlUgWp6po9GNWC2lt5PPKbsIoKiA/rcK7pft2vkhO0QoxCPBOz1a1YyK215tRslc0JBeRkg==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@types/pug': 2.0.10 + pug: 3.0.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-react@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-vbdZUj1KApKWklTuUAkY+bevucbejsnn+v6BBhYGk37j5SvhTY/uNBpZBcuBl7EX/1xnOaHLy91wqFOKhSxgkw==} peerDependencies: @@ -11451,6 +14630,32 @@ packages: - '@swc/helpers' dev: false + /@rsbuild/plugin-react@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-GdIc7NQpiZP983czgzt1N3uHYCnKP7Jo8AaDRrtdT1ijKRGd8SDEc3Ov42eJFKjfcd4DGeb0lG8zIn23u0iLlg==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@rspack/plugin-react-refresh': 0.6.3(react-refresh@0.14.2) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-react@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-cblNNu4rjER3b/lQGH1Fa7NFVRT0M0b7aJkaMPEl2GA7ra8446zeOP5i0m8D25Pyd6tJ2QiMeFShE1d/G/FJpA==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@rspack/plugin-react-refresh': 0.6.3(react-refresh@0.14.0) + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-react@0.6.7(@rsbuild/core@0.6.7)(@swc/helpers@0.5.3): resolution: {integrity: sha512-EBz442DUH1D/6ZhLwMeZPgAyVc15RdoYuzrJIf8sot9VC3oS9CJ1i8SjnIKrKjqvkyLMYr4Mw5nkUmuAJq9dpQ==} peerDependencies: @@ -11476,6 +14681,30 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-rem@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-a7lWDB00hPxbFzg4Q0oqvWoKBVvgB09FHAgU+KrvpkHizN3gA4jdiJhkRnJDtMv9xnve80HorCg/ryvS/DUhtQ==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + terser: 5.31.0 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-rem@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-iAqUjJfUarXclhsixkkG8Ne3rRZZNkokNvxY44VuazzA2mKZsy8NAzE1CMgPBL40sRE1zHdHMarIfrssNWTNig==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + terser: 5.30.3 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-source-build@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-ARazIJpqYU/gQlfsUzchI9PvnDlhUK0+vz0ub/7aURvqPwBe0LpmWf5+9PHofg6oxWmMcZgl66gwnospMmjGnQ==} peerDependencies: @@ -11488,6 +14717,30 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-source-build@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-Kq6zw8sBAwhtW+iIi/lNDLgXS6ZFpVej7wO3ByrpPpUKYUAo/7Ggec32thn3ittxPhJBw3bEfp/R2/Wee1UzuA==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/monorepo-utils': 0.6.11(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-source-build@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-/5/xX1Q4GqKQChnP+4KLCN+65tMsdUbiNn890WMPBDoPN2B/SJ0zKykcxXYSZUwg6aMl2rh/5phFIm6Ej0TR+w==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/monorepo-utils': 0.6.6(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-styled-components@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-PIyRMHl/N+yYQOvio1Kyh76y1YKzFzI4T2m4+qXJz6oKYKOq4WaRKP6whyXDdSKtIBmo73r06wOGJy3YyrcjNg==} peerDependencies: @@ -11499,6 +14752,28 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-styled-components@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-1xH27oPVUlfKyVCGaBzNFBp7GhtBvDqnsoaYt1+xqeFzDrn4qjaQkwyJlGzdzJIVT5UOa5DFKv2gW07ZwBUZeA==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-styled-components@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-h3Y6omKRqXiRddR2IJ5TFMhKeZkgu2xpgHuLRXYMNbe46x3cAIvcp3wI+uZeO8P0CqVS0sx/6sg4yl4pWemQug==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-svgr@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3)(typescript@5.0.4): resolution: {integrity: sha512-sOxLBux+zZ4oZBMAL/CTdGkfobXTsONEmFXWmE/aPIj3jDuoZri+HPgVK5sOT+iqU7o+LMfp+bjxO103TB2dZw==} peerDependencies: @@ -11516,6 +14791,40 @@ packages: - typescript dev: true + /@rsbuild/plugin-svgr@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3)(typescript@5.0.4): + resolution: {integrity: sha512-euS2keGXNKe+ljF2kungk1+onoT8U0BFV/IdhZPgoW6c/8zX2SAy2UANCpeg8dac6NEOiAOLuVrSLdtSGYWkqQ==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/plugin-react': 0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + '@svgr/core': 8.1.0(typescript@5.0.4) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.0.4) + transitivePeerDependencies: + - '@swc/helpers' + - supports-color + - typescript + dev: true + + /@rsbuild/plugin-svgr@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3)(typescript@5.0.4): + resolution: {integrity: sha512-WNLGYkWM7QcthAb58JJHkiQeAXk4jGTx+fBxiFu6gByZr/J3nvz6iQfZ2XBVX1aaNNZqZeLg/0QcgoZBR9vMGA==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/plugin-react': 0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + '@svgr/core': 8.1.0(typescript@5.0.4) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.0.4) + transitivePeerDependencies: + - '@swc/helpers' + - supports-color + - typescript + dev: true + /@rsbuild/plugin-toml@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-TB1QqiFMxvBZuX6bk3ZSycjnBt043yyAaOp0oIw4RtPirsQKZvsCy+i1lL7QvRKeZVddJKiqT9n/+KvkBotpeA==} peerDependencies: @@ -11527,6 +14836,30 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-toml@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-xTUUAIyQjq7Yn0ADl6gzTdxyCQIjOui1SCnBrUzdl5CvPbC8CZG7VYD64gWJx6InHCeNJlYkQ22Wx6+4IeBpyQ==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + toml: 3.0.0 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-toml@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-Nys70zy7H2yRnAcCI9sRo3Zt3adzV/l1qTaWGJQSnUUpTfabI8q+IOyJgILFPQYulkhrN7zW1NjjEIuPNNDFYw==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + toml: 3.0.0 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/plugin-type-check@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3)(typescript@5.0.4)(webpack@5.91.0): resolution: {integrity: sha512-ww5LLmKNlIQO5o4BIvJazZnO3/LLWN1XS/NRTkUDK5Zzo47uAAaqwdYPZvWw6PDtVL4wH0NWKUJBrtBP+i++Dw==} peerDependencies: @@ -11541,6 +14874,42 @@ packages: - webpack dev: true + /@rsbuild/plugin-type-check@0.6.11(@rsbuild/core@0.6.11)(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19)(typescript@5.0.4): + resolution: {integrity: sha512-x4oTvVaKA23DS3tOg67JsUjB1qLsq8IrBlgvPZOIsiWGFRJdaXkbrYU504u9grcf1ivGflVFNCjT86C/BD6Bhg==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.0.4)(webpack@5.91.0) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + transitivePeerDependencies: + - '@swc/core' + - '@swc/helpers' + - esbuild + - typescript + - uglify-js + - webpack-cli + dev: true + + /@rsbuild/plugin-type-check@0.6.6(@rsbuild/core@0.6.6)(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19)(typescript@5.0.4): + resolution: {integrity: sha512-8QuWzDC0D8cmVEZ+zD3zjAyO09kHkyQaipY0eeAPc7nKS7dz2kUaB/pBWFwYKQLBHs3aoUeGV4ARixhBbqGq2w==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.0.4)(webpack@5.91.0) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + transitivePeerDependencies: + - '@swc/core' + - '@swc/helpers' + - esbuild + - typescript + - uglify-js + - webpack-cli + dev: true + /@rsbuild/plugin-yaml@0.3.4(@rsbuild/core@0.3.4)(@swc/helpers@0.5.3): resolution: {integrity: sha512-KV7Kc9USPlvUqAG4uyYU+yI25XoDnp+rJPL478P7nOSamiNV1vHKmMQqIelzCVULec1L4cxxkWEf4Lnu8Atovw==} peerDependencies: @@ -11552,11 +14921,33 @@ packages: - '@swc/helpers' dev: true + /@rsbuild/plugin-yaml@0.6.11(@rsbuild/core@0.6.11)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-ERk1ATAi9sFmAhTnwR9zvTSKQzhdD/zFSfEE2ReLSIuWoChQ873BoaesdMLvlo8O8vNbCRc7mFe+pQpjt8Ce7g==} + peerDependencies: + '@rsbuild/core': ^0.6.11 + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/plugin-yaml@0.6.6(@rsbuild/core@0.6.6)(@swc/helpers@0.5.3): + resolution: {integrity: sha512-9dbx6ZNMDJCgD76ywYhZKsbBgsXF74SJr7XLmhROydERervJ6q4LtvCF8w+YUdegUNnPfcQEe3BnaXbOm37b/g==} + peerDependencies: + '@rsbuild/core': ^0.6.6 + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/shared@0.3.11(@swc/helpers@0.5.3): resolution: {integrity: sha512-PjjrUe1mstoy7N7A6Xr1i5sAKSGPfNay/cEbRt3SBvdYPOsK87TLE6DS9WtViSp8QYHh97cgJ6z1ufuluElDDw==} dependencies: '@rspack/core': 0.5.3(@swc/helpers@0.5.3) - caniuse-lite: 1.0.30001613 + caniuse-lite: 1.0.30001618 lodash: 4.17.21 postcss: 8.4.38 transitivePeerDependencies: @@ -11567,7 +14958,7 @@ packages: resolution: {integrity: sha512-rvm+B2pGHsRSW3LiqPzOnyg/PQMNZsrX2QvuZLUovuF3DpvzKJoBsrj0ih1c0ymlIEitEcoBqiJbQUVQI3iDUQ==} dependencies: '@rspack/core': 0.5.0(@swc/helpers@0.5.3) - caniuse-lite: 1.0.30001609 + caniuse-lite: 1.0.30001613 lodash: 4.17.21 postcss: 8.4.38 transitivePeerDependencies: @@ -11584,6 +14975,28 @@ packages: - '@swc/helpers' dev: false + /@rsbuild/shared@0.6.11(@swc/helpers@0.5.3): + resolution: {integrity: sha512-MVDcwh9vvmpclSwNby37wCYMY9J1xjhoPHwRzz/19tdD7dlKrWh5ARrvUsidIGSvXxarrc0CztCvpvUomQinCQ==} + dependencies: + '@rspack/core': 0.6.3(@swc/helpers@0.5.3) + caniuse-lite: 1.0.30001618 + postcss: 8.4.38 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + + /@rsbuild/shared@0.6.6(@swc/helpers@0.5.3): + resolution: {integrity: sha512-2aGqrIVqA7rAcEGd1FZSQAlrrVCaGl7rwVE84DH+YDSXYV6fYQr9sI9KQ5yQWNnse1pA2LKdDDgWKKfmF2PZCg==} + dependencies: + '@rspack/core': 0.6.3(@swc/helpers@0.5.3) + caniuse-lite: 1.0.30001618 + postcss: 8.4.38 + transitivePeerDependencies: + - '@swc/helpers' + dev: true + /@rsbuild/shared@0.6.7(@swc/helpers@0.5.3): resolution: {integrity: sha512-k4l6APgu8+E+5WEInYYY1uInia1fRuIK4AdgUKqfLv3tN/3WWnQbBCHrIxHxWRy0YzCNid9W3CHk99rDihcPEQ==} dependencies: @@ -11615,6 +15028,46 @@ packages: - webpack-cli dev: true + /@rsbuild/webpack@0.6.11(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19): + resolution: {integrity: sha512-1qANj93nNOamZ9LVBNMdCwkA8w70aFyeCk6L8nFuCw7yWPaVDyJ86Rg9Kio14tUZnd+FoWALq6k0AX3W14kElg==} + dependencies: + '@rsbuild/core': 0.6.11 + '@rsbuild/shared': 0.6.11(@swc/helpers@0.5.3) + fast-glob: 3.3.2 + globby: 11.1.0 + mini-css-extract-plugin: 2.8.1(webpack@5.91.0) + postcss: 8.4.38 + tsconfig-paths-webpack-plugin: 4.1.0 + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + transitivePeerDependencies: + - '@swc/core' + - '@swc/helpers' + - esbuild + - uglify-js + - webpack-cli + dev: true + + /@rsbuild/webpack@0.6.6(@rspack/core@0.5.8)(@swc/core@1.5.6)(@swc/helpers@0.5.3)(esbuild@0.17.19): + resolution: {integrity: sha512-9kgr+vqikj4CB4HuVgOapNHTBx/0ObyMqV6W/feJmyC9k/eBrJc6aLGkK6X5sJgu97dHx65L9OxLeOdxrOPMCg==} + dependencies: + '@rsbuild/core': 0.6.6 + '@rsbuild/shared': 0.6.6(@swc/helpers@0.5.3) + fast-glob: 3.3.2 + globby: 11.1.0 + html-webpack-plugin: /html-rspack-plugin@5.6.2(@rspack/core@0.5.8) + mini-css-extract-plugin: 2.8.1(webpack@5.91.0) + postcss: 8.4.38 + tsconfig-paths-webpack-plugin: 4.1.0 + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + transitivePeerDependencies: + - '@rspack/core' + - '@swc/core' + - '@swc/helpers' + - esbuild + - uglify-js + - webpack-cli + dev: true + /@rspack/binding-darwin-arm64@0.5.0: resolution: {integrity: sha512-zRx4efhn2eCjdhHt6avhdkKur6FZvYy1TgPhNKpWbTg7fnrvtNGzcVQCAOnPUUPkJjnss3veOhZlWJ3paX0EDQ==} cpu: [arm64] @@ -12250,6 +15703,17 @@ packages: react-refresh: 0.14.0 dev: true + /@rspack/plugin-react-refresh@0.6.3(react-refresh@0.14.2): + resolution: {integrity: sha512-/IllQJlB1tXzBkDx/uGVvGRy3E/PXfU8RH4Uaa6Sxrj8Kk2ztIz+Yb1qnj4jjCbGmbYWp/+R0+QWqGROAhId9A==} + peerDependencies: + react-refresh: '>=0.10.0 <1.0.0' + peerDependenciesMeta: + react-refresh: + optional: true + dependencies: + react-refresh: 0.14.2 + dev: true + /@rspress/core@1.18.4(@swc/helpers@0.5.3)(webpack@5.91.0): resolution: {integrity: sha512-tBdqNPud1/jNj5KPoIs5WyXB9vbBn3S7AlBeS3kK4QUQk8AK0q+1+LpzASnL36Y8KY+hbvsl+chGHiRZlg6IVw==} engines: {node: '>=14.17.6'} @@ -12506,7 +15970,7 @@ packages: conventional-changelog-angular: 7.0.0 conventional-commits-filter: 4.0.0 conventional-commits-parser: 5.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) import-from-esm: 1.3.3 lodash-es: 4.17.21 micromatch: 4.0.5 @@ -12533,7 +15997,7 @@ packages: dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) execa: 5.1.1 lodash: 4.17.21 parse-json: 5.2.0 @@ -12550,7 +16014,7 @@ packages: dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) dir-glob: 3.0.1 execa: 5.1.1 lodash: 4.17.21 @@ -12573,7 +16037,7 @@ packages: '@octokit/plugin-throttling': 9.1.0(@octokit/core@6.1.1) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) dir-glob: 3.0.1 globby: 14.0.1 http-proxy-agent: 7.0.2 @@ -12600,7 +16064,7 @@ packages: '@octokit/plugin-throttling': 8.2.0(@octokit/core@5.1.0) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) dir-glob: 3.0.1 globby: 14.0.1 http-proxy-agent: 7.0.2 @@ -12669,7 +16133,7 @@ packages: conventional-changelog-writer: 7.0.1 conventional-commits-filter: 4.0.0 conventional-commits-parser: 5.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) get-stream: 7.0.1 import-from-esm: 1.3.3 into-stream: 7.0.0 @@ -13094,9 +16558,9 @@ packages: resolution: {integrity: sha512-2zlCyX4m1Jb3p+P/Z+7ioa7cXA+Sv+j0JevUWaaVZbBLrjj/G2k5bYzgrks0FhQZ6MLv5bkuZPGtJMgWQ8+c3Q==} hasBin: true dependencies: - '@babel/core': 7.24.4 - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) - '@babel/types': 7.24.0 + '@babel/core': 7.24.5 + '@babel/preset-env': 7.24.4(@babel/core@7.24.5) + '@babel/types': 7.24.5 '@ndelangen/get-tarball': 3.0.9 '@storybook/codemod': 7.6.18 '@storybook/core-common': 7.6.18(encoding@0.1.13) @@ -13193,9 +16657,9 @@ packages: /@storybook/codemod@7.6.18: resolution: {integrity: sha512-XV9/oZYctRKQzllqjwcH17Fys91cmaL+/Vy9aJmpnv/+yNFUdvsyrjqEGfVpl5c00/Ge3ueP+y7YhLYSjTezUg==} dependencies: - '@babel/core': 7.24.4 - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) - '@babel/types': 7.24.0 + '@babel/core': 7.24.5 + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/types': 7.24.5 '@storybook/csf': 0.1.3 '@storybook/csf-tools': 7.6.18 '@storybook/node-logger': 7.6.18 @@ -13203,7 +16667,7 @@ packages: '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 globby: 11.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.24.4) + jscodeshift: 0.15.2(@babel/preset-env@7.24.5) lodash: 4.17.21 prettier: 2.8.8 recast: 0.23.6 @@ -13575,9 +17039,9 @@ packages: resolution: {integrity: sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==} dependencies: '@babel/generator': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/traverse': 7.24.1(supports-color@5.5.0) - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 '@storybook/csf': 0.1.3 '@storybook/types': 7.6.17 fs-extra: 11.2.0 @@ -13590,10 +17054,10 @@ packages: /@storybook/csf-tools@7.6.18: resolution: {integrity: sha512-ngRNHEtLJv6vMlqCeJaG8dh1CwtCaGCHi7xuS+b71Y97xXLJlA6RR9rhsMG6bDwMJR+xiIqKUc6HH3ZBSVVhiA==} dependencies: - '@babel/generator': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/traverse': 7.24.1(supports-color@5.5.0) - '@babel/types': 7.24.0 + '@babel/generator': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 '@storybook/csf': 0.1.3 '@storybook/types': 7.6.18 fs-extra: 11.2.0 @@ -13836,7 +17300,7 @@ packages: typescript: '>= 4.x' webpack: '>= 4' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -14107,6 +17571,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.5): + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} @@ -14116,6 +17589,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.5): + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} @@ -14125,6 +17607,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.5): + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} engines: {node: '>=14'} @@ -14134,6 +17625,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.5): + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} engines: {node: '>=14'} @@ -14143,6 +17643,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.5): + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} engines: {node: '>=14'} @@ -14152,6 +17661,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.5): + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.4): resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} engines: {node: '>=14'} @@ -14161,6 +17679,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.5): + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} engines: {node: '>=12'} @@ -14170,6 +17697,15 @@ packages: '@babel/core': 7.24.4 dev: true + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.5): + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@svgr/babel-preset@8.1.0(@babel/core@7.24.4): resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} engines: {node: '>=14'} @@ -14187,6 +17723,23 @@ packages: '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.4) dev: true + /@svgr/babel-preset@8.1.0(@babel/core@7.24.5): + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.5) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.5) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.5) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.5) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.5) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.5) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.5) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.5) + dev: true + /@svgr/core@8.1.0(typescript@5.0.4): resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} engines: {node: '>=14'} @@ -14219,7 +17772,7 @@ packages: resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} engines: {node: '>=14'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 entities: 4.5.0 dev: true @@ -14229,9 +17782,9 @@ packages: peerDependencies: '@svgr/core': '*' dependencies: - '@babel/core': 7.24.4 - '@svgr/babel-preset': 8.1.0(@babel/core@7.24.4) - '@svgr/core': 8.1.0(typescript@5.3.3) + '@babel/core': 7.24.5 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.5) + '@svgr/core': 8.1.0(typescript@5.0.4) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: @@ -14321,7 +17874,7 @@ packages: '@swc-node/sourcemap-support': 0.3.0 '@swc/core': 1.5.6(@swc/helpers@0.5.3) colorette: 2.0.20 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) pirates: 4.0.6 tslib: 2.6.2 typescript: 5.3.3 @@ -14598,8 +18151,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.5 @@ -14608,20 +18161,20 @@ packages: /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 dev: true /@types/babel__traverse@7.20.5: resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: true /@types/body-parser@1.19.5: @@ -14675,6 +18228,7 @@ packages: /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + dev: true /@types/cookies@0.9.0: resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==} @@ -15439,7 +18993,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.56.0)(typescript@5.0.4) '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.0.4) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -15468,7 +19022,7 @@ packages: '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -15493,7 +19047,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.0.4 transitivePeerDependencies: @@ -15514,7 +19068,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: @@ -15549,7 +19103,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4) '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.0.4) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 tsutils: 3.21.0(typescript@5.0.4) typescript: 5.0.4 @@ -15569,7 +19123,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 ts-api-utils: 1.3.0(typescript@5.3.3) typescript: 5.3.3 @@ -15598,7 +19152,7 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 @@ -15619,7 +19173,7 @@ packages: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -15703,7 +19257,7 @@ packages: dependencies: '@verdaccio/core': 7.0.0-next-7.10 '@verdaccio/utils': 7.0.0-next-7.10 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) js-yaml: 4.1.0 lodash: 4.17.21 minimatch: 7.4.6 @@ -15746,7 +19300,7 @@ packages: '@verdaccio/file-locking': 10.3.1 '@verdaccio/streams': 10.2.1 async: 3.2.4 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) lodash: 4.17.21 lowdb: 1.0.0 mkdirp: 1.0.4 @@ -15771,7 +19325,7 @@ packages: '@verdaccio/core': 7.0.0-next-7.10 '@verdaccio/logger-prettify': 7.0.0-next.1 colorette: 2.0.20 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -15795,7 +19349,7 @@ packages: '@verdaccio/core': 7.0.0-next-7.10 '@verdaccio/url': 12.0.0-next-7.10 '@verdaccio/utils': 7.0.0-next-7.10 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) express: 4.18.2 express-rate-limit: 5.5.1 lodash: 4.17.21 @@ -15814,7 +19368,7 @@ packages: resolution: {integrity: sha512-egs1VmEe+COUUZ83I6gzDy79Jo3b/AExPvp9EDuJHkmwxJj+9gb231Rv4wk+UoNPrQRNLljUepQwVrDmbqP5DQ==} engines: {node: '>=12'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) jsonwebtoken: 9.0.2 transitivePeerDependencies: - supports-color @@ -15832,7 +19386,7 @@ packages: '@verdaccio/core': 7.0.0-next-7.10 '@verdaccio/url': 12.0.0-next-7.10 '@verdaccio/utils': 7.0.0-next-7.10 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) lodash: 4.17.21 transitivePeerDependencies: - supports-color @@ -15847,7 +19401,7 @@ packages: engines: {node: '>=12'} dependencies: '@verdaccio/core': 7.0.0-next-7.10 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) lodash: 4.17.21 validator: 13.11.0 transitivePeerDependencies: @@ -15869,7 +19423,7 @@ packages: peerDependencies: vitest: ^1.0.0 dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 6.0.2 istanbul-lib-report: 3.0.1 @@ -15890,7 +19444,7 @@ packages: dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 @@ -15992,7 +19546,7 @@ packages: /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: - '@babel/parser': 7.24.4 + '@babel/parser': 7.24.5 '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 @@ -16026,8 +19580,54 @@ packages: /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + /@web-std/blob@3.0.5: + resolution: {integrity: sha512-Lm03qr0eT3PoLBuhkvFBLf0EFkAsNz/G/AYCzpOdi483aFaVX86b4iQs0OHhzHJfN5C15q17UtDbyABjlzM96A==} + dependencies: + '@web-std/stream': 1.0.0 + web-encoding: 1.1.5 + dev: true + + /@web-std/fetch@4.2.1: + resolution: {integrity: sha512-M6sgHDgKegcjuVsq8J6jb/4XvhPGui8uwp3EIoADGXUnBl9vKzKLk9H9iFzrPJ6fSV6zZzFWXPyziBJp9hxzBA==} + engines: {node: ^10.17 || >=12.3} + dependencies: + '@web-std/blob': 3.0.5 + '@web-std/file': 3.0.3 + '@web-std/form-data': 3.1.0 + '@web-std/stream': 1.0.3 + '@web3-storage/multipart-parser': 1.0.0 + abort-controller: 3.0.0 + data-uri-to-buffer: 3.0.1 + mrmime: 1.0.1 + dev: true + + /@web-std/file@3.0.3: + resolution: {integrity: sha512-X7YYyvEERBbaDfJeC9lBKC5Q5lIEWYCP1SNftJNwNH/VbFhdHm+3neKOQP+kWEYJmosbDFq+NEUG7+XIvet/Jw==} + dependencies: + '@web-std/blob': 3.0.5 + dev: true + + /@web-std/form-data@3.1.0: + resolution: {integrity: sha512-WkOrB8rnc2hEK2iVhDl9TFiPMptmxJA1HaIzSdc2/qk3XS4Ny4cCt6/V36U3XmoYKz0Md2YyK2uOZecoZWPAcA==} + dependencies: + web-encoding: 1.1.5 + dev: true + + /@web-std/stream@1.0.0: + resolution: {integrity: sha512-jyIbdVl+0ZJyKGTV0Ohb9E6UnxP+t7ZzX4Do3AHjZKxUXKMs9EmqnBDQgHF7bEw0EzbQygOjtt/7gvtmi//iCQ==} + dependencies: + web-streams-polyfill: 3.3.3 + dev: true + + /@web-std/stream@1.0.3: + resolution: {integrity: sha512-5MIngxWyq4rQiGoDAC2WhjLuDraW8+ff2LD2et4NRY933K3gL8CHlUXrh8ZZ3dC9A9Xaub8c9sl5exOJE58D9Q==} + dependencies: + web-streams-polyfill: 3.3.3 + dev: true + /@web3-storage/multipart-parser@1.0.0: resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} + dev: true /@webassemblyjs/ast@1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} @@ -16412,6 +20012,7 @@ packages: /@zxing/text-encoding@0.9.0: resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==} requiresBuild: true + dev: true optional: true /JSONStream@1.3.5: @@ -16432,6 +20033,7 @@ packages: engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 + dev: true /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -16517,7 +20119,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -16526,7 +20128,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -17275,12 +20877,12 @@ packages: resolution: {integrity: sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA==} dev: false - /babel-core@7.0.0-bridge.0(@babel/core@7.24.4): + /babel-core@7.0.0-bridge.0(@babel/core@7.24.5): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 dev: true /babel-jest@29.7.0(@babel/core@7.24.4): @@ -17344,6 +20946,19 @@ packages: webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) dev: true + /babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.91.0): + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + dependencies: + '@babel/core': 7.24.5 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + dev: true + /babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9): resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==} peerDependencies: @@ -17362,7 +20977,7 @@ packages: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) - '@babel/traverse': 7.24.1(supports-color@5.5.0) + '@babel/traverse': 7.24.1 transitivePeerDependencies: - supports-color dev: true @@ -17403,7 +21018,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.5 dev: true @@ -17438,6 +21053,19 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.5): + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs3@0.1.7(@babel/core@7.24.4): resolution: {integrity: sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==} peerDependencies: @@ -17462,6 +21090,18 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.5) + core-js-compat: 3.36.1 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: @@ -17473,6 +21113,17 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.5): + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.5) + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-styled-components@1.13.3(styled-components@6.1.8): resolution: {integrity: sha512-meGStRGv+VuKA/q0/jXxrPNWEm4LPfYIqxooDTdmh8kFsP/Ph7jJG5rUPwUPX3QHUvggwdbgdGpo88P/rRYsVw==} peerDependencies: @@ -17485,17 +21136,17 @@ packages: styled-components: 6.1.8(react-dom@18.2.0)(react@18.2.0) dev: true - /babel-plugin-styled-components@2.1.4(@babel/core@7.24.4)(styled-components@5.3.11): + /babel-plugin-styled-components@2.1.4(@babel/core@7.24.5)(styled-components@5.3.11): resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} peerDependencies: styled-components: '>= 2' dependencies: '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.24.3 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 5.3.11(@babel/core@7.24.4)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) transitivePeerDependencies: - '@babel/core' @@ -17511,7 +21162,7 @@ packages: resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} dev: true - /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.24.4)(@babel/traverse@7.24.1): + /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.24.4): resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==} peerDependencies: '@babel/core': ^7 @@ -17522,7 +21173,34 @@ packages: dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/traverse': 7.24.1(supports-color@5.5.0) + dev: true + + /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.24.5)(@babel/traverse@7.24.1): + resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==} + peerDependencies: + '@babel/core': ^7 + '@babel/traverse': ^7 + peerDependenciesMeta: + '@babel/traverse': + optional: true + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/traverse': 7.24.1 + dev: true + + /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.24.5)(@babel/traverse@7.24.5): + resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==} + peerDependencies: + '@babel/core': ^7 + '@babel/traverse': ^7 + peerDependenciesMeta: + '@babel/traverse': + optional: true + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/traverse': 7.24.5 dev: true /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): @@ -17545,6 +21223,26 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) dev: true + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + dev: true + /babel-preset-jest@29.6.3(@babel/core@7.24.4): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -17560,7 +21258,7 @@ packages: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: true /bail@1.0.5: @@ -18185,7 +21883,7 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001613 + caniuse-lite: 1.0.30001618 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true @@ -18195,10 +21893,14 @@ packages: /caniuse-lite@1.0.30001609: resolution: {integrity: sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==} + dev: true /caniuse-lite@1.0.30001613: resolution: {integrity: sha512-BNjJULJfOONQERivfxte7alLfeLW4QnwHvNW4wEcLEbXfV6VSCYvr+REbf2Sojv8tC1THpjPXBxWgDbq4NtLWg==} + /caniuse-lite@1.0.30001618: + resolution: {integrity: sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==} + /case-sensitive-paths-webpack-plugin@2.4.0: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} @@ -18919,8 +22621,8 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 dev: true /constants-browserify@1.0.0: @@ -19111,10 +22813,12 @@ packages: /cookie-signature@1.2.1: resolution: {integrity: sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==} engines: {node: '>=6.6.0'} + dev: true /cookie@0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} + dev: true /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} @@ -19180,7 +22884,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /copy-webpack-plugin@11.0.0(webpack@5.91.0): @@ -19534,7 +23238,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 semver: 7.6.0 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /css-minimizer-webpack-plugin@5.0.1(esbuild@0.17.19)(webpack@5.91.0): @@ -20129,6 +23833,7 @@ packages: /data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} + dev: true /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} @@ -20251,7 +23956,6 @@ packages: dependencies: ms: 2.1.2 supports-color: 8.1.1 - dev: true /debug@4.3.4(supports-color@9.3.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -20549,7 +24253,7 @@ packages: hasBin: true dependencies: address: 1.2.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -20669,6 +24373,11 @@ packages: engines: {node: '>=0.4', npm: '>=1.2'} dev: true + /domain-browser@5.7.0: + resolution: {integrity: sha512-edTFu0M/7wO1pXY6GDxVNVW086uqwWYIHP98txhcPyV995X21JIH2DtYp33sQJOupYoXKe9RwTw2Ya2vWaquTQ==} + engines: {node: '>=4'} + dev: true + /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} @@ -21147,12 +24856,23 @@ packages: resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==} dev: true + /esbuild-register@3.5.0(esbuild@0.17.19): + resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + peerDependencies: + esbuild: '>=0.12 <1' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + esbuild: 0.17.19 + transitivePeerDependencies: + - supports-color + dev: true + /esbuild-register@3.5.0(esbuild@0.18.20): resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) esbuild: 0.18.20 transitivePeerDependencies: - supports-color @@ -21404,7 +25124,7 @@ packages: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.56.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) @@ -21797,7 +25517,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -21877,8 +25597,8 @@ packages: resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==} engines: {node: '>=8.3.0'} dependencies: - '@babel/traverse': 7.24.1(supports-color@5.5.0) - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 c8: 7.14.0 transitivePeerDependencies: - supports-color @@ -21947,6 +25667,7 @@ packages: /event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} + dev: true /eventemitter2@6.4.7: resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} @@ -24045,6 +27766,11 @@ packages: dependencies: parse-passwd: 1.0.0 + /hono@3.12.12: + resolution: {integrity: sha512-5IAMJOXfpA5nT+K0MNjClchzz0IhBHs2Szl7WFAhrFOsbtQsYmNynFyJRg/a3IPsmCfxcrf8txUGiNShXpK5Rg==} + engines: {node: '>=16.0.0'} + dev: true + /hook-std@3.0.0: resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -24115,6 +27841,20 @@ packages: tapable: 2.2.1 dev: true + /html-rspack-plugin@5.6.2(@rspack/core@0.5.8): + resolution: {integrity: sha512-cPGwV3odvKJ7DBAG/DxF5e0nMMvBl1zGfyDciT2xMETRrIwajwC7LtEB3cf7auoGMK6xJOOLjWJgaKHLu/FzkQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + peerDependenciesMeta: + '@rspack/core': + optional: true + dependencies: + '@rspack/core': 0.5.8(@swc/helpers@0.5.3) + lodash: 4.17.21 + tapable: 2.2.1 + dev: true + /html-rspack-plugin@5.6.2(@rspack/core@0.6.1): resolution: {integrity: sha512-cPGwV3odvKJ7DBAG/DxF5e0nMMvBl1zGfyDciT2xMETRrIwajwC7LtEB3cf7auoGMK6xJOOLjWJgaKHLu/FzkQ==} engines: {node: '>=10.13.0'} @@ -24143,6 +27883,18 @@ packages: tapable: 2.2.1 dev: true + /html-rspack-plugin@5.7.2(@rspack/core@0.6.3): + resolution: {integrity: sha512-uVXGYq19bcsX7Q/53VqXQjCKXw0eUMHlFGDLTaqzgj/ckverfhZQvXyA6ecFBaF9XUH16jfCTCyALYi0lJcagg==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + peerDependenciesMeta: + '@rspack/core': + optional: true + dependencies: + '@rspack/core': 0.6.3(@swc/helpers@0.5.3) + dev: true + /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -24227,6 +27979,15 @@ packages: entities: 4.5.0 dev: true + /htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + /htmr@1.0.2(react@18.2.0): resolution: {integrity: sha512-7T9babEHZwECQ2/ouxNPow1uGcKbj/BcbslPGPRxBKIOLNiIrFKq6ELzor7mc4HiexZzdb3izQQLl16bhPR9jw==} peerDependencies: @@ -24299,7 +28060,7 @@ packages: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -24309,7 +28070,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -24401,7 +28162,7 @@ packages: engines: {node: '>= 6.0.0'} dependencies: agent-base: 5.1.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -24411,7 +28172,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -24421,7 +28182,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -24551,7 +28312,7 @@ packages: resolution: {integrity: sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==} engines: {node: '>=16.20'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) import-meta-resolve: 4.0.0 transitivePeerDependencies: - supports-color @@ -25385,7 +29146,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/parser': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -25419,7 +29180,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -25861,15 +29622,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@babel/generator': 7.24.4 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) - '@babel/types': 7.24.0 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) + '@babel/types': 7.24.5 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -26028,18 +29789,52 @@ packages: '@babel/preset-env': optional: true dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) - '@babel/preset-flow': 7.24.1(@babel/core@7.24.4) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) - '@babel/register': 7.23.7(@babel/core@7.24.4) - babel-core: 7.0.0-bridge.0(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5) + '@babel/preset-env': 7.24.4(@babel/core@7.24.5) + '@babel/preset-flow': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@babel/register': 7.23.7(@babel/core@7.24.5) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.5) + chalk: 4.1.2 + flow-parser: 0.235.1 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.23.6 + temp: 0.8.4 + write-file-atomic: 2.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /jscodeshift@0.15.2(@babel/preset-env@7.24.5): + resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} + hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 + peerDependenciesMeta: + '@babel/preset-env': + optional: true + dependencies: + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5) + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/preset-flow': 7.24.1(@babel/core@7.24.5) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) + '@babel/register': 7.23.7(@babel/core@7.24.5) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.5) chalk: 4.1.2 flow-parser: 0.235.1 graceful-fs: 4.2.11 @@ -26433,7 +30228,7 @@ packages: dependencies: klona: 2.0.6 less: 4.1.3 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /less-loader@11.1.0(less@4.2.0)(webpack@5.91.0): @@ -26511,7 +30306,7 @@ packages: webpack-sources: optional: true dependencies: - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) webpack-sources: 3.2.3 dev: true @@ -26840,7 +30635,7 @@ packages: engines: {node: '>=8.0'} dependencies: date-format: 4.0.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) flatted: 3.3.1 rfdc: 1.3.1 streamroller: 3.1.5 @@ -27705,7 +31500,7 @@ packages: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} dependencies: '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -27841,7 +31636,7 @@ packages: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /mini-css-extract-plugin@2.7.6(webpack@5.91.0): @@ -27864,6 +31659,17 @@ packages: webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) dev: true + /mini-css-extract-plugin@2.8.1(webpack@5.91.0): + resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.2.0 + tapable: 2.2.1 + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) + dev: true + /mini-svg-data-uri@1.4.4: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} hasBin: true @@ -28066,6 +31872,7 @@ packages: /mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} + dev: true /mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} @@ -30004,6 +33811,14 @@ packages: postcss: 8.4.38 dev: true + /postcss-flexbugs-fixes@5.0.2(postcss@8.4.38): + resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} + peerDependencies: + postcss: ^8.1.4 + dependencies: + postcss: 8.4.38 + dev: true + /postcss-font-variant@5.0.0(postcss@8.4.38): resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: @@ -30098,7 +33913,7 @@ packages: klona: 2.0.6 postcss: 8.4.38 semver: 7.6.0 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /postcss-media-minmax@5.0.0(postcss@8.4.38): @@ -31298,7 +35113,7 @@ packages: engines: {node: '>=8.16.0'} dependencies: '@types/mime-types': 2.1.4 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -32047,8 +35862,8 @@ packages: engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -32163,6 +35978,11 @@ packages: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} + /react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + dev: true + /react-remove-scroll-bar@2.3.6(@types/react@18.2.62)(react@18.2.0): resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} @@ -32209,6 +36029,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-router: 6.17.0(react@18.2.0) + dev: true /react-router-dom@6.22.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-z2w+M4tH5wlcLmH3BMMOMdrtrJ9T3oJJNsAlBJbwk+8Syxd5WFJ7J5dxMEW0/GEXD1BBis4uXRrNIz3mORr0ag==} @@ -32221,7 +36042,6 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-router: 6.22.0(react@18.2.0) - dev: false /react-router@6.17.0(react@18.2.0): resolution: {integrity: sha512-YJR3OTJzi3zhqeJYADHANCGPUu9J+6fT5GLv82UWRGSxu6oJYCKVmxUcaBQuGm9udpWmPsvpme/CdHumqgsoaA==} @@ -32231,6 +36051,7 @@ packages: dependencies: '@remix-run/router': 1.10.0 react: 18.2.0 + dev: true /react-router@6.22.0(react@18.2.0): resolution: {integrity: sha512-q2yemJeg6gw/YixRlRnVx6IRJWZD6fonnfZhN1JIOhV2iJCPeRNSH3V1ISwHf+JWcESzLC3BOLD1T07tmO5dmg==} @@ -32240,7 +36061,6 @@ packages: dependencies: '@remix-run/router': 1.15.0 react: 18.2.0 - dev: false /react-side-effect@2.1.2(react@18.2.0): resolution: {integrity: sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==} @@ -33121,6 +36941,20 @@ packages: resolution: {integrity: sha512-XDMoa858LLZnf4i2kUwyjBQGplXaoSoIfMQf9iji2ano5t1OfSiJsSYpHeOH26DJEc5hdje/4K3wiT6TWL3cRA==} engines: {node: '>=14.17.6'} + /rspack-manifest-plugin@5.0.0(@rspack/core@0.5.8): + resolution: {integrity: sha512-Rtpn6GI4mpTASPmLOGiHzv3KqVWuWhGJG9CKO7aioPrAhukML4jtgYUvbQdBze/mZcDrvqf6sxEGRGx5fKQ+ag==} + engines: {node: '>=14'} + peerDependencies: + '@rspack/core': 0.x || 1.x + peerDependenciesMeta: + '@rspack/core': + optional: true + dependencies: + '@rspack/core': 0.5.8(@swc/helpers@0.5.3) + tapable: 2.2.1 + webpack-sources: 2.3.1 + dev: true + /rspack-manifest-plugin@5.0.0-alpha0(webpack@5.91.0): resolution: {integrity: sha512-a84H6P/lK0x3kb0I8Qdiwxrnjt1oNW0j+7kwPMWcODJu8eYFBrTXa1t+14n18Jvg9RKIR6llCH16mYxf2d0s8A==} engines: {node: '>=14'} @@ -33253,6 +37087,30 @@ packages: klona: 2.0.6 neo-async: 2.6.2 sass: 1.74.1 + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) + dev: true + + /sass-loader@12.6.0(webpack@5.91.0): + resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + dependencies: + klona: 2.0.6 + neo-async: 2.6.2 webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) dev: true @@ -33400,7 +37258,7 @@ packages: '@semantic-release/release-notes-generator': 13.0.0(semantic-release@23.0.7) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.3.3) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) env-ci: 11.0.0 execa: 8.0.1 figures: 6.1.0 @@ -33541,6 +37399,7 @@ packages: /set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: true /set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -33893,7 +37752,7 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.2.0 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /source-map-resolve@0.5.3: @@ -34003,7 +37862,7 @@ packages: /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -34017,7 +37876,7 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -34149,6 +38008,13 @@ packages: readable-stream: 2.3.8 dev: true + /stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + /stream-combiner2@1.1.1: resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} dependencies: @@ -34179,12 +38045,22 @@ packages: xtend: 4.0.2 dev: true + /stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + dev: true + /stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} dev: true /stream-slice@0.1.2: resolution: {integrity: sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==} + dev: true /stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} @@ -34197,7 +38073,7 @@ packages: engines: {node: '>=8.0'} dependencies: date-format: 4.0.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -34470,7 +38346,7 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /style-to-object@0.3.0: @@ -34484,7 +38360,7 @@ packages: dependencies: inline-style-parser: 0.1.1 - /styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): + /styled-components@5.3.11(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): resolution: {integrity: sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==} engines: {node: '>=10'} peerDependencies: @@ -34493,11 +38369,11 @@ packages: react-is: '>= 16.8.0' dependencies: '@babel/helper-module-imports': 7.24.3 - '@babel/traverse': 7.24.1(supports-color@5.5.0) + '@babel/traverse': 7.24.5(supports-color@5.5.0) '@emotion/is-prop-valid': 1.2.2 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.24.4)(styled-components@5.3.11) + babel-plugin-styled-components: 2.1.4(@babel/core@7.24.5)(styled-components@5.3.11) css-to-react-native: 3.2.0 hoist-non-react-statics: 3.3.2 react: 18.2.0 @@ -34610,7 +38486,7 @@ packages: fast-glob: 3.3.2 normalize-path: 3.0.0 stylus: 0.59.0 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /stylus-loader@7.1.3(stylus@0.63.0)(webpack@5.91.0): @@ -34631,7 +38507,7 @@ packages: hasBin: true dependencies: '@adobe/css-tools': 4.3.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) glob: 7.2.3 sax: 1.2.4 source-map: 0.7.4 @@ -34644,7 +38520,7 @@ packages: hasBin: true dependencies: '@adobe/css-tools': 4.3.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) glob: 7.2.3 sax: 1.3.0 source-map: 0.7.4 @@ -35014,7 +38890,6 @@ packages: serialize-javascript: 6.0.2 terser: 5.30.3 webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.17.19) - dev: true /terser-webpack-plugin@5.3.10(@swc/core@1.5.6)(esbuild@0.18.20)(webpack@5.89.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} @@ -35203,6 +39078,17 @@ packages: commander: 2.20.3 source-map-support: 0.5.21 + /terser@5.31.0: + resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -35408,6 +39294,10 @@ packages: ieee754: 1.2.1 dev: true + /toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + dev: true + /toposort@2.0.2: resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} dev: true @@ -35826,7 +39716,7 @@ packages: bundle-require: 4.0.2(esbuild@0.18.20) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) esbuild: 0.18.20 execa: 5.1.1 globby: 11.1.0 @@ -35858,6 +39748,10 @@ packages: resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} dev: true + /tty-browserify@0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + dev: true + /tty-table@4.2.3: resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} engines: {node: '>=8.0.0'} @@ -36626,7 +40520,7 @@ packages: apache-md5: 1.1.8 bcryptjs: 2.4.3 core-js: 3.35.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) http-errors: 2.0.0 unix-crypt-td-js: 1.1.4 transitivePeerDependencies: @@ -36657,7 +40551,7 @@ packages: compression: 1.7.4 cookies: 0.9.1 cors: 2.8.5 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) envinfo: 7.11.0 express: 4.18.2 express-rate-limit: 5.5.1 @@ -36877,7 +40771,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 vite: 5.0.13(@types/node@16.11.68)(less@4.2.0)(stylus@0.63.0) @@ -36898,7 +40792,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 vite: 5.0.13(@types/node@18.19.26)(less@4.2.0)(stylus@0.63.0) @@ -36921,7 +40815,7 @@ packages: vite: optional: true dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 2.1.2(typescript@5.3.3) vite: 5.0.13(@types/node@18.19.26)(less@4.2.0)(stylus@0.63.0) @@ -37053,7 +40947,7 @@ packages: acorn-walk: 8.3.2 cac: 6.7.14 chai: 4.4.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.9 @@ -37111,7 +41005,7 @@ packages: acorn-walk: 8.3.2 cac: 6.7.14 chai: 4.4.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.9 @@ -37157,7 +41051,7 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -37270,6 +41164,7 @@ packages: util: 0.12.5 optionalDependencies: '@zxing/text-encoding': 0.9.0 + dev: true /web-namespaces@1.1.4: resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} @@ -37321,7 +41216,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /webpack-dev-middleware@6.0.2(webpack@5.91.0): @@ -37450,7 +41345,7 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) webpack-dev-middleware: 5.3.4(webpack@5.91.0) ws: 8.16.0 transitivePeerDependencies: @@ -37539,7 +41434,7 @@ packages: dependencies: html-webpack-plugin: 5.6.0(@rspack/core@0.5.8)(webpack@5.91.0) typed-assert: 1.0.9 - webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.5.6)(esbuild@0.18.20) dev: true /webpack-virtual-modules@0.4.6: @@ -37711,7 +41606,6 @@ packages: - '@swc/core' - esbuild - uglify-js - dev: true /webpack@5.91.0(@swc/core@1.5.6)(esbuild@0.18.20): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} @@ -37940,8 +41834,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2715f1639b7..a19a2578dae 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,6 +3,7 @@ packages: - 'packages/*' - 'packages/enhance' - 'apps/runtime-demo/*' + - 'apps/modernjs-ssr/*' - 'apps/manifest-demo/*' - 'apps/*' - 'webpack'