From a9680c5bc8b2814c69291ab05a67ac0285fe932a Mon Sep 17 00:00:00 2001 From: abretonc7s <107169956+abretonc7s@users.noreply.github.com> Date: Tue, 19 Nov 2024 21:46:16 +0800 Subject: [PATCH] chore: improve build tooling and modernize dependencies (#1128) * chore: wip * style: standardize formatting across TS configs and docs - Format TypeScript configuration files for consistent spacing - Add consistent newlines and semicolons in README code examples - Align formatting between sdk and sdk-communication-layer packages * chore: clean up initializeMobileProvider by removing debug log Cleaned up the initializeMobileProvider by removing an unnecessary console log statement in the setInitializing function. * chore: enhance commitlint config with body-max-line-length rule Enhanced the commitlint configuration by adding a rule to limit the body of commit messages to 100 characters per line. --- commitlint.config.js | 3 + packages/sdk-communication-layer/package.json | 27 +- .../sdk-communication-layer/rollup.config.js | 357 ++++---- .../src/utils/packageInfo.util.ts | 14 + .../tsconfig.build.json | 7 +- packages/sdk-install-modal-web/package.json | 15 +- .../sdk-install-modal-web/rollup.config.js | 55 +- packages/sdk-install-modal-web/src/index.ts | 2 +- packages/sdk/README.md | 43 + packages/sdk/package.json | 49 +- packages/sdk/rollup.config.js | 251 ++++-- .../src/provider/initializeMobileProvider.ts | 1 - packages/sdk/src/services/Analytics.ts | 18 +- packages/sdk/tsconfig.build.json | 4 +- packages/sdk/tsconfig.eslint.json | 2 +- packages/sdk/tsconfig.json | 2 +- yarn.lock | 763 +++++++++++++++++- 17 files changed, 1281 insertions(+), 332 deletions(-) create mode 100644 packages/sdk-communication-layer/src/utils/packageInfo.util.ts diff --git a/commitlint.config.js b/commitlint.config.js index 84dcb122a..74ea83178 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,3 +1,6 @@ module.exports = { extends: ['@commitlint/config-conventional'], + rules: { + 'body-max-line-length': [0, 'always', 100], + }, }; diff --git a/packages/sdk-communication-layer/package.json b/packages/sdk-communication-layer/package.json index 62776215f..da987a0d3 100644 --- a/packages/sdk-communication-layer/package.json +++ b/packages/sdk-communication-layer/package.json @@ -16,14 +16,15 @@ "module": "dist/node/es/metamask-sdk-communication-layer.js", "browser": "dist/browser/es/metamask-sdk-communication-layer.js", "react-native": "dist/react-native/es/metamask-sdk-communication-layer.js", - "types": "dist/browser/es/src/index.d.ts", + "types": "dist/types/src/index.d.ts", "files": [ "/dist" ], "scripts": { - "build": "rimraf dist && rollup -c --bundleConfigAsCjs", - "build:tsc": "tsc", - "build:dev": "rimraf dist && NODE_ENV=dev rollup -c --bundleConfigAsCjs", + "build:types": "tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types", + "build:clean": "yarn clean && yarn build", + "build": "yarn build:types && rollup -c --bundleConfigAsCjs", + "build:dev": "yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs", "build:post-tsc": "echo 'N/A'", "build:pre-tsc": "echo 'N/A'", "size": "size-limit", @@ -60,7 +61,8 @@ "@rollup/plugin-commonjs": "^25.0.0", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.2", - "@rollup/plugin-terser": "^0.4.1", + "@rollup/plugin-replace": "^6.0.1", + "@rollup/plugin-terser": "^0.4.4", "@size-limit/preset-big-lib": "^11.0.2", "@types/jest": "^29.2.4", "@types/node": "^20.1.3", @@ -68,7 +70,7 @@ "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", "cross-fetch": "^4.0.0", - "eciesjs": "^0.3.16", + "eciesjs": "^0.4.11", "eslint": "^7.30.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.23.4", @@ -76,30 +78,31 @@ "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.0", - "eventemitter2": "^6.4.7", + "eventemitter2": "^6.4.9", "jest": "^29.3.1", "prettier": "^2.3.0", "rimraf": "^3.0.2", - "rollup": "^3.21.7", + "rollup": "^4.26.0", "rollup-plugin-jscc": "^2.0.0", "rollup-plugin-natives": "^0.7.5", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-globals": "^1.4.0", "rollup-plugin-peer-deps-external": "^2.2.4", + "rollup-plugin-polyfill-node": "^0.13.0", "rollup-plugin-sizes": "^1.0.6", "rollup-plugin-typescript2": "^0.31.2", - "rollup-plugin-visualizer": "^5.9.2", - "size-limit": "^11.0.2", + "rollup-plugin-visualizer": "^5.12.0", + "size-limit": "^11.1.6", "socket.io-client": "^4.5.1", "stream-browserify": "^3.0.0", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", - "typescript": "^4.3.2" + "typescript": "^5.6.3" }, "peerDependencies": { "cross-fetch": "^4.0.0", "eciesjs": "*", - "eventemitter2": "^6.4.7", + "eventemitter2": "^6.4.9", "readable-stream": "^3.6.2", "socket.io-client": "^4.5.1" }, diff --git a/packages/sdk-communication-layer/rollup.config.js b/packages/sdk-communication-layer/rollup.config.js index a1a5fcddb..b12de8452 100644 --- a/packages/sdk-communication-layer/rollup.config.js +++ b/packages/sdk-communication-layer/rollup.config.js @@ -8,195 +8,250 @@ import nativePlugin from 'rollup-plugin-natives'; import jscc from 'rollup-plugin-jscc'; import terser from '@rollup/plugin-terser'; import { visualizer } from 'rollup-plugin-visualizer'; -import packageJson from './package.json'; // Ensure this path is correct -import sizes from 'rollup-plugin-sizes'; -import external from 'rollup-plugin-peer-deps-external'; +import packageJson from './package.json'; +import replace from '@rollup/plugin-replace'; +import path from 'path'; +import nodePolyfills from 'rollup-plugin-polyfill-node'; -// Check if environment variable is set to 'dev' const isDev = process.env.NODE_ENV === 'dev'; -// Base external dependencies across different builds -const baseExternalDeps = ['@react-native-async-storage/async-storage']; +const umdGlobals = { + 'cross-fetch': 'fetch', + eventemitter2: 'EventEmitter2', + 'socket.io-client': 'io', + eciesjs: 'ECIES', + debug: 'debug', + uuid: 'uuid', + 'date-fns': 'dateFns', + buffer: 'Buffer', + 'readable-stream': 'ReadableStream', + tslib: 'tslib', +}; -// Dependencies for rollup to consider as external -const listDepForRollup = [ - ...baseExternalDeps, - 'cross-fetch', - 'date-fns', - // do not include eciesjs in the bundle otherwise it would force the dapp to include crypto-browserify and stream-browserify - // 'eciesjs', - 'eventemitter2', - 'socket.io-client', - 'uuid', +// Get dependencies from package.json +const allDependencies = [ + ...Object.keys(packageJson.dependencies || {}), + ...Object.keys(packageJson.peerDependencies || {}), + ...Object.keys(packageJson.optionalDependencies || {}), + '@react-native-async-storage/async-storage', + 'bufferutil', + 'utf-8-validate', + 'tslib', + 'buffer', ]; -// Keeping separate external deps list for web and react-native to allow for future divergence -const webExternalDeps = [...listDepForRollup]; -const rnExternalDeps = [...listDepForRollup]; +// Platform specific externals (only add platform-specific deps if needed) +const webExternalDeps = [...allDependencies]; +const rnExternalDeps = [...allDependencies]; +const nodeExternalDeps = [...allDependencies]; + +const getTypescriptPlugin = (platform) => + typescript({ + tsconfig: './tsconfig.build.json', + tsconfigOverride: { + compilerOptions: { + declaration: true, + declarationMap: true, + sourceMap: true, + outDir: 'dist', + declarationDir: + platform === 'web' + ? path.dirname(packageJson.browser) + : platform === 'rn' + ? path.dirname(packageJson['react-native']) + : path.dirname(packageJson.main), + module: 'esnext', + moduleResolution: 'node', + importHelpers: true, + noEmitHelpers: true, + }, + include: ['./src'], + exclude: ['**/*.spec.ts', '**/*.test.ts'], + }, + useTsconfigDeclarationDir: true, + clean: true, + exclude: ['**/*.spec.ts', '**/*.test.ts'], + check: !isDev, + }); + +const sharedWarningHandler = (warning, warn) => { + if ( + warning.code === 'CIRCULAR_DEPENDENCY' && + (warning.message.includes('RemoteCommunication/ConnectionManager') || + warning.message.includes('RemoteCommunication/EventListeners') || + warning.message.includes('RemoteCommunication/MessageHandlers')) + ) { + return; + } + + if (warning.code === 'THIS_IS_UNDEFINED') return; + warn(warning); +}; + +const getPlugins = ({ platform, minify = true }) => [ + replace({ + preventAssignment: true, + values: { + 'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'), + 'process.env.PKG_VERSION': JSON.stringify(packageJson.version), + 'process.env.PKG_NAME': JSON.stringify(packageJson.name), + }, + }), + jscc({ + values: { + _WEB: platform === 'web' ? 1 : 0, + _REACTNATIVE: platform === 'rn' ? 1 : 0, + _NODEJS: platform === 'node' ? 1 : 0, + }, + }), + getTypescriptPlugin(platform), + nodeResolve({ + browser: platform === 'web', + preferBuiltins: platform === 'node', + exportConditions: + platform === 'web' + ? ['browser'] + : platform === 'rn' + ? ['react-native', 'node'] + : ['node'], + mainFields: + platform === 'rn' + ? ['react-native', 'browser', 'module', 'main'] + : ['browser', 'module', 'main'], + }), + commonjs({ + transformMixedEsModules: true, + include: [/node_modules/, 'src/**'], + exclude: [ + ...allDependencies.map((dep) => new RegExp(`node_modules/${dep}`)), + ], + ignoreTryCatch: true, + ignore: (id) => { + if ( + id.includes('RemoteCommunication/ConnectionManager') || + id.includes('RemoteCommunication/EventListeners') || + id.includes('RemoteCommunication/MessageHandlers') + ) { + return true; + } + return false; + }, + }), + platform === 'web' && globals(), + platform === 'web' && builtins({ + crypto: true, + buffer: false + }), + platform === 'web' && nodePolyfills({ + include: ['buffer'] + }), + json(), + minify && terser({ + format: { comments: false }, + compress: { + passes: 2, + drop_console: !isDev, + pure_getters: true, + unsafe_comps: true, + unsafe_methods: true, + }, + mangle: { + reserved: ['Buffer', 'global', 'process'], + }, + }), + isDev && ['treemap', 'sunburst', 'network', 'raw-data', 'list'].map((template) => + visualizer({ + filename: `bundle_stats/${platform}/${ + packageJson.version + }/${template}${ + template === 'list' + ? '.txt' + : template === 'raw-data' + ? '.json' + : '.html' + }`, + gzipSize: true, + brotliSize: true, + template, + }) + ), +].filter(Boolean); /** - * @type {import('rollup').RollupOptions} + * @type {import('rollup').RollupOptions[]} */ -const config = [ - // Browser builds (ES) +const configs = [ + // Browser ES build { - external: webExternalDeps, input: 'src/index.ts', - output: [ - { - file: packageJson.browser, - format: 'es', - sourcemap: true, - }, - ], - plugins: [ - external(), - // Replace macros in your source code with environment-specific variables - jscc({ - values: { _WEB: 1 }, - }), - // TypeScript plugin with overridden configuration file path - typescript({ tsconfig: './tsconfig.json' }), - // Resolves modules specified in "node_modules" - nodeResolve({ - browser: true, // Prefer browser versions of modules if available - preferBuiltins: false, // Do not prefer Node.js built-ins over npm modules - exportConditions: ['browser'], // Use "browser" field in package.json for overrides - }), - // Converts CommonJS modules to ES6, to be included in the Rollup bundle - commonjs({ transformMixedEsModules: true }), - // Polyfills Node.js globals and modules for use in the browser - globals(), - builtins({ crypto: true }), // Includes Node.js built-ins like 'crypto' - // Convert .json files to ES6 modules - json(), - isDev && sizes(), // Log the size of the bundle - // Minify the bundle - terser(), - // Visualize the bundle to analyze its composition and size - isDev && - visualizer({ - filename: `bundle_stats/browser-es-stats-${packageJson.version}.html`, - }), - ], + output: { + file: packageJson.browser, + format: 'es', + sourcemap: true, + interop: 'auto', + }, + external: webExternalDeps, + plugins: getPlugins({ platform: 'web' }), + onwarn: sharedWarningHandler, }, - // Browser builds (UMD, IIFE) + + // Browser UMD build { - // Only considering base external deps for UMD and IIFE builds - external: baseExternalDeps, input: 'src/index.ts', - output: [ - { - name: 'browser', - file: packageJson.unpkg, - format: 'umd', - sourcemap: true, - }, - { - file: 'dist/browser/iife/metamask-sdk-communication-layer.js', - format: 'iife', - name: 'MetaMaskSDK', - sourcemap: true, - }, - ], - plugins: [ - external(), - jscc({ - values: { _WEB: 1 }, - }), - typescript({ tsconfig: './tsconfig.json' }), - nodeResolve({ - browser: true, - preferBuiltins: false, - exportConditions: ['browser'], - }), - commonjs({ transformMixedEsModules: true }), - globals(), - builtins({ crypto: true }), - json(), - isDev && sizes(), // Log the size of the bundle - terser(), - isDev && - visualizer({ - filename: `bundle_stats/browser-umd-iife-stats-${packageJson.version}.html`, - }), - ], + output: { + file: packageJson.unpkg, + format: 'umd', + name: 'MetaMaskSDKCommunication', + sourcemap: true, + globals: umdGlobals, + interop: 'auto', + }, + external: webExternalDeps, + plugins: getPlugins({ platform: 'web' }), + onwarn: sharedWarningHandler, }, + + // React Native build { - external: rnExternalDeps, input: 'src/index.ts', - output: [ - { - file: packageJson['react-native'], - format: 'es', - sourcemap: true, - }, - ], - plugins: [ - external(), - jscc({ - values: { _REACTNATIVE: 1 }, - }), - typescript({ tsconfig: './tsconfig.json' }), - commonjs({ transformMixedEsModules: true }), - nodeResolve({ - mainFields: ['react-native', 'node', 'browser'], - exportConditions: ['react-native', 'node', 'browser'], - browser: true, - preferBuiltins: true, - }), - json(), - isDev && sizes(), // Log the size of the bundle - terser(), - isDev && - visualizer({ - filename: `bundle_stats/react-native-stats-${packageJson.version}.html`, - }), - ], + output: { + file: packageJson['react-native'], + format: 'es', + sourcemap: true, + interop: 'auto', + }, + external: rnExternalDeps, + plugins: getPlugins({ platform: 'rn' }), + onwarn: sharedWarningHandler, }, + + // Node.js builds { - external: listDepForRollup, input: 'src/index.ts', output: [ { file: packageJson.main, format: 'cjs', sourcemap: true, + interop: 'auto', }, { file: packageJson.module, format: 'es', sourcemap: true, + interop: 'auto', }, ], + external: nodeExternalDeps, plugins: [ - external(), - jscc({ - values: { _NODEJS: 1 }, - }), + ...getPlugins({ platform: 'node' }), nativePlugin({ - // Use `dlopen` instead of `require`/`import`. - // This must be set to true if using a different file extension that '.node' dlopen: false, - // Generate sourcemap sourcemap: true, }), - typescript({ tsconfig: './tsconfig.json' }), - nodeResolve({ - browser: false, - preferBuiltins: true, - exportConditions: ['node'], - }), - commonjs({ transformMixedEsModules: true }), - json(), - isDev && sizes(), // Log the size of the bundle - terser(), - isDev && - visualizer({ - filename: `bundle_stats/node-stats-${packageJson.version}.html`, - }), ], + onwarn: sharedWarningHandler, }, ]; -export default config; +export default configs; diff --git a/packages/sdk-communication-layer/src/utils/packageInfo.util.ts b/packages/sdk-communication-layer/src/utils/packageInfo.util.ts new file mode 100644 index 000000000..80bb463c9 --- /dev/null +++ b/packages/sdk-communication-layer/src/utils/packageInfo.util.ts @@ -0,0 +1,14 @@ +export interface PackageInfo { + version: string; + packageName: string; + nodeEnv: 'development' | 'production'; +} + +export const getPackageInfo = (): PackageInfo => { + // Values injected by rollup at build time + return { + version: process.env.PKG_VERSION ?? 'development', + packageName: process.env.PKG_NAME ?? '@metamask/sdk-communication-layer', + nodeEnv: process.env.NODE_ENV === 'dev' ? 'development' : 'production', + }; +}; diff --git a/packages/sdk-communication-layer/tsconfig.build.json b/packages/sdk-communication-layer/tsconfig.build.json index 18e5e1e72..4e0057bb1 100644 --- a/packages/sdk-communication-layer/tsconfig.build.json +++ b/packages/sdk-communication-layer/tsconfig.build.json @@ -1,7 +1,6 @@ { "extends": "./tsconfig.json", - "compilerOptions": { - "composite": true - }, - "include": ["./src", "package.json"] + "compilerOptions": {}, + "include": ["./src", "package.json"], + "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.test.ts"] } diff --git a/packages/sdk-install-modal-web/package.json b/packages/sdk-install-modal-web/package.json index ac63e4a64..c1e9ba77c 100644 --- a/packages/sdk-install-modal-web/package.json +++ b/packages/sdk-install-modal-web/package.json @@ -16,13 +16,16 @@ "main": "dist/cjs/index.js", "module": "dist/es/index.js", "unpkg": "dist/umd/index.js", - "browser": "dist/umd/index.js", - "types": "dist/es/src/index.d.ts", + "browser": "dist/es/index.js", + "types": "dist/types/src/index.d.ts", "files": [ "/dist" ], "scripts": { - "build": "rollup -c --bundleConfigAsCjs", + "build:types": "tsc --project tsconfig.json --emitDeclarationOnly --outDir dist/types", + "build:clean": "yarn clean && yarn build", + "build": "yarn build:types && rollup -c --bundleConfigAsCjs", + "build:dev": "yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs", "build:tsc": "tsc --build tsconfig.json --verbose", "build:watch": "webpack-cli --watch", "build:post-tsc": "echo 'N/A'", @@ -45,7 +48,7 @@ "postversion": "git push --tags && yarn publish . --tag $npm_package_version && git push && echo \"Successfully released version $npm_package_version!\"" }, "dependencies": { - "qr-code-styling": "^1.6.0-rc.1" + "qr-code-styling": "^1.8.4" }, "devDependencies": { "@lavamoat/allow-scripts": "^2.3.1", @@ -75,14 +78,14 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "rimraf": "^5.0.0", - "rollup": "^3.21.7", + "rollup": "^4.26.0", "rollup-plugin-peer-deps-external": "^2.2.4", "rollup-plugin-postcss": "^4.0.2", "rollup-plugin-sizes": "^1.0.6", "rollup-plugin-typescript2": "^0.36.0", "rollup-plugin-visualizer": "^5.12.0", "size-limit": "^11.0.2", - "typescript": "^5.0.2" + "typescript": "^5.6.3" }, "peerDependencies": { "i18next": "23.11.5", diff --git a/packages/sdk-install-modal-web/rollup.config.js b/packages/sdk-install-modal-web/rollup.config.js index 55e0aa5dc..0914c17d5 100644 --- a/packages/sdk-install-modal-web/rollup.config.js +++ b/packages/sdk-install-modal-web/rollup.config.js @@ -2,7 +2,6 @@ import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import typescript from 'rollup-plugin-typescript2'; import terser from '@rollup/plugin-terser'; -import sizes from 'rollup-plugin-sizes'; import { visualizer } from 'rollup-plugin-visualizer'; import external from 'rollup-plugin-peer-deps-external'; import postcss from 'rollup-plugin-postcss'; @@ -17,7 +16,6 @@ const packageJson = require('./package.json'); */ const config = [ { - external: ['react', 'react-dom', 'react-native', 'i18next'], input: 'src/index.ts', output: [ { @@ -26,10 +24,19 @@ const config = [ sourcemap: true, }, { - name: 'browser', file: packageJson.unpkg, format: 'umd', + exports: 'named', + name: 'MetaMaskSDKInstallModal', sourcemap: true, + globals: { + 'react': 'React', + 'react-dom': 'ReactDOM', + 'react-dom/client': 'ReactDOM.createRoot', + 'react-native': 'ReactNative', + 'i18next': 'i18next', + 'tslib': 'tslib' + } }, { file: packageJson.main, @@ -37,30 +44,44 @@ const config = [ sourcemap: true, }, ], + external: [ + 'react', + 'react-dom', + 'react-dom/client', + 'react-native', + 'i18next', + 'tslib', + external(), + ], plugins: [ external(), - resolve(), + resolve({ + browser: true, + extensions: ['.ts', '.tsx'] + }), commonjs(), - typescript(), + typescript({ + tsconfigOverride: { + compilerOptions: { + importHelpers: true, + noEmitHelpers: true, + }, + }, + useTsconfigDeclarationDir: true, + }), postcss({ - // Extract CSS to the same location as the JS file extract: true, - // Use Sass compiler plugins: [], - // Enable source maps sourceMap: true, - // Enable CSS modules if needed modules: true, - // Use additional plugins like `autoprefixer` - // plugins: [require('autoprefixer')] }), - isDev && sizes(), terser(), - isDev && - visualizer({ - filename: `bundle_stats/browser-es-stats-${packageJson.version}.html`, - }), - ], + isDev && visualizer({ + filename: `bundle_stats/${packageJson.version}/stats.html`, + gzipSize: true, + brotliSize: true, + }), + ].filter(Boolean), }, ]; diff --git a/packages/sdk-install-modal-web/src/index.ts b/packages/sdk-install-modal-web/src/index.ts index cc1074224..d08ef7aa4 100644 --- a/packages/sdk-install-modal-web/src/index.ts +++ b/packages/sdk-install-modal-web/src/index.ts @@ -1 +1 @@ -export { ModalLoader } from './ModalLoader'; +export { ModalLoader, type InstallWidgetProps, type PendingWidgetProps, type SelectWidgetProps } from './ModalLoader'; diff --git a/packages/sdk/README.md b/packages/sdk/README.md index 0349e295b..d85131554 100644 --- a/packages/sdk/README.md +++ b/packages/sdk/README.md @@ -45,6 +45,49 @@ Use the SDK: ethereum.request({method: 'eth_requestAccounts', params: []}) ``` +# Bundle Types + +The MetaMask SDK provides different bundles optimized for various environments: + +## Browser Bundle + +- **Usage**: For web applications running in browsers +- **Import Path**: `@metamask/sdk/browser` +- **Format**: ES Modules +- **Example**: + +```javascript +import MetaMaskSDK from '@metamask/sdk/browser'; +``` + +## React Native Bundle + +- **Usage**: For React Native mobile applications +- **Import Path**: `@metamask/sdk/react-native` +- **Format**: ES Modules +- **Example**: + +```javascript +import MetaMaskSDK from '@metamask/sdk/react-native'; +``` + +## Node.js Bundle + +- **Usage**: For Node.js server-side applications +- **Import Path**: `@metamask/sdk/node` +- **Formats**: Both CommonJS (require) and ES Modules (import) +- **Example**: + +```javascript +// ESM +import MetaMaskSDK from '@metamask/sdk/node'; + +// CommonJS +const MetaMaskSDK = require('@metamask/sdk/node'); +``` + +The SDK will automatically select the appropriate bundle based on your environment, but you can explicitly choose a specific bundle using the paths above. + # Follow the full documentation [Please access this to read the MetaMask SDK full documentation](https://docs.metamask.io/wallet/how-to/connect/set-up-sdk/) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 1bf2e8b00..15d5ad4f2 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/sdk", - "version": "0.30.2", + "version": "0.31.0", "description": "", "homepage": "https://github.com/MetaMask/metamask-sdk#readme", "bugs": { @@ -11,19 +11,32 @@ "url": "https://github.com/MetaMask/metamask-sdk", "directory": "packages/sdk" }, + "exports": { + ".": { + "node": { + "import": "./dist/node/es/metamask-sdk.js", + "require": "./dist/node/cjs/metamask-sdk.js" + }, + "browser": "./dist/browser/es/metamask-sdk.js", + "react-native": "./dist/react-native/es/metamask-sdk.js", + "default": "./dist/browser/es/metamask-sdk.js" + } + }, "main": "dist/node/cjs/metamask-sdk.js", + "module": "dist/browser/es/metamask-sdk.js", + "browser": "dist/browser/es/metamask-sdk.js", "unpkg": "dist/browser/umd/metamask-sdk.js", - "module": "dist/node/es/metamask-sdk.js", - "browser": "dist/browser/umd/metamask-sdk.js", "react-native": "dist/react-native/es/metamask-sdk.js", - "types": "dist/browser/es/src/index.d.ts", + "types": "dist/types/src/index.d.ts", "sideEffects": false, "files": [ "/dist" ], "scripts": { - "build": "rm -rf dist && rollup -c --bundleConfigAsCjs", - "build:dev": "rimraf dist && NODE_ENV=dev rollup -c --bundleConfigAsCjs", + "build:types": "tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types", + "build": "yarn build:types && rollup -c --bundleConfigAsCjs", + "build:clean": "yarn clean && yarn build", + "build:dev": "yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs", "build:post-tsc": "echo 'N/A'", "build:pre-tsc": "echo 'N/A'", "clean": "rimraf ./dist", @@ -51,9 +64,9 @@ "bowser": "^2.9.0", "cross-fetch": "^4.0.0", "debug": "^4.3.4", - "eciesjs": "^0.4.10", + "eciesjs": "^0.4.11", "eth-rpc-errors": "^4.0.3", - "eventemitter2": "^6.4.7", + "eventemitter2": "^6.4.9", "i18next": "23.11.5", "i18next-browser-languagedetector": "7.1.0", "obj-multiplex": "^1.0.0", @@ -73,9 +86,11 @@ "@metamask/eslint-config-nodejs": "^6.0.0", "@metamask/eslint-config-typescript": "^6.0.0", "@react-native-async-storage/async-storage": "^1.19.6", + "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.2", + "@rollup/plugin-replace": "^6.0.1", "@rollup/plugin-terser": "^0.4.1", "@size-limit/preset-big-lib": "^11.0.2", "@types/dom-screen-wake-lock": "^1.0.2", @@ -85,6 +100,9 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", + "crypto-browserify": "^3.12.0", "eslint": "^7.30.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.23.4", @@ -92,26 +110,33 @@ "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.0", + "https-browserify": "^1.0.0", "jest": "^29.3.1", "jest-environment-jsdom": "^29.3.1", "prettier": "^2.3.0", + "process": "^0.11.10", "react": "^18.2.0", "react-dom": "18.2.0", "rimraf": "^4.4.0", - "rollup": "^3.21.7", + "rollup": "^4.26.0", + "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-jscc": "^2.0.0", "rollup-plugin-natives": "^0.7.5", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-globals": "^1.4.0", - "rollup-plugin-polyfill-node": "^0.11.0", + "rollup-plugin-polyfill-node": "^0.13.0", "rollup-plugin-sizes": "^1.0.6", "rollup-plugin-typescript2": "^0.31.2", - "rollup-plugin-visualizer": "^5.9.2", + "rollup-plugin-visualizer": "^5.12.0", "size-limit": "^11.0.2", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "tslib": "latest", - "typescript": "^4.3.2" + "typescript": "^4.3.2", + "url": "^0.11.0", + "webpack": "^5.0.0" }, "peerDependencies": { "react": "^18.2.0", diff --git a/packages/sdk/rollup.config.js b/packages/sdk/rollup.config.js index 371e5d433..d2ebe73ee 100644 --- a/packages/sdk/rollup.config.js +++ b/packages/sdk/rollup.config.js @@ -8,119 +8,238 @@ import terser from '@rollup/plugin-terser'; import builtins from 'rollup-plugin-node-builtins'; import globals from 'rollup-plugin-node-globals'; import { visualizer } from 'rollup-plugin-visualizer'; -import sizes from 'rollup-plugin-sizes'; +import replace from '@rollup/plugin-replace'; const packageJson = require('./package.json'); - -// Check if environment variable is set to 'dev' const isDev = process.env.NODE_ENV === 'dev'; -// Base external dependencies across different builds +// Dependencies categorization +const peerDependencies = Object.keys(packageJson.peerDependencies || {}); +const optionalDependencies = Object.keys( + packageJson.optionalDependencies || {}, +); +const dependencies = Object.keys(packageJson.dependencies || {}); + +// Dependencies that should be bundled +const bundledDeps = [ + // '@metamask/sdk-communication-layer', + // '@metamask/sdk-install-modal-web', + 'qr-code-styling', + // Add other dependencies that should be bundled +]; + +// Shared dependencies that should be deduplicated +const sharedDeps = ['eventemitter2', 'socket.io-client', 'debug', 'uuid']; + +// Filter function to exclude bundled dependencies +const excludeBundledDeps = (dep) => !bundledDeps.includes(dep); + +// Dependencies that should always be external const baseExternalDeps = [ + ...peerDependencies.filter(excludeBundledDeps), + ...optionalDependencies.filter(excludeBundledDeps), + ...sharedDeps, // Exclude shared deps from bundle '@react-native-async-storage/async-storage', 'extension-port-stream', + 'tslib', ]; -// Dependencies for rollup to consider as external -const listDepForRollup = [...baseExternalDeps]; -const webExternalDeps = [ - ...listDepForRollup, - 'qrcode-terminal-nooctal', - 'react', - 'react-dom', -]; -const rnExternalDeps = [ - ...listDepForRollup, - 'qrcode-terminal-nooctal', - 'react', - 'react-native', -]; +// Platform-specific externals +const webExternalDeps = [...baseExternalDeps, 'qrcode-terminal-nooctal'].filter( + excludeBundledDeps, +); + +const rnExternalDeps = [...baseExternalDeps, 'qrcode-terminal-nooctal'].filter( + excludeBundledDeps, +); + +const nodeExternalDeps = [...baseExternalDeps].filter(excludeBundledDeps); + +const sharedWarningHandler = (warning, warn) => { + // Ignore circular dependencies for specific packages + if (warning.code === 'CIRCULAR_DEPENDENCY') { + const circularDependencyAllowList = [ + 'semver', + 'readable-stream', + 'detect-browser', + 'stream', + 'util-deprecate', + ]; + + if ( + warning.ids.some((id) => + circularDependencyAllowList.some((pkg) => id.includes(pkg)), + ) + ) { + return; + } + } + + // Ignore 'this' undefined warnings for specific packages + if (warning.code === 'THIS_IS_UNDEFINED') { + const thisUndefinedAllowList = ['detect-browser']; + + if (thisUndefinedAllowList.some((pkg) => warning.id.includes(pkg))) { + return; + } + } + + // Ignore pure annotation warnings from specific packages + if (warning.code === 'ANNOTATION_PURE_COMMENT') { + const pureAnnotationAllowList = ['@scure/base']; + + if (pureAnnotationAllowList.some((pkg) => warning.id.includes(pkg))) { + return; + } + } + + // Show other warnings + warn(warning); +}; + +const getBasePlugins = ({ platform }) => + [ + replace({ + preventAssignment: true, + values: { + 'process.env.NODE_ENV': JSON.stringify( + isDev ? 'development' : 'production', + ), + 'process.env.PKG_VERSION': JSON.stringify(packageJson.version), + 'process.env.PKG_NAME': JSON.stringify(packageJson.name), + }, + }), + jscc({ + values: { + _WEB: platform === 'web' ? 1 : 0, + _REACTNATIVE: platform === 'rn' ? 1 : 0, + _NODEJS: platform === 'node' ? 1 : 0, + }, + }), + typescript({ + tsconfig: './tsconfig.build.json', + sourceMap: true, + }), + json(), + isDev && + ['treemap', 'sunburst', 'network', 'raw-data', 'list'].map((template) => + visualizer({ + filename: `bundle_stats/${platform}/${ + packageJson.version + }/${template}${ + template === 'list' + ? '.txt' + : template === 'raw-data' + ? '.json' + : '.html' + }`, + gzipSize: true, + brotliSize: true, + template, + }), + ), + ].filter(Boolean); /** - * @type {import('rollup').RollupOptions} + * @type {import('rollup').RollupOptions[]} */ -const config = [ +const configs = [ // Browser builds (ES) { external: webExternalDeps, input: 'src/index.ts', output: [ { - file: 'dist/browser/es/metamask-sdk.js', + file: packageJson.module, format: 'es', inlineDynamicImports: true, sourcemap: true, + exports: 'named', }, ], plugins: [ - jscc({ - values: { _WEB: 1 }, - }), - typescript({ tsconfig: './tsconfig.json' }), + ...getBasePlugins({ platform: 'web' }), nodeResolve({ browser: true, preferBuiltins: false, exportConditions: ['browser'], + dedupe: sharedDeps, }), commonjs({ transformMixedEsModules: true, + include: /node_modules/, }), globals(), - builtins({ crypto: true }), - json(), - isDev && sizes(), + builtins({ + crypto: true, + stream: true, + http: true, + https: true, + url: true, + buffer: false, + }), terser(), - // Visualize the bundle to analyze its composition and size - isDev && - visualizer({ - filename: `bundle_stats/browser-es-stats-${packageJson.version}.html`, - }), ], + onwarn: sharedWarningHandler, }, + // Browser builds (UMD, IIFE) { - external: baseExternalDeps, + external: [...baseExternalDeps, ...peerDependencies], input: 'src/index.ts', output: [ { name: 'browser', - // file: 'dist/browser/umd/metamask-sdk.js', file: packageJson.unpkg, inlineDynamicImports: true, format: 'umd', sourcemap: true, + exports: 'named', + globals: { + tslib: 'tslib', + debug: 'debug', + eventemitter2: 'EventEmitter2', + uuid: 'uuid', + 'socket.io-client': 'io', + react: 'React', + 'react-dom': 'ReactDOM' + }, }, { - file: 'dist/browser/iife/metamask-sdk.js', + file: packageJson.unpkg.replace('.js', '.iife.js'), format: 'iife', name: 'MetaMaskSDK', inlineDynamicImports: true, sourcemap: true, + exports: 'named', + globals: { + tslib: 'tslib', + debug: 'debug', + eventemitter2: 'EventEmitter2', + uuid: 'uuid', + 'socket.io-client': 'io', + react: 'React', + 'react-dom': 'ReactDOM' + }, }, ], plugins: [ - jscc({ - values: { _WEB: 1 }, - }), - typescript({ tsconfig: './tsconfig.json' }), + ...getBasePlugins({ platform: 'web' }), nodeResolve({ browser: true, preferBuiltins: false, exportConditions: ['browser'], + dedupe: sharedDeps, }), - commonjs({ transformMixedEsModules: true }), + commonjs({ transformMixedEsModules: true, include: /node_modules/ }), globals(), builtins({ crypto: true }), - json(), - isDev && sizes(), terser(), - // Visualize the bundle to analyze its composition and size - isDev && - visualizer({ - filename: `bundle_stats/browser-umd-iife-stats-${packageJson.version}.html`, - }), ], + onwarn: sharedWarningHandler, }, + + // React Native build { external: rnExternalDeps, input: 'src/index.ts', @@ -130,13 +249,11 @@ const config = [ format: 'es', inlineDynamicImports: true, sourcemap: true, + exports: 'named', }, ], plugins: [ - jscc({ - values: { _REACTNATIVE: 1 }, - }), - typescript({ tsconfig: './tsconfig.json' }), + ...getBasePlugins({ platform: 'rn' }), commonjs({ transformMixedEsModules: true }), nodeResolve({ mainFields: ['react-native', 'node', 'browser'], @@ -144,17 +261,14 @@ const config = [ browser: true, preferBuiltins: true, }), - json(), - isDev && sizes(), terser(), - isDev && - visualizer({ - filename: `bundle_stats/react-native-stats-${packageJson.version}.html`, - }), ], + onwarn: sharedWarningHandler, }, + + // Node.js build { - external: listDepForRollup, + external: nodeExternalDeps, input: 'src/index.ts', output: [ { @@ -162,41 +276,32 @@ const config = [ format: 'cjs', sourcemap: true, inlineDynamicImports: true, + exports: 'named', }, { file: 'dist/node/es/metamask-sdk.js', format: 'es', sourcemap: true, inlineDynamicImports: true, + exports: 'named', }, ], plugins: [ - jscc({ - values: { _NODEJS: 1 }, - }), + ...getBasePlugins({ platform: 'node' }), nativePlugin({ - // Use `dlopen` instead of `require`/`import`. - // This must be set to true if using a different file extension that '.node' dlopen: false, - // Generate sourcemap sourcemap: true, }), - typescript({ tsconfig: './tsconfig.json' }), nodeResolve({ browser: false, preferBuiltins: true, exportConditions: ['node'], }), commonjs({ transformMixedEsModules: true }), - json(), - isDev && sizes(), terser(), - isDev && - visualizer({ - filename: `bundle_stats/node-stats-${packageJson.version}.html`, - }), ], + onwarn: sharedWarningHandler, }, ]; -export default config; +export default configs; diff --git a/packages/sdk/src/provider/initializeMobileProvider.ts b/packages/sdk/src/provider/initializeMobileProvider.ts index 17f1ec07b..66466f06e 100644 --- a/packages/sdk/src/provider/initializeMobileProvider.ts +++ b/packages/sdk/src/provider/initializeMobileProvider.ts @@ -110,7 +110,6 @@ const initializeMobileProvider = async ({ let initializationOngoing = false; const setInitializing = (ongoing: boolean) => { - console.log(`[initializeMobileProvider] setInitializing: ${ongoing}`); initializationOngoing = ongoing; }; diff --git a/packages/sdk/src/services/Analytics.ts b/packages/sdk/src/services/Analytics.ts index 3a87a668d..a328458c7 100644 --- a/packages/sdk/src/services/Analytics.ts +++ b/packages/sdk/src/services/Analytics.ts @@ -13,11 +13,11 @@ export const ANALYTICS_CONSTANTS = { }; export class Analytics { - #serverURL: string = DEFAULT_SERVER_URL; + private serverURL: string = DEFAULT_SERVER_URL; - #enabled: boolean; + private enabled: boolean; - #originatorInfo: Readonly; + private readonly originatorInfo: Readonly; constructor({ serverUrl, @@ -28,9 +28,9 @@ export class Analytics { originatorInfo: AnalyticsProps['originatorInfo']; enabled?: boolean; }) { - this.#serverURL = serverUrl; - this.#originatorInfo = originatorInfo; - this.#enabled = enabled ?? true; + this.serverURL = serverUrl; + this.originatorInfo = originatorInfo; + this.enabled = enabled ?? true; } send({ @@ -40,7 +40,7 @@ export class Analytics { event: TrackingEvents; params?: Record; }) { - if (!this.#enabled) { + if (!this.enabled) { return; } @@ -48,12 +48,12 @@ export class Analytics { id: ANALYTICS_CONSTANTS.DEFAULT_ID, event, sdkVersion: packageJson.version, - ...this.#originatorInfo, + ...this.originatorInfo, params, }; logger(`[Analytics: send()] event: ${event}`, props); - SendAnalytics(props, this.#serverURL).catch((error: unknown) => { + SendAnalytics(props, this.serverURL).catch((error: unknown) => { logger(`[Analytics: send()] error: ${error}`); }); } diff --git a/packages/sdk/tsconfig.build.json b/packages/sdk/tsconfig.build.json index 08daf4b41..37837cb01 100644 --- a/packages/sdk/tsconfig.build.json +++ b/packages/sdk/tsconfig.build.json @@ -1,7 +1,5 @@ { "extends": "./tsconfig.json", - "compilerOptions": { - "composite": true - }, + "compilerOptions": {}, "references": [] } diff --git a/packages/sdk/tsconfig.eslint.json b/packages/sdk/tsconfig.eslint.json index 29cbd0309..0c5b42f50 100644 --- a/packages/sdk/tsconfig.eslint.json +++ b/packages/sdk/tsconfig.eslint.json @@ -14,5 +14,5 @@ "skipLibCheck": true, "types": ["node", "jest"] }, - "include": ["./src/**/*.ts"] + "include": ["./src/**/*.ts", "./tools/**/*.ts"] } diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index 081d3bf48..ddc31b502 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -17,6 +17,6 @@ "types": ["node"] // "typeRoots": ["packages/sdk/src/types/global.d.ts", "src/types/global.d.ts"] }, - "include": ["./src"], + "include": ["./src", "./tools"], "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.test.ts"] } diff --git a/yarn.lock b/yarn.lock index 4fcb207b2..b6ce72e03 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5509,7 +5509,7 @@ __metadata: languageName: node linkType: hard -"@ecies/ciphers@npm:^0.2.0": +"@ecies/ciphers@npm:^0.2.1": version: 0.2.1 resolution: "@ecies/ciphers@npm:0.2.1" peerDependencies: @@ -9889,7 +9889,8 @@ __metadata: "@rollup/plugin-commonjs": ^25.0.0 "@rollup/plugin-json": ^6.0.0 "@rollup/plugin-node-resolve": ^15.0.2 - "@rollup/plugin-terser": ^0.4.1 + "@rollup/plugin-replace": ^6.0.1 + "@rollup/plugin-terser": ^0.4.4 "@size-limit/preset-big-lib": ^11.0.2 "@types/jest": ^29.2.4 "@types/node": ^20.1.3 @@ -9900,7 +9901,7 @@ __metadata: cross-fetch: ^4.0.0 date-fns: ^2.29.3 debug: ^4.3.4 - eciesjs: ^0.3.16 + eciesjs: ^0.4.11 eslint: ^7.30.0 eslint-config-prettier: ^8.3.0 eslint-plugin-import: ^2.23.4 @@ -9908,31 +9909,32 @@ __metadata: eslint-plugin-jsdoc: ^36.1.0 eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.0 - eventemitter2: ^6.4.7 + eventemitter2: ^6.4.9 jest: ^29.3.1 prettier: ^2.3.0 rimraf: ^3.0.2 - rollup: ^3.21.7 + rollup: ^4.26.0 rollup-plugin-jscc: ^2.0.0 rollup-plugin-natives: ^0.7.5 rollup-plugin-node-builtins: ^2.1.2 rollup-plugin-node-globals: ^1.4.0 rollup-plugin-peer-deps-external: ^2.2.4 + rollup-plugin-polyfill-node: ^0.13.0 rollup-plugin-sizes: ^1.0.6 rollup-plugin-typescript2: ^0.31.2 - rollup-plugin-visualizer: ^5.9.2 - size-limit: ^11.0.2 + rollup-plugin-visualizer: ^5.12.0 + size-limit: ^11.1.6 socket.io-client: ^4.5.1 stream-browserify: ^3.0.0 ts-jest: ^29.0.3 ts-node: ^10.9.1 - typescript: ^4.3.2 + typescript: ^5.6.3 utf-8-validate: ^5.0.2 uuid: ^8.3.2 peerDependencies: cross-fetch: ^4.0.0 eciesjs: "*" - eventemitter2: ^6.4.7 + eventemitter2: ^6.4.9 readable-stream: ^3.6.2 socket.io-client: ^4.5.1 languageName: unknown @@ -10002,18 +10004,18 @@ __metadata: jest: ^29.6.4 postcss: ^8.4.35 prettier: ^2.8.8 - qr-code-styling: ^1.6.0-rc.1 + qr-code-styling: ^1.8.4 react: ^18.2.0 react-dom: ^18.2.0 rimraf: ^5.0.0 - rollup: ^3.21.7 + rollup: ^4.26.0 rollup-plugin-peer-deps-external: ^2.2.4 rollup-plugin-postcss: ^4.0.2 rollup-plugin-sizes: ^1.0.6 rollup-plugin-typescript2: ^0.36.0 rollup-plugin-visualizer: ^5.12.0 size-limit: ^11.0.2 - typescript: ^5.0.2 + typescript: ^5.6.3 peerDependencies: i18next: 23.11.5 react: ^18.2.0 @@ -10539,9 +10541,11 @@ __metadata: "@metamask/sdk-communication-layer": "workspace:*" "@metamask/sdk-install-modal-web": "workspace:*" "@react-native-async-storage/async-storage": ^1.19.6 + "@rollup/plugin-alias": ^5.1.1 "@rollup/plugin-commonjs": ^25.0.7 "@rollup/plugin-json": ^6.0.0 "@rollup/plugin-node-resolve": ^15.0.2 + "@rollup/plugin-replace": ^6.0.1 "@rollup/plugin-terser": ^0.4.1 "@size-limit/preset-big-lib": ^11.0.2 "@types/dom-screen-wake-lock": ^1.0.2 @@ -10552,9 +10556,12 @@ __metadata: "@typescript-eslint/eslint-plugin": ^4.26.0 "@typescript-eslint/parser": ^4.26.0 bowser: ^2.9.0 + browserify-zlib: ^0.2.0 + buffer: ^6.0.3 cross-fetch: ^4.0.0 + crypto-browserify: ^3.12.0 debug: ^4.3.4 - eciesjs: ^0.4.10 + eciesjs: ^0.4.11 eslint: ^7.30.0 eslint-config-prettier: ^8.3.0 eslint-plugin-import: ^2.23.4 @@ -10563,13 +10570,15 @@ __metadata: eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^3.4.0 eth-rpc-errors: ^4.0.3 - eventemitter2: ^6.4.7 + eventemitter2: ^6.4.9 + https-browserify: ^1.0.0 i18next: 23.11.5 i18next-browser-languagedetector: 7.1.0 jest: ^29.3.1 jest-environment-jsdom: ^29.3.1 obj-multiplex: ^1.0.0 prettier: ^2.3.0 + process: ^0.11.10 pump: ^3.0.0 qrcode-terminal-nooctal: ^0.12.1 react: ^18.2.0 @@ -10577,23 +10586,28 @@ __metadata: react-native-webview: ^11.26.0 readable-stream: ^3.6.2 rimraf: ^4.4.0 - rollup: ^3.21.7 + rollup: ^4.26.0 + rollup-plugin-analyzer: ^4.0.0 rollup-plugin-jscc: ^2.0.0 rollup-plugin-natives: ^0.7.5 rollup-plugin-node-builtins: ^2.1.2 rollup-plugin-node-globals: ^1.4.0 - rollup-plugin-polyfill-node: ^0.11.0 + rollup-plugin-polyfill-node: ^0.13.0 rollup-plugin-sizes: ^1.0.6 rollup-plugin-typescript2: ^0.31.2 - rollup-plugin-visualizer: ^5.9.2 + rollup-plugin-visualizer: ^5.12.0 size-limit: ^11.0.2 socket.io-client: ^4.5.1 + stream-browserify: ^3.0.0 + stream-http: ^3.2.0 ts-jest: ^29.0.3 ts-node: ^10.9.1 tslib: latest typescript: ^4.3.2 + url: ^0.11.0 util: ^0.12.4 uuid: ^8.3.2 + webpack: ^5.0.0 peerDependencies: react: ^18.2.0 react-dom: ^18.2.0 @@ -13769,6 +13783,18 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-alias@npm:^5.1.1": + version: 5.1.1 + resolution: "@rollup/plugin-alias@npm:5.1.1" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 742ccb82170542a8229444bc3961f4c9b0a9eff890662e77ad201a7e04a91d67fa6f68d85c997032aa1845f8b991cf1f9a3329c77b4b067be80dad3c25abfb6b + languageName: node + linkType: hard + "@rollup/plugin-babel@npm:^5.2.0": version: 5.3.1 resolution: "@rollup/plugin-babel@npm:5.3.1" @@ -13875,19 +13901,19 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-inject@npm:^5.0.1": - version: 5.0.3 - resolution: "@rollup/plugin-inject@npm:5.0.3" +"@rollup/plugin-inject@npm:^5.0.4": + version: 5.0.5 + resolution: "@rollup/plugin-inject@npm:5.0.5" dependencies: "@rollup/pluginutils": ^5.0.1 estree-walker: ^2.0.2 - magic-string: ^0.27.0 + magic-string: ^0.30.3 peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true - checksum: d8458b11af3447710ce200fe2886faff07bb054e1269a4f06f5f3c1a1b83019b6ce7761badfa116ca96fbb9c49f16b94ad02d1a72c2fb64dc68cb7dd81331cb7 + checksum: 22cb772fd6f7178308b2ece95cdde5f8615f6257197832166294552a7e4c0d3976dc996cbfa6470af3151d8b86c00091aa93da5f4db6ec563f11b6db29fd1b63 languageName: node linkType: hard @@ -14015,6 +14041,21 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-replace@npm:^6.0.1": + version: 6.0.1 + resolution: "@rollup/plugin-replace@npm:6.0.1" + dependencies: + "@rollup/pluginutils": ^5.0.1 + magic-string: ^0.30.3 + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: fdb9a3c7596547d3fab763efe8ed0cec9c82bed7dadcc2dccbbae2b69651f04109b7d49498c54c3c9bb0df2375f0015927598c9d31c36c3366bd86bc2d0ff60a + languageName: node + linkType: hard + "@rollup/plugin-run@npm:^3.0.1": version: 3.0.1 resolution: "@rollup/plugin-run@npm:3.0.1" @@ -14045,6 +14086,22 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-terser@npm:^0.4.4": + version: 0.4.4 + resolution: "@rollup/plugin-terser@npm:0.4.4" + dependencies: + serialize-javascript: ^6.0.1 + smob: ^1.0.0 + terser: ^5.17.4 + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 5472f659fbb7034488df91eb01ecd2ddf6d2cf203d049aa486139225ad5566254c6ec24aad1f5d1167e35f480212ede5160df9cc80e149a28874f78ed6a7fd9a + languageName: node + linkType: hard + "@rollup/plugin-typescript@npm:^11.1.1": version: 11.1.2 resolution: "@rollup/plugin-typescript@npm:11.1.2" @@ -14174,6 +14231,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm-eabi@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.26.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@rollup/rollup-android-arm-eabi@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-android-arm-eabi@npm:4.5.0" @@ -14181,6 +14245,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm64@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-android-arm64@npm:4.26.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-android-arm64@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-android-arm64@npm:4.5.0" @@ -14188,6 +14259,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-darwin-arm64@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.26.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-darwin-arm64@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-darwin-arm64@npm:4.5.0" @@ -14195,6 +14273,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-darwin-x64@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.26.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@rollup/rollup-darwin-x64@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-darwin-x64@npm:4.5.0" @@ -14202,6 +14287,27 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-freebsd-arm64@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.26.0" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.26.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.26.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-arm-gnueabihf@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.5.0" @@ -14209,6 +14315,20 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-arm-musleabihf@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.26.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.26.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-arm64-gnu@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.5.0" @@ -14216,6 +14336,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-arm64-musl@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.26.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-arm64-musl@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-linux-arm64-musl@npm:4.5.0" @@ -14223,6 +14350,34 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.26.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.26.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.26.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.26.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-x64-gnu@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-linux-x64-gnu@npm:4.5.0" @@ -14230,6 +14385,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-x64-musl@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.26.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-x64-musl@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-linux-x64-musl@npm:4.5.0" @@ -14237,6 +14399,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-win32-arm64-msvc@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.26.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-win32-arm64-msvc@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.5.0" @@ -14244,6 +14413,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-win32-ia32-msvc@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.26.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@rollup/rollup-win32-ia32-msvc@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.5.0" @@ -14251,6 +14427,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-win32-x64-msvc@npm:4.26.0": + version: 4.26.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.26.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rollup/rollup-win32-x64-msvc@npm:4.5.0": version: 4.5.0 resolution: "@rollup/rollup-win32-x64-msvc@npm:4.5.0" @@ -17380,6 +17563,16 @@ __metadata: languageName: node linkType: hard +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "*" + "@types/estree": "*" + checksum: e2889a124aaab0b89af1bab5959847c5bec09809209255de0e63b9f54c629a94781daa04adb66bffcdd742f5e25a17614fb933965093c0eea64aacda4309380e + languageName: node + linkType: hard + "@types/eslint@npm:*, @types/eslint@npm:^7.29.0 || ^8.4.1, @types/eslint@npm:^8": version: 8.44.0 resolution: "@types/eslint@npm:8.44.0" @@ -17404,6 +17597,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 8825d6e729e16445d9a1dd2fb1db2edc5ed400799064cd4d028150701031af012ba30d6d03fe9df40f4d7a437d0de6d2b256020152b7b09bde9f2e420afdffd9 + languageName: node + linkType: hard + "@types/estree@npm:^0.0.51": version: 0.0.51 resolution: "@types/estree@npm:0.0.51" @@ -19941,6 +20141,16 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.12.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" + dependencies: + "@webassemblyjs/helper-numbers": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + checksum: f9154ad9ea14f6f2374ebe918c221fd69a4d4514126a1acc6fa4966e8d27ab28cb550a5e6880032cf620e19640578658a7e5a55bd2aad1e3db4e9d598b8f2099 + languageName: node + linkType: hard + "@webassemblyjs/floating-point-hex-parser@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" @@ -19948,6 +20158,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: e866ec8433f4a70baa511df5e8f2ebcd6c24f4e2cc6274c7c5aabe2bcce3459ea4680e0f35d450e1f3602acf3913b6b8e4f15069c8cfd34ae8609fb9a7d01795 + languageName: node + linkType: hard + "@webassemblyjs/helper-api-error@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" @@ -19955,6 +20172,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 48b5df7fd3095bb252f59a139fe2cbd999a62ac9b488123e9a0da3906ad8a2f2da7b2eb21d328c01a90da987380928706395c2897d1f3ed9e2125b6d75a920d0 + languageName: node + linkType: hard + "@webassemblyjs/helper-buffer@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/helper-buffer@npm:1.11.6" @@ -19962,6 +20186,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: b611e981dfd6a797c3d8fc3a772de29a6e55033737c2c09c31bb66c613bdbb2d25f915df1dee62a602c6acc057ca71128432fa8c3e22a893e1219dc454f14ede + languageName: node + linkType: hard + "@webassemblyjs/helper-numbers@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" @@ -19973,6 +20204,17 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" + dependencies: + "@webassemblyjs/floating-point-hex-parser": 1.13.2 + "@webassemblyjs/helper-api-error": 1.13.2 + "@xtuc/long": 4.2.2 + checksum: 49e2c9bf9b66997e480f6b44d80f895b3cde4de52ac135921d28e144565edca6903a519f627f4089b5509de1d7f9e5023f0e1a94ff78a36c9e2eb30e7c18ffd2 + languageName: node + linkType: hard + "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" @@ -19980,6 +20222,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 8e059e1c1f0294f4fc3df8e4eaff3c5ef6e2e1358f34ebc118eaf5070ed59e56ed7fc92b28be734ebde17c8d662d5d27e06ade686c282445135da083ae11c128 + languageName: node + linkType: hard + "@webassemblyjs/helper-wasm-section@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.6" @@ -19992,6 +20241,18 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/wasm-gen": 1.14.1 + checksum: 0a08d454a63192cd66abf91b6f060ac4b466cef341262246e9dcc828dd4c8536195dea9b46a1244b1eac65b59b8b502164a771a190052a92ff0a0a2ded0f8f53 + languageName: node + linkType: hard + "@webassemblyjs/ieee754@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/ieee754@npm:1.11.6" @@ -20001,6 +20262,15 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" + dependencies: + "@xtuc/ieee754": ^1.2.0 + checksum: d7e3520baa37a7309fa7db4d73d69fb869878853b1ebd4b168821bd03fcc4c0e1669c06231315b0039035d9a7a462e53de3ad982da4a426a4b0743b5888e8673 + languageName: node + linkType: hard + "@webassemblyjs/leb128@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/leb128@npm:1.11.6" @@ -20010,6 +20280,15 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" + dependencies: + "@xtuc/long": 4.2.2 + checksum: 64083507f7cff477a6d71a9e325d95665cea78ec8df99ca7c050e1cfbe300fbcf0842ca3dcf3b4fa55028350135588a4f879398d3dd2b6a8de9913ce7faf5333 + languageName: node + linkType: hard + "@webassemblyjs/utf8@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/utf8@npm:1.11.6" @@ -20017,6 +20296,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 95ec6052f30eefa8d50c9b2a3394d08b17d53a4aa52821451d41d774c126fa8f39b988fbf5bff56da86852a87c16d676e576775a4071e5e5ccf020cc85a4b281 + languageName: node + linkType: hard + "@webassemblyjs/wasm-edit@npm:^1.11.5": version: 1.11.6 resolution: "@webassemblyjs/wasm-edit@npm:1.11.6" @@ -20033,6 +20319,22 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-edit@npm:^1.12.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/helper-wasm-section": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-opt": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wast-printer": 1.14.1 + checksum: 9341c3146bb1b7863f03d6050c2a66990f20384ca137388047bbe1feffacb599e94fca7b7c18287d17e2449ffb4005fdc7f41f674a6975af9ad8522756f8ffff + languageName: node + linkType: hard + "@webassemblyjs/wasm-gen@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/wasm-gen@npm:1.11.6" @@ -20046,6 +20348,19 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 401b12bec7431c4fc29d9414bbe40d3c6dc5be04d25a116657c42329f5481f0129f3b5834c293f26f0e42681ceac9157bf078ce9bdb6a7f78037c650373f98b2 + languageName: node + linkType: hard + "@webassemblyjs/wasm-opt@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/wasm-opt@npm:1.11.6" @@ -20058,6 +20373,18 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + checksum: 60c697a9e9129d8d23573856df0791ba33cea4a3bc2339044cae73128c0983802e5e50a42157b990eeafe1237eb8e7653db6de5f02b54a0ae7b81b02dcdf2ae9 + languageName: node + linkType: hard + "@webassemblyjs/wasm-parser@npm:1.11.6, @webassemblyjs/wasm-parser@npm:^1.11.5": version: 1.11.6 resolution: "@webassemblyjs/wasm-parser@npm:1.11.6" @@ -20072,6 +20399,20 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.12.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-api-error": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 93f1fe2676da465b4e824419d9812a3d7218de4c3addd4e916c04bc86055fa134416c1b67e4b7cbde8d728c0dce2721d06cc0bfe7a7db7c093a0898009937405 + languageName: node + linkType: hard + "@webassemblyjs/wast-printer@npm:1.11.6": version: 1.11.6 resolution: "@webassemblyjs/wast-printer@npm:1.11.6" @@ -20082,6 +20423,16 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@xtuc/long": 4.2.2 + checksum: 517881a0554debe6945de719d100b2d8883a2d24ddf47552cdeda866341e2bb153cd824a864bc7e2a61190a4b66b18f9899907e0074e9e820d2912ac0789ea60 + languageName: node + linkType: hard + "@xmldom/xmldom@npm:^0.8.8": version: 0.8.10 resolution: "@xmldom/xmldom@npm:0.8.10" @@ -20358,6 +20709,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.14.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" + bin: + acorn: bin/acorn + checksum: 8755074ba55fff94e84e81c72f1013c2d9c78e973c31231c8ae505a5f966859baf654bddd75046bffd73ce816b149298977fff5077a3033dedba0ae2aad152d4 + languageName: node + linkType: hard + "address@npm:^1.0.1, address@npm:^1.1.2": version: 1.2.2 resolution: "address@npm:1.2.2" @@ -22597,6 +22957,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.24.0": + version: 4.24.2 + resolution: "browserslist@npm:4.24.2" + dependencies: + caniuse-lite: ^1.0.30001669 + electron-to-chromium: ^1.5.41 + node-releases: ^2.0.18 + update-browserslist-db: ^1.1.1 + bin: + browserslist: cli.js + checksum: cf64085f12132d38638f38937a255edb82c7551b164a98577b055dd79719187a816112f7b97b9739e400c4954cd66479c0d7a843cb816e346f4795dc24fd5d97 + languageName: node + linkType: hard + "bs-logger@npm:0.x": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" @@ -23066,6 +23440,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001669": + version: 1.0.30001680 + resolution: "caniuse-lite@npm:1.0.30001680" + checksum: 2641d2b18c5ab0a6663cb350c5adc81e5ede1a7677d1c7518a8053ada87bf6f206419e1820a2608f76fa5e4f7bea327cbe47df423783e571569a88c0ea645270 + languageName: node + linkType: hard + "case-sensitive-paths-webpack-plugin@npm:^2.4.0": version: 2.4.0 resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" @@ -23227,6 +23608,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.1": + version: 4.0.1 + resolution: "chokidar@npm:4.0.1" + dependencies: + readdirp: ^4.0.1 + checksum: 193da9786b0422a895d59c7552195d15c6c636e6a2293ae43d09e34e243e24ccd02d693f007c767846a65abbeae5fea6bfacb8fc2ddec4ea4d397620d552010d + languageName: node + linkType: hard + "chownr@npm:^1.1.1": version: 1.1.4 resolution: "chownr@npm:1.1.4" @@ -26013,15 +26403,15 @@ __metadata: languageName: node linkType: hard -"eciesjs@npm:^0.4.10": - version: 0.4.10 - resolution: "eciesjs@npm:0.4.10" +"eciesjs@npm:^0.4.11": + version: 0.4.11 + resolution: "eciesjs@npm:0.4.11" dependencies: - "@ecies/ciphers": ^0.2.0 + "@ecies/ciphers": ^0.2.1 "@noble/ciphers": ^1.0.0 "@noble/curves": ^1.6.0 "@noble/hashes": ^1.5.0 - checksum: 4fd6588be41118f0b91b74d6de22d03430c148e38a1bcc711b5283a762d21b5163e7ed1b3308337f8e15a6410774b9c6fe41f0f4736b60e513987bfabd09693c + checksum: 71a725716f859d4251c7a061bedd90f280b23570e61f2d45873507447f3d7d60a0b22bd9ce519a32858ba175506a9a10a6321eab22732f8433f9ae850cd0d791 languageName: node linkType: hard @@ -26089,6 +26479,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.41": + version: 1.5.60 + resolution: "electron-to-chromium@npm:1.5.60" + checksum: 049764e0d3a459a312e203c8812e99041be510236467e4bc22d1fec67073e8191e6710b24b4dff980819effe3877b0666f00f5243d411cd1e5419886e7f904f6 + languageName: node + linkType: hard + "elliptic@npm:6.5.4, elliptic@npm:^6.5.3": version: 6.5.4 resolution: "elliptic@npm:6.5.4" @@ -26319,6 +26716,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.17.1": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: 4bc38cf1cea96456f97503db7280394177d1bc46f8f87c267297d04f795ac5efa81e48115a2f5b6273c781027b5b6bfc5f62b54df629e4d25fa7001a86624f59 + languageName: node + linkType: hard + "enquirer@npm:^2.3.5": version: 2.3.6 resolution: "enquirer@npm:2.3.6" @@ -27026,6 +27433,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 47b029c83de01b0d17ad99ed766347b974b0d628e848de404018f3abee728e987da0d2d370ad4574aa3d5b5bfc368754fd085d69a30f8e75903486ec4b5b709e + languageName: node + linkType: hard + "escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" @@ -28537,7 +28951,7 @@ __metadata: languageName: node linkType: hard -"eventemitter2@npm:^6.4.5, eventemitter2@npm:^6.4.7": +"eventemitter2@npm:^6.4.5, eventemitter2@npm:^6.4.7, eventemitter2@npm:^6.4.9": version: 6.4.9 resolution: "eventemitter2@npm:6.4.9" checksum: be59577c1e1c35509c7ba0e2624335c35bbcfd9485b8a977384c6cc6759341ea1a98d3cb9dbaa5cea4fff9b687e504504e3f9c2cc1674cf3bd8a43a7c74ea3eb @@ -29428,6 +29842,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.2": + version: 6.4.2 + resolution: "fdir@npm:6.4.2" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 517ad31c495f1c0778238eef574a7818788efaaf2ce1969ffa18c70793e2951a9763dfa2e6720b8fcef615e602a3cbb47f9b8aea9da0b02147579ab36043f22f + languageName: node + linkType: hard + "fecha@npm:^4.2.0": version: 4.2.3 resolution: "fecha@npm:4.2.3" @@ -30698,7 +31124,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 @@ -34757,6 +35183,15 @@ __metadata: languageName: node linkType: hard +"jiti@npm:^2.0.0": + version: 2.4.0 + resolution: "jiti@npm:2.4.0" + bin: + jiti: lib/jiti-cli.mjs + checksum: b7d8c441214e48f6c1be2952a83f40e2b1eb6e94fe81b1fd89370d11a7e322c61eb3fbd9a8d47029e14338414091ebbb575e1a92c645ab30fea6240c5c4957c7 + languageName: node + linkType: hard + "joi@npm:17.9.1": version: 17.9.1 resolution: "joi@npm:17.9.1" @@ -35583,6 +36018,13 @@ __metadata: languageName: node linkType: hard +"lilconfig@npm:^3.1.2": + version: 3.1.2 + resolution: "lilconfig@npm:3.1.2" + checksum: 4e8b83ddd1d0ad722600994e6ba5d858ddca14f0587aa6b9c8185e17548149b5e13d4d583d811e9e9323157fa8c6a527e827739794c7502b59243c58e210b8c3 + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -38620,6 +39062,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: ef55a3d853e1269a6d6279b7692cd6ff3e40bc74947945101138745bfdc9a5edabfe72cb19a31a8e45752e1910c4c65c77d931866af6357f242b172b7283f5b3 + languageName: node + linkType: hard + "node-stream-zip@npm:^1.9.1": version: 1.15.0 resolution: "node-stream-zip@npm:1.15.0" @@ -39911,6 +40360,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.1.0": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.0, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -39925,6 +40381,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: a7a5188c954f82c6585720e9143297ccd0e35ad8072231608086ca950bee672d51b0ef676254af0788205e59bd4e4deb4e7708769226bed725bf13370a7d1464 + languageName: node + linkType: hard + "pidtree@npm:^0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -41573,7 +42036,16 @@ __metadata: languageName: node linkType: hard -"qrcode-generator@npm:^1.4.3": +"qr-code-styling@npm:^1.8.4": + version: 1.8.4 + resolution: "qr-code-styling@npm:1.8.4" + dependencies: + qrcode-generator: ^1.4.4 + checksum: 755c5dfd242d1e3ac01de39453664eb554030226ca74d9ea68a421ac1c12f204a60aef4714b473c6a1a85ef1222c3deb77bdc4bed9554c5af700133e08f25602 + languageName: node + linkType: hard + +"qrcode-generator@npm:^1.4.3, qrcode-generator@npm:^1.4.4": version: 1.4.4 resolution: "qrcode-generator@npm:1.4.4" checksum: 860cfdd2a7a608d34e92cab99774cc08182e1911432f30ed36d16f8a5cdabd7fdf40239caed91fa2691cfe66c8d95c1340a2fc9cc439eed07a9f2eb328c6f527 @@ -43039,6 +43511,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.0.2 + resolution: "readdirp@npm:4.0.2" + checksum: 309376e717f94fb7eb61bec21e2603243a9e2420cd2e9bf94ddf026aefea0d7377ed1a62f016d33265682e44908049a55c3cfc2307450a1421654ea008489b39 + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -43770,6 +44249,13 @@ __metadata: languageName: node linkType: hard +"rollup-plugin-analyzer@npm:^4.0.0": + version: 4.0.0 + resolution: "rollup-plugin-analyzer@npm:4.0.0" + checksum: 72f794f79efe4f620674a48949be9f64dc3cbf601c52ff90ae7cbeaacb604b86bb34321695d0f8f320e5c0b47880022849d92c51d231e1b32c6757a2c627be5e + languageName: node + linkType: hard + "rollup-plugin-copy-assets@npm:^2.0.3": version: 2.0.3 resolution: "rollup-plugin-copy-assets@npm:2.0.3" @@ -43889,14 +44375,14 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-polyfill-node@npm:^0.11.0": - version: 0.11.0 - resolution: "rollup-plugin-polyfill-node@npm:0.11.0" +"rollup-plugin-polyfill-node@npm:^0.13.0": + version: 0.13.0 + resolution: "rollup-plugin-polyfill-node@npm:0.13.0" dependencies: - "@rollup/plugin-inject": ^5.0.1 + "@rollup/plugin-inject": ^5.0.4 peerDependencies: - rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 - checksum: 059657c718154964c7b2e9140aa884fb1602a2f9348124f942d3ce4e5640fcf92733cd9096c77d7ff99842b3a07b7e237126b5b185d678f7f523aaf0d949e67b + rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + checksum: 73c5b9086955afa108c940c13205fab4cece149d020a3faa696c5711bbb391d11aecd4c913ad2cc5ac24f9d43a4969ad8d087d085dd8d423dece45b6be4039bb languageName: node linkType: hard @@ -44107,6 +44593,75 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^4.26.0": + version: 4.26.0 + resolution: "rollup@npm:4.26.0" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.26.0 + "@rollup/rollup-android-arm64": 4.26.0 + "@rollup/rollup-darwin-arm64": 4.26.0 + "@rollup/rollup-darwin-x64": 4.26.0 + "@rollup/rollup-freebsd-arm64": 4.26.0 + "@rollup/rollup-freebsd-x64": 4.26.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.26.0 + "@rollup/rollup-linux-arm-musleabihf": 4.26.0 + "@rollup/rollup-linux-arm64-gnu": 4.26.0 + "@rollup/rollup-linux-arm64-musl": 4.26.0 + "@rollup/rollup-linux-powerpc64le-gnu": 4.26.0 + "@rollup/rollup-linux-riscv64-gnu": 4.26.0 + "@rollup/rollup-linux-s390x-gnu": 4.26.0 + "@rollup/rollup-linux-x64-gnu": 4.26.0 + "@rollup/rollup-linux-x64-musl": 4.26.0 + "@rollup/rollup-win32-arm64-msvc": 4.26.0 + "@rollup/rollup-win32-ia32-msvc": 4.26.0 + "@rollup/rollup-win32-x64-msvc": 4.26.0 + "@types/estree": 1.0.6 + fsevents: ~2.3.2 + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 1788fd56a1e4ec111869a1e5b0b93484837fd27f845f111920b1064c14a4774f324546a412101bea368a14d059f371bc25702b19129e17839f1b960785314552 + languageName: node + linkType: hard + "rollup@npm:^4.5.0": version: 4.5.0 resolution: "rollup@npm:4.5.0" @@ -44996,6 +45551,23 @@ __metadata: languageName: node linkType: hard +"size-limit@npm:^11.1.6": + version: 11.1.6 + resolution: "size-limit@npm:11.1.6" + dependencies: + bytes-iec: ^3.1.1 + chokidar: ^4.0.1 + jiti: ^2.0.0 + lilconfig: ^3.1.2 + nanospinner: ^1.1.0 + picocolors: ^1.1.0 + tinyglobby: ^0.2.7 + bin: + size-limit: bin.js + checksum: b3c2bae97a955a1a7b1d28a4cedff36d054a715e2627cb895a04eed5397429a4fc4e78163c95a799b1a4e71f4ee1c1168e190e662cc99495bc03b82e9a960d6e + languageName: node + linkType: hard + "sjcl@npm:^1.0.3": version: 1.0.8 resolution: "sjcl@npm:1.0.8" @@ -45723,6 +46295,18 @@ __metadata: languageName: node linkType: hard +"stream-http@npm:^3.2.0": + version: 3.2.0 + resolution: "stream-http@npm:3.2.0" + dependencies: + builtin-status-codes: ^3.0.0 + inherits: ^2.0.4 + readable-stream: ^3.6.0 + xtend: ^4.0.2 + checksum: c9b78453aeb0c84fcc59555518ac62bacab9fa98e323e7b7666e5f9f58af8f3155e34481078509b02929bd1268427f664d186604cdccee95abc446099b339f83 + languageName: node + linkType: hard + "stream-shift@npm:^1.0.0": version: 1.0.1 resolution: "stream-shift@npm:1.0.1" @@ -47041,6 +47625,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.7": + version: 0.2.10 + resolution: "tinyglobby@npm:0.2.10" + dependencies: + fdir: ^6.4.2 + picomatch: ^4.0.2 + checksum: 7e2ffe262ebc149036bdef37c56b32d02d52cf09efa7d43dbdab2ea3c12844a4da881058835ce4c74d1891190e5ad5ec5133560a11ec8314849b68ad0d99d3f4 + languageName: node + linkType: hard + "titleize@npm:^3.0.0": version: 3.0.0 resolution: "titleize@npm:3.0.0" @@ -47365,7 +47959,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0, tslib@npm:latest": +"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0": version: 2.6.0 resolution: "tslib@npm:2.6.0" checksum: c01066038f950016a18106ddeca4649b4d76caa76ec5a31e2a26e10586a59fceb4ee45e96719bf6c715648e7c14085a81fee5c62f7e9ebee68e77a5396e5538f @@ -47379,6 +47973,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:latest": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -47680,7 +48281,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^4.6.4 || ^5.0.0, typescript@npm:^5.0.2, typescript@npm:^5.0.4": +"typescript@npm:^4.6.4 || ^5.0.0, typescript@npm:^5.0.4": version: 5.1.6 resolution: "typescript@npm:5.1.6" bin: @@ -47710,6 +48311,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: ba302f8822777ebefb28b554105f3e074466b671e7444ec6b75dadc008a62f46f373d9e57ceced1c433756d06c8b7dc569a7eefdf3a9573122a49205ff99021a + languageName: node + linkType: hard + "typescript@npm:~5.3.3": version: 5.3.3 resolution: "typescript@npm:5.3.3" @@ -47750,7 +48361,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@^4.6.4 || ^5.0.0#~builtin, typescript@patch:typescript@^5.0.2#~builtin, typescript@patch:typescript@^5.0.4#~builtin": +"typescript@patch:typescript@^4.6.4 || ^5.0.0#~builtin, typescript@patch:typescript@^5.0.4#~builtin": version: 5.1.6 resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin::version=5.1.6&hash=77c9e2" bin: @@ -47780,6 +48391,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@^5.6.3#~builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#~builtin::version=5.6.3&hash=77c9e2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: ade87bce2363ee963eed0e4ca8a312ea02c81873ebd53609bc3f6dc0a57f6e61ad7e3fb8cbb7f7ab8b5081cbee801b023f7c4823ee70b1c447eae050e6c7622b + languageName: node + linkType: hard + "typescript@patch:typescript@~5.3.3#~builtin": version: 5.3.3 resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=77c9e2" @@ -48239,6 +48860,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.1.1": + version: 1.1.1 + resolution: "update-browserslist-db@npm:1.1.1" + dependencies: + escalade: ^3.2.0 + picocolors: ^1.1.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 2ea11bd2562122162c3e438d83a1f9125238c0844b6d16d366e3276d0c0acac6036822dc7df65fc5a89c699cdf9f174acf439c39bedf3f9a2f3983976e4b4c3e + languageName: node + linkType: hard + "update-check@npm:1.5.4": version: 1.5.4 resolution: "update-check@npm:1.5.4" @@ -48762,6 +49397,16 @@ __metadata: languageName: node linkType: hard +"watchpack@npm:^2.4.1": + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" + dependencies: + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.1.2 + checksum: 92d9d52ce3d16fd83ed6994d1dd66a4d146998882f4c362d37adfea9ab77748a5b4d1e0c65fa104797928b2d40f635efa8f9b925a6265428a69f1e1852ca3441 + languageName: node + linkType: hard + "wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": version: 1.7.3 resolution: "wbuf@npm:1.7.3" @@ -49329,6 +49974,42 @@ __metadata: languageName: node linkType: hard +"webpack@npm:^5.0.0": + version: 5.96.1 + resolution: "webpack@npm:5.96.1" + dependencies: + "@types/eslint-scope": ^3.7.7 + "@types/estree": ^1.0.6 + "@webassemblyjs/ast": ^1.12.1 + "@webassemblyjs/wasm-edit": ^1.12.1 + "@webassemblyjs/wasm-parser": ^1.12.1 + acorn: ^8.14.0 + browserslist: ^4.24.0 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^5.17.1 + es-module-lexer: ^1.2.1 + eslint-scope: 5.1.1 + events: ^3.2.0 + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.2.11 + json-parse-even-better-errors: ^2.3.1 + loader-runner: ^4.2.0 + mime-types: ^2.1.27 + neo-async: ^2.6.2 + schema-utils: ^3.2.0 + tapable: ^2.1.1 + terser-webpack-plugin: ^5.3.10 + watchpack: ^2.4.1 + webpack-sources: ^3.2.3 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: ec3662f64895fae408440a997f87299e374c9d9f911f77b880bab46402f52221c7836bdf101fc2556338d07fc7cb86da50661f944eb1d1041a8361a5b9247876 + languageName: node + linkType: hard + "webpack@npm:^5.64.4": version: 5.88.2 resolution: "webpack@npm:5.88.2" @@ -50230,7 +50911,7 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:~4.0.1": +"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:^4.0.2, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a