diff --git a/.npmrc b/.npmrc index b6195a45..16dde58b 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,2 @@ auto-install-peers=true -save-exact=true +save-exact=true \ No newline at end of file diff --git a/packages/@tests/marine/node/.prettierrc.js b/.prettierrc.cjs similarity index 100% rename from packages/@tests/marine/node/.prettierrc.js rename to .prettierrc.cjs diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 9a1505ba..00000000 --- a/package-lock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "fluence-js", - "lockfileVersion": 2, - "requires": true, - "packages": {} -} diff --git a/package.json b/package.json new file mode 100644 index 00000000..b7117f6e --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "common-dev-deps", + "version": "0.1.0", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "type": "module", + "engines": { + "node": ">=10", + "pnpm": ">=3" + }, + "scripts": {}, + "author": "Fluence Labs", + "license": "Apache-2.0", + "dependencies": {}, + "devDependencies": { + "ts-node": "10.9.1", + "typescript": "4.7" + } +} diff --git a/packages/@tests/marine/node/package.json b/packages/@tests/marine/node/package.json.skip similarity index 100% rename from packages/@tests/marine/node/package.json rename to packages/@tests/marine/node/package.json.skip diff --git a/packages/@tests/marine/node/tsconfig.json b/packages/@tests/marine/node/tsconfig.json index 23385c4b..32d340ac 100644 --- a/packages/@tests/marine/node/tsconfig.json +++ b/packages/@tests/marine/node/tsconfig.json @@ -1,17 +1,7 @@ { + "extends": "../../../../tsconfig.json", "compilerOptions": { - "lib": ["es2015", "dom"], - "outDir": "./dist/", - "target": "es5", - "module": "commonjs", - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "declaration": true, - "declarationMap": false, - "sourceMap": true + "outDir": "./dist" }, - "exclude": ["node_modules", "dist"], - "include": ["src"] + "exclude": ["node_modules", "dist"] } diff --git a/packages/@tests/marine/web/.prettierrc.js b/packages/@tests/marine/web/.prettierrc.js deleted file mode 100644 index 36f36b84..00000000 --- a/packages/@tests/marine/web/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: 'all', - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false, -}; diff --git a/packages/@tests/marine/web/tsconfig.json b/packages/@tests/marine/web/tsconfig.json index 9315f3cb..32d340ac 100644 --- a/packages/@tests/marine/web/tsconfig.json +++ b/packages/@tests/marine/web/tsconfig.json @@ -1,23 +1,7 @@ { + "extends": "../../../../tsconfig.json", "compilerOptions": { - "outDir": "./dist/", - "allowJs": true, - "baseUrl": ".", - "sourceMap": false, - "inlineSources": false, - "pretty": true, - "target": "esnext", - "module": "esnext", - "moduleResolution": "node", - "declaration": false, - "esModuleInterop": true, - "declarationMap": false, - "strict": true, - "noImplicitAny": false, - "alwaysStrict": true, - "noImplicitThis": true, - "strictNullChecks": false + "outDir": "./dist" }, - "exclude": ["node_modules", "dist"], - "include": ["src", "test"] + "exclude": ["node_modules", "dist"] } diff --git a/packages/@tests/react_test/tsconfig.json b/packages/@tests/react_test/tsconfig.json index a273b0cf..8c892f21 100644 --- a/packages/@tests/react_test/tsconfig.json +++ b/packages/@tests/react_test/tsconfig.json @@ -1,26 +1,7 @@ { - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": [ - "src" - ] + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "exclude": ["node_modules", "dist"] } diff --git a/packages/@tests/smoke/package.json b/packages/@tests/smoke/package.json.skip similarity index 88% rename from packages/@tests/smoke/package.json rename to packages/@tests/smoke/package.json.skip index 41bae191..703f72bd 100644 --- a/packages/@tests/smoke/package.json +++ b/packages/@tests/smoke/package.json.skip @@ -17,8 +17,7 @@ "license": "Apache-2.0", "dependencies": { "@fluencelabs/fluence": "workspace:*", - "@fluencelabs/js-client.node": "workspace:*", - "ts-node": "10.9.1" + "@fluencelabs/js-client.node": "workspace:*" }, "devDependencies": { "@types/node": "16.11.59", diff --git a/packages/@tests/smoke/tsconfig.json b/packages/@tests/smoke/tsconfig.json index 8ab4e60c..8c892f21 100644 --- a/packages/@tests/smoke/tsconfig.json +++ b/packages/@tests/smoke/tsconfig.json @@ -1,12 +1,7 @@ { + "extends": "../../../tsconfig.json", "compilerOptions": { - "outDir": "./dist/", - "module": "commonjs", - "moduleResolution": "node", - "sourceMap": true, - "declaration": true, - "skipDefaultLibCheck": true - }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] + "outDir": "./dist" + }, + "exclude": ["node_modules", "dist"] } diff --git a/packages/client/compiler-support/.prettierrc.js b/packages/client/compiler-support/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/client/compiler-support/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/client/compiler-support/package.json b/packages/client/compiler-support/package.json.skip similarity index 81% rename from packages/client/compiler-support/package.json rename to packages/client/compiler-support/package.json.skip index 771c7aa1..6705c6ca 100644 --- a/packages/client/compiler-support/package.json +++ b/packages/client/compiler-support/package.json.skip @@ -15,14 +15,12 @@ "author": "Fluence Labs", "license": "Apache-2.0", "dependencies": { - "@fluencelabs/js-peer": "workspace:0.1.0" + "@fluencelabs/js-peer": "workspace:*" }, "devDependencies": { "@types/node": "16.11.59", "@types/jest": "28.1.0", "jest": "28.1.0", - "ts-jest": "28.0.2", - "ts-node": "10.9.1", - "typescript": "4.6.4" + "ts-jest": "28.0.2" } } diff --git a/packages/client/compiler-support/tsconfig.json b/packages/client/compiler-support/tsconfig.json index 0d2020f2..8c892f21 100644 --- a/packages/client/compiler-support/tsconfig.json +++ b/packages/client/compiler-support/tsconfig.json @@ -1,21 +1,7 @@ { + "extends": "../../../tsconfig.json", "compilerOptions": { - "outDir": "./dist/", - "baseUrl": ".", - "downlevelIteration": true, - "sourceMap": true, - "inlineSources": true, - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true, - "target": "ES5", - "module": "commonjs", - "moduleResolution": "node", - "declaration": true, - "esModuleInterop": true, - "declarationMap": true, - "strict": true, - "skipLibCheck": true + "outDir": "./dist" }, - "exclude": ["node_modules", "dist", "bundle"], - "include": ["src/**/*"] + "exclude": ["node_modules", "dist"] } diff --git a/packages/client/fluence-js/.prettierrc.js b/packages/client/fluence-js/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/client/fluence-js/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/client/fluence-js/README.md b/packages/client/fluence-js/README.md deleted file mode 100644 index c1052b60..00000000 --- a/packages/client/fluence-js/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Fluence JS - -[![npm](https://img.shields.io/npm/v/@fluencelabs/fluence)](https://www.npmjs.com/package/@fluencelabs/fluence) - -Official TypeScript implementation of the Fluence Peer. - -## Getting started - -To start developing applications with Fluence JS refer to the official [documentation](https://fluence.dev/docs/build/fluence-js/) - -## Contributing - -While the project is still in the early stages of development, you are welcome to track progress and contribute. As the project is undergoing rapid changes, interested contributors should contact the team before embarking on larger pieces of work. All contributors should consult with and agree to our [basic contributing rules](CONTRIBUTING.md). - -## License - -[Apache 2.0](LICENSE) diff --git a/packages/client/fluence-js/jest.config.js b/packages/client/fluence-js/jest.config.js deleted file mode 100644 index 05820877..00000000 --- a/packages/client/fluence-js/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testTimeout: 10000, - testPathIgnorePatterns: ['dist'], -}; diff --git a/packages/client/fluence-js/package.json b/packages/client/fluence-js/package.json deleted file mode 100644 index cb0e7227..00000000 --- a/packages/client/fluence-js/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@fluencelabs/fluence", - "version": "0.28.0", - "description": "TypeScript implementation of Fluence Peer", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "loglevel": "1.8.1", - "@fluencelabs/keypair": "workspace:0.2.0", - "@fluencelabs/avm": "0.32.1", - "@fluencelabs/marine-js": "0.3.38", - "@fluencelabs/js-peer": "workspace:0.1.0" - }, - "devDependencies": { - "@types/node": "16.11.59", - "@types/jest": "28.1.0", - "jest": "28.1.0", - "ts-jest": "28.0.2", - "ts-node": "10.9.1", - "typescript": "4.6.4" - } -} diff --git a/packages/client/fluence-js/src/index.ts b/packages/client/fluence-js/src/index.ts deleted file mode 100644 index 670b7462..00000000 --- a/packages/client/fluence-js/src/index.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import log, { LogLevelDesc } from 'loglevel'; -export { KeyPair } from '@fluencelabs/keypair'; - -import { FluencePeer, PeerConfig } from '@fluencelabs/js-peer/dist/FluencePeer'; - -export { PeerStatus } from '@fluencelabs/js-peer/dist/FluencePeer'; -export { FluencePeer, PeerConfig } from '@fluencelabs/js-peer/dist/FluencePeer'; -export { PeerIdB58, CallParams } from '@fluencelabs/js-peer/dist/commonTypes'; - -export const setLogLevel = (level: LogLevelDesc) => { - log.setLevel(level); -}; - -log.setDefaultLevel('WARN'); - -// @ts-ignore -const defaultPeer = globalThis.defaultPeer; - -/** - * Public interface to Fluence JS - */ -export const Fluence = { - /** - * Initializes the default peer: starts the Aqua VM, initializes the default call service handlers - * and (optionally) connect to the Fluence network - * @param config - object specifying peer configuration - */ - start: (config?: PeerConfig): Promise => { - return defaultPeer.start(config); - }, - - /** - * Un-initializes the default peer: stops all the underlying workflows, stops the Aqua VM - * and disconnects from the Fluence network - */ - stop: (): Promise => { - return defaultPeer.stop(); - }, - - /** - * Get the default peer's status - * @returns Default peer's status - */ - getStatus: () => { - return defaultPeer.getStatus(); - }, - - /** - * Get the default peer instance - * @returns the default peer instance - */ - getPeer: (): FluencePeer => { - return defaultPeer; - }, - - /** - * Registers marine service within the default Fluence peer from wasm file. - * Following helper functions can be used to load wasm files: - * * loadWasmFromFileSystem - * * loadWasmFromNpmPackage - * * loadWasmFromServer - * @param wasm - buffer with the wasm file for service - * @param serviceId - the service id by which the service can be accessed in aqua - */ - registerMarineService: (wasm: SharedArrayBuffer | Buffer, serviceId: string): Promise => { - return defaultPeer.registerMarineService(wasm, serviceId); - }, - - /** - * Removes the specified marine service from the default Fluence peer - * @param serviceId - the service id to remove - */ - removeMarineService: (serviceId: string): void => { - defaultPeer.removeMarineService(serviceId); - }, -}; diff --git a/packages/client/fluence-js/src/services.ts b/packages/client/fluence-js/src/services.ts deleted file mode 100644 index 6c642af0..00000000 --- a/packages/client/fluence-js/src/services.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from '@fluencelabs/js-peer/dist/builtins/Sig'; -export { registerSig } from '@fluencelabs/js-peer/dist/_aqua/services'; diff --git a/packages/client/fluence-js/tsconfig.json b/packages/client/fluence-js/tsconfig.json deleted file mode 100644 index 0d2020f2..00000000 --- a/packages/client/fluence-js/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "outDir": "./dist/", - "baseUrl": ".", - "downlevelIteration": true, - "sourceMap": true, - "inlineSources": true, - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true, - "target": "ES5", - "module": "commonjs", - "moduleResolution": "node", - "declaration": true, - "esModuleInterop": true, - "declarationMap": true, - "strict": true, - "skipLibCheck": true - }, - "exclude": ["node_modules", "dist", "bundle"], - "include": ["src/**/*"] -} diff --git a/packages/client/js-client.node/.prettierrc.js b/packages/client/js-client.node/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/client/js-client.node/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/client/js-client.node/package.json b/packages/client/js-client.node/package.json.skip similarity index 71% rename from packages/client/js-client.node/package.json rename to packages/client/js-client.node/package.json.skip index 06e0a1af..4a2dc328 100644 --- a/packages/client/js-client.node/package.json +++ b/packages/client/js-client.node/package.json.skip @@ -15,16 +15,12 @@ "author": "Fluence Labs", "license": "Apache-2.0", "dependencies": { - "@fluencelabs/js-peer": "workspace:0.1.0", - "@fluencelabs/marine.deps-loader.node": "workspace:0.1.0", - "@fluencelabs/marine.background-runner": "workspace:0.1.0" + "@fluencelabs/js-peer": "workspace:*" }, "devDependencies": { "@types/node": "16.11.59", "@types/jest": "28.1.0", "jest": "28.1.0", "ts-jest": "28.0.2", - "ts-node": "10.9.1", - "typescript": "4.6.4" } } diff --git a/packages/client/js-client.node/tsconfig.json b/packages/client/js-client.node/tsconfig.json index 0d2020f2..8c892f21 100644 --- a/packages/client/js-client.node/tsconfig.json +++ b/packages/client/js-client.node/tsconfig.json @@ -1,21 +1,7 @@ { + "extends": "../../../tsconfig.json", "compilerOptions": { - "outDir": "./dist/", - "baseUrl": ".", - "downlevelIteration": true, - "sourceMap": true, - "inlineSources": true, - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true, - "target": "ES5", - "module": "commonjs", - "moduleResolution": "node", - "declaration": true, - "esModuleInterop": true, - "declarationMap": true, - "strict": true, - "skipLibCheck": true + "outDir": "./dist" }, - "exclude": ["node_modules", "dist", "bundle"], - "include": ["src/**/*"] + "exclude": ["node_modules", "dist"] } diff --git a/packages/core/connection/.gitignore b/packages/client/js-client.web.standalone/.gitignore similarity index 98% rename from packages/core/connection/.gitignore rename to packages/client/js-client.web.standalone/.gitignore index 1a59a95f..3d117a64 100644 --- a/packages/core/connection/.gitignore +++ b/packages/client/js-client.web.standalone/.gitignore @@ -9,6 +9,7 @@ lerna-debug.log* # Compiled binary addons (https://nodejs.org/api/addons.html) build/Release bundle/ +tmp/ dist esm diff --git a/packages/client/fluence-js/.prettierignore b/packages/client/js-client.web.standalone/.prettierignore similarity index 100% rename from packages/client/fluence-js/.prettierignore rename to packages/client/js-client.web.standalone/.prettierignore diff --git a/packages/core/keypair/README.md b/packages/client/js-client.web.standalone/README.md similarity index 96% rename from packages/core/keypair/README.md rename to packages/client/js-client.web.standalone/README.md index 59c265cd..b05a79df 100644 --- a/packages/core/keypair/README.md +++ b/packages/client/js-client.web.standalone/README.md @@ -1,4 +1,4 @@ -# FluenceJS Keypair +# JS Client web This package is a part of FluenceJS, the official implementation of the Fluence Peer in typescript. See the [FluenceJS repo](https://github.com/fluencelabs/fluence-js) for more info diff --git a/packages/client/js-client.web.standalone/build.ts b/packages/client/js-client.web.standalone/build.ts new file mode 100644 index 00000000..f4d31883 --- /dev/null +++ b/packages/client/js-client.web.standalone/build.ts @@ -0,0 +1,126 @@ +import * as fs from 'fs'; +import * as path from 'path'; +import { fromUint8Array } from 'js-base64'; +import { build } from 'vite'; +import { createRequire } from 'module'; +import type { InlineConfig } from 'vite'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import * as inject from '@rollup/plugin-inject'; +import { replaceCodePlugin } from 'vite-plugin-replace'; + +const require = createRequire(import.meta.url); + +const getWorkerScriptPathOrDie = () => { + const scriptPath = path.resolve('../../core/dist/marine/worker-script/index.js'); + if (!fs.existsSync(scriptPath)) { + console.error(); + process.exit(1); + } + + return scriptPath; +}; + +const commonConfig = (opts: { + outDir: string; + name: string; + entry: string; +}): InlineConfig & Required> => { + return { + mode: 'production', + build: { + minify: 'esbuild', + lib: { + entry: opts.entry, + name: opts.name, + fileName: opts.name, + }, + outDir: opts.outDir, + }, + base: '', + plugins: [tsconfigPaths()], + optimizeDeps: { + esbuildOptions: { + define: { + global: 'globalThis', + }, + }, + }, + }; +}; + +const readAsBase64 = async (filePath: string): Promise => { + const scriptRaw = await fs.promises.readFile(filePath); + const b64 = fromUint8Array(scriptRaw); + return b64; +}; + +const readWasmFromNpmAsBase64 = (pkg: string, wasmFileName: string): Promise => { + const pkgPath = require.resolve(pkg); + const wasmFilePath = path.join(path.dirname(pkgPath), wasmFileName); + return readAsBase64(wasmFilePath); +}; + +const buildClient = async () => { + await fs.promises.mkdir('tmp', { recursive: true }); + + // build worker script + const workerConfig = commonConfig({ + outDir: './tmp', + entry: getWorkerScriptPathOrDie(), + name: 'worker-script', + }); + workerConfig.build!.rollupOptions = { + plugins: [ + inject.default({ + Buffer: ['buffer', 'Buffer'], + process: 'process', + }), + ], + }; + + await build(workerConfig); + + // build js-client + const jsClientConfig = commonConfig({ + outDir: './dist', + entry: './src/index.ts', + name: 'js-client', + }); + + const workerScriptB64 = await readAsBase64('./tmp/worker-script.umd.cjs'); + const avmBase64 = await readWasmFromNpmAsBase64('@fluencelabs/avm', 'avm.wasm'); + const marineBase64 = await readWasmFromNpmAsBase64('@fluencelabs/marine-js', 'marine-js.wasm'); + + jsClientConfig.plugins!.push( + replaceCodePlugin({ + replacements: [ + { + from: '___worker___', + to: workerScriptB64, + }, + { + from: '___avm___', + to: avmBase64, + }, + { + from: '___marine___', + to: marineBase64, + }, + ], + }), + ); + + await build(jsClientConfig); + + // We should exclude the script with type=module because + // - it might be confusing (i.e won't work in browsers that do not support ESM, or if you miss the `type` attribute) + // - there is a problem when using `self.crypto` in web workers + await fs.promises.rm('./dist/js-client.js'); + + // browsers don't understand `.cjs` extensions, just use `.js` + await fs.promises.rename('./dist/js-client.umd.cjs', './dist/js-client.min.js'); +}; + +buildClient() + .then(() => console.log('Built successfully')) + .catch((err) => console.error('failed', err)); diff --git a/packages/client/js-client.web.standalone/package.json b/packages/client/js-client.web.standalone/package.json new file mode 100644 index 00000000..3c1c6d65 --- /dev/null +++ b/packages/client/js-client.web.standalone/package.json @@ -0,0 +1,39 @@ +{ + "name": "@fluencelabs/js-client.web.standalone", + "version": "0.1.0", + "description": "TypeScript implementation of Fluence Peer", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "engines": { + "node": ">=10", + "pnpm": ">=3" + }, + "type": "module", + "scripts": { + "build": "node --loader ts-node/esm ./build.ts" + }, + "repository": "https://github.com/fluencelabs/fluence-js", + "author": "Fluence Labs", + "license": "Apache-2.0", + "dependencies": { + "@fluencelabs/js-peer": "workspace:*", + "buffer": "6.0.3", + "process": "0.11.10" + }, + "devDependencies": { + "@fluencelabs/avm": "0.35.3", + "@fluencelabs/marine-js": "0.3.42", + "@types/node": "16.11.59", + "@types/jest": "28.1.0", + "jest": "28.1.0", + "ts-jest": "28.0.2", + "js-base64": "3.7.2", + "@rollup/plugin-inject": "5.0.3", + "vite-plugin-replace": "0.1.1", + "vite": "4.0.4", + "vite-tsconfig-paths": "4.0.3" + }, + "peerDependencies": { + "esbuild": "0.16.7" + } +} diff --git a/packages/client/js-client.web.standalone/src/index.ts b/packages/client/js-client.web.standalone/src/index.ts new file mode 100644 index 00000000..00bcff0e --- /dev/null +++ b/packages/client/js-client.web.standalone/src/index.ts @@ -0,0 +1,35 @@ +import { FluencePeer } from '@fluencelabs/js-peer/dist/js-peer/FluencePeer'; +import { MarineBasedAvmRunner } from '@fluencelabs/js-peer/dist/js-peer/avm'; +import { MarineBackgroundRunner } from '@fluencelabs/js-peer/dist/marine/worker'; +import { checkConnection, marineLogFunction } from '@fluencelabs/js-peer/dist/js-peer/utils'; +import { InlinedWorkerLoader, InlinedWasmLoader } from '@fluencelabs/js-peer/dist/marine/deps-loader/common'; + +export const makeDefaultPeer = () => { + const workerLoader = new InlinedWorkerLoader('___worker___'); + const controlModuleLoader = new InlinedWasmLoader('___marine___'); + const avmModuleLoader = new InlinedWasmLoader('___avm___'); + + const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader, marineLogFunction); + const avm = new MarineBasedAvmRunner(marine, avmModuleLoader, undefined); + return new FluencePeer(marine, avm); +}; + +// @ts-ignore +globalThis.defaultPeer = makeDefaultPeer(); + +// TODO! remove after implementing smoke test (DXJ-253) +// @ts-ignore +window.demo = async () => { + // @ts-ignore + const peer: FluencePeer = globalThis.defaultPeer; + + await peer.start({ + connectTo: { + multiaddr: '/ip4/127.0.0.1/tcp/4310/ws/p2p/12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3', + peerId: '12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3', + }, + }); + + const res = await checkConnection(peer); + console.log('Check connection res', res); +}; diff --git a/packages/client/js-client.web.standalone/tsconfig.json b/packages/client/js-client.web.standalone/tsconfig.json new file mode 100644 index 00000000..0d267859 --- /dev/null +++ b/packages/client/js-client.web.standalone/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "moduleResolution": "node" + }, + "exclude": ["node_modules", "dist"] +} diff --git a/packages/client/js-client.web/.prettierrc.js b/packages/client/js-client.web/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/client/js-client.web/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/client/js-client.web/package.json b/packages/client/js-client.web/package.json.skip similarity index 68% rename from packages/client/js-client.web/package.json rename to packages/client/js-client.web/package.json.skip index 778789d3..7ce47f95 100644 --- a/packages/client/js-client.web/package.json +++ b/packages/client/js-client.web/package.json.skip @@ -15,16 +15,12 @@ "author": "Fluence Labs", "license": "Apache-2.0", "dependencies": { - "@fluencelabs/js-peer": "workspace:0.1.0", - "@fluencelabs/marine.deps-loader.web": "workspace:0.1.0", - "@fluencelabs/marine.background-runner": "workspace:0.1.0" + "@fluencelabs/js-peer": "workspace:*" }, "devDependencies": { "@types/node": "16.11.59", "@types/jest": "28.1.0", "jest": "28.1.0", - "ts-jest": "28.0.2", - "ts-node": "10.9.1", - "typescript": "4.6.4" + "ts-jest": "28.0.2" } } diff --git a/packages/client/js-client.web/tsconfig.json b/packages/client/js-client.web/tsconfig.json index 0d2020f2..8c892f21 100644 --- a/packages/client/js-client.web/tsconfig.json +++ b/packages/client/js-client.web/tsconfig.json @@ -1,21 +1,7 @@ { + "extends": "../../../tsconfig.json", "compilerOptions": { - "outDir": "./dist/", - "baseUrl": ".", - "downlevelIteration": true, - "sourceMap": true, - "inlineSources": true, - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true, - "target": "ES5", - "module": "commonjs", - "moduleResolution": "node", - "declaration": true, - "esModuleInterop": true, - "declarationMap": true, - "strict": true, - "skipLibCheck": true + "outDir": "./dist" }, - "exclude": ["node_modules", "dist", "bundle"], - "include": ["src/**/*"] + "exclude": ["node_modules", "dist"] } diff --git a/packages/client/tools/.prettierrc.js b/packages/client/tools/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/client/tools/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/client/tools/package.json b/packages/client/tools/package.json index 272b1c4b..76046db2 100644 --- a/packages/client/tools/package.json +++ b/packages/client/tools/package.json @@ -19,7 +19,6 @@ }, "dependencies": {}, "devDependencies": { - "@types/node": "16.11.59", - "typescript": "4.6.4" + "@types/node": "16.11.59" } } diff --git a/packages/client/tools/src/copyMarine.ts b/packages/client/tools/src/copyMarine.ts index ec88be18..72b4c7af 100644 --- a/packages/client/tools/src/copyMarine.ts +++ b/packages/client/tools/src/copyMarine.ts @@ -1,7 +1,7 @@ #! /usr/bin/env node -import fs from 'fs'; -import path from 'path'; +import * as fs from 'fs'; +import * as path from 'path'; const firstArgument = process.argv[2]; diff --git a/packages/client/tools/tsconfig.json b/packages/client/tools/tsconfig.json index 0d2020f2..8c892f21 100644 --- a/packages/client/tools/tsconfig.json +++ b/packages/client/tools/tsconfig.json @@ -1,21 +1,7 @@ { + "extends": "../../../tsconfig.json", "compilerOptions": { - "outDir": "./dist/", - "baseUrl": ".", - "downlevelIteration": true, - "sourceMap": true, - "inlineSources": true, - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true, - "target": "ES5", - "module": "commonjs", - "moduleResolution": "node", - "declaration": true, - "esModuleInterop": true, - "declarationMap": true, - "strict": true, - "skipLibCheck": true + "outDir": "./dist" }, - "exclude": ["node_modules", "dist", "bundle"], - "include": ["src/**/*"] + "exclude": ["node_modules", "dist"] } diff --git a/packages/client/fluence-js/.gitignore b/packages/core/.gitignore similarity index 100% rename from packages/client/fluence-js/.gitignore rename to packages/core/.gitignore diff --git a/packages/core/connection/.npmignore b/packages/core/.npmignore similarity index 100% rename from packages/core/connection/.npmignore rename to packages/core/.npmignore diff --git a/packages/core/js-peer/.prettierignore b/packages/core/.prettierignore similarity index 100% rename from packages/core/js-peer/.prettierignore rename to packages/core/.prettierignore diff --git a/packages/client/fluence-js/CONTRIBUTING.md b/packages/core/CONTRIBUTING.md similarity index 100% rename from packages/client/fluence-js/CONTRIBUTING.md rename to packages/core/CONTRIBUTING.md diff --git a/packages/core/js-peer/README.md b/packages/core/README.md similarity index 100% rename from packages/core/js-peer/README.md rename to packages/core/README.md diff --git a/packages/core/js-peer/aqua/node-utils.aqua b/packages/core/aqua/node-utils.aqua similarity index 100% rename from packages/core/js-peer/aqua/node-utils.aqua rename to packages/core/aqua/node-utils.aqua diff --git a/packages/core/js-peer/aqua/services.aqua b/packages/core/aqua/services.aqua similarity index 100% rename from packages/core/js-peer/aqua/services.aqua rename to packages/core/aqua/services.aqua diff --git a/packages/core/js-peer/aqua/single-module-srv.aqua b/packages/core/aqua/single-module-srv.aqua similarity index 100% rename from packages/core/js-peer/aqua/single-module-srv.aqua rename to packages/core/aqua/single-module-srv.aqua diff --git a/packages/core/connection/.prettierrc.js b/packages/core/connection/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/core/connection/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/core/connection/CONTRIBUTING.md b/packages/core/connection/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/core/connection/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/core/connection/README.md b/packages/core/connection/README.md deleted file mode 100644 index 726acb9f..00000000 --- a/packages/core/connection/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# FluenceJS connection - -This package is a part of FluenceJS, the official implementation of the Fluence Peer in typescript. See the [FluenceJS repo](https://github.com/fluencelabs/fluence-js) for more info - -## Contributing - -While the project is still in the early stages of development, you are welcome to track progress and contribute. As the project is undergoing rapid changes, interested contributors should contact the team before embarking on larger pieces of work. All contributors should consult with and agree to our [basic contributing rules](CONTRIBUTING.md). - -## License - -[Apache 2.0](LICENSE) diff --git a/packages/core/connection/package.json b/packages/core/connection/package.json deleted file mode 100644 index ea425085..00000000 --- a/packages/core/connection/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "@fluencelabs/connection", - "version": "0.2.0", - "description": "Fluence connection", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "@fluencelabs/interfaces": "workspace:0.2.0", - "peer-id": "0.16.0", - "it-length-prefixed": "5.0.3", - "it-pipe": "1.1.0", - "@chainsafe/libp2p-noise": "4.1.1", - "libp2p": "0.36.2", - "libp2p-interfaces": "4.0.6", - "libp2p-mplex": "0.10.7", - "libp2p-websockets": "0.16.2", - "loglevel": "1.8.1", - "multiaddr": "10.0.1", - "browser-or-node": "2.0.0", - "buffer": "6.0.3" - }, - "devDependencies": { - "typescript": "4.6.4" - } -} diff --git a/packages/core/connection/src/Buffer.ts b/packages/core/connection/src/Buffer.ts deleted file mode 100644 index 13528d81..00000000 --- a/packages/core/connection/src/Buffer.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2022 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { isBrowser } from 'browser-or-node'; -import { Buffer as BufferPolyfill } from 'buffer'; - -export default isBrowser ? BufferPolyfill : Buffer; diff --git a/packages/core/connection/tsconfig.json b/packages/core/connection/tsconfig.json deleted file mode 100644 index e0db254b..00000000 --- a/packages/core/connection/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "outDir": "./dist/", - "lib": ["ES2015"], - "target": "ES5", - "module": "commonjs", - "skipLibCheck": true, - "sourceMap": true, - "declaration": true, - "esModuleInterop": true, - }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] -} diff --git a/packages/core/interfaces/.gitignore b/packages/core/interfaces/.gitignore deleted file mode 100644 index 1a59a95f..00000000 --- a/packages/core/interfaces/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release -bundle/ - -dist -esm -types - -# Dependency directories -node_modules/ -jspm_packages/ - -.idea diff --git a/packages/core/interfaces/.npmignore b/packages/core/interfaces/.npmignore deleted file mode 100644 index 1354879a..00000000 --- a/packages/core/interfaces/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea -.gitignore -node_modules -types - -src/ - -tsconfig.json -webpack.config.js - -bundle -pkg \ No newline at end of file diff --git a/packages/core/interfaces/.prettierrc.js b/packages/core/interfaces/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/core/interfaces/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/core/interfaces/CONTRIBUTING.md b/packages/core/interfaces/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/core/interfaces/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/core/interfaces/README.md b/packages/core/interfaces/README.md deleted file mode 100644 index 06acea1d..00000000 --- a/packages/core/interfaces/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# FluenceJS interfaces - -This package is a part of FluenceJS, the official implementation of the Fluence Peer in typescript. See the [FluenceJS repo](https://github.com/fluencelabs/fluence-js) for more info - -## Contributing - -While the project is still in the early stages of development, you are welcome to track progress and contribute. As the project is undergoing rapid changes, interested contributors should contact the team before embarking on larger pieces of work. All contributors should consult with and agree to our [basic contributing rules](CONTRIBUTING.md). - -## License - -[Apache 2.0](LICENSE) diff --git a/packages/core/interfaces/package.json b/packages/core/interfaces/package.json deleted file mode 100644 index db7abcd1..00000000 --- a/packages/core/interfaces/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@fluencelabs/interfaces", - "version": "0.2.0", - "description": "Fluence interfaces", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": {}, - "devDependencies": { - "typescript": "4.6.4", - "@fluencelabs/avm": "0.31.10", - "@fluencelabs/marine-js": "0.3.38", - "@types/node": "16.11.59", - "threads": "^1.7.0" - } -} diff --git a/packages/core/interfaces/tsconfig.json b/packages/core/interfaces/tsconfig.json deleted file mode 100644 index 3fe7a803..00000000 --- a/packages/core/interfaces/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "outDir": "./dist/", - "lib": ["ES2017"], - "target": "ES5", - "module": "commonjs", - "skipLibCheck": true, - "sourceMap": true, - "declaration": true, - "esModuleInterop": true - }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] -} diff --git a/packages/core/jest.config.cjs b/packages/core/jest.config.cjs new file mode 100644 index 00000000..6ea1a606 --- /dev/null +++ b/packages/core/jest.config.cjs @@ -0,0 +1,16 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + extensionsToTreatAsEsm: ['.ts'], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + }, + testPathIgnorePatterns: ['dist'], + transform: { + '^.+\\.tsx?$': [ + 'ts-jest', + { + useESM: true, + }, + ], + }, +}; diff --git a/packages/core/js-peer/.gitignore b/packages/core/js-peer/.gitignore deleted file mode 100644 index 1a59a95f..00000000 --- a/packages/core/js-peer/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release -bundle/ - -dist -esm -types - -# Dependency directories -node_modules/ -jspm_packages/ - -.idea diff --git a/packages/core/js-peer/.npmignore b/packages/core/js-peer/.npmignore deleted file mode 100644 index 1354879a..00000000 --- a/packages/core/js-peer/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea -.gitignore -node_modules -types - -src/ - -tsconfig.json -webpack.config.js - -bundle -pkg \ No newline at end of file diff --git a/packages/core/js-peer/.prettierrc.js b/packages/core/js-peer/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/core/js-peer/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/core/js-peer/CONTRIBUTING.md b/packages/core/js-peer/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/core/js-peer/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/core/js-peer/jest.config.js b/packages/core/js-peer/jest.config.js deleted file mode 100644 index 05820877..00000000 --- a/packages/core/js-peer/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testTimeout: 10000, - testPathIgnorePatterns: ['dist'], -}; diff --git a/packages/core/js-peer/package.json b/packages/core/js-peer/package.json deleted file mode 100644 index a35650c3..00000000 --- a/packages/core/js-peer/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "@fluencelabs/js-peer", - "version": "0.1.0", - "description": "TypeScript implementation of Fluence Peer", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc", - "compile-aqua": "aqua -i ./aqua/ -o ./src/internal/_aqua", - "test": "jest", - "test:unit": "jest --testPathPattern=src/__test__/unit", - "test:integration": "jest --testPathPattern=src/__test__/integration" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "@fluencelabs/avm": "0.32.1", - "@fluencelabs/connection": "workspace:0.2.0", - "@fluencelabs/interfaces": "workspace:0.2.0", - "@fluencelabs/keypair": "workspace:0.2.0", - "@fluencelabs/marine-js": "0.3.38", - "@fluencelabs/marine.background-runner": "workspace:0.1.0", - "async": "3.2.4", - "base64-js": "^1.5.1", - "bs58": "5.0.0", - "buffer": "6.0.3", - "cids": "1.1.9", - "loglevel": "1.8.1", - "multiformats": "9.9.0", - "peer-id": "0.16.0", - "platform": "1.3.6", - "rxjs": "7.5.5", - "ts-pattern": "3.3.3", - "uuid": "8.3.2" - }, - "devDependencies": { - "@fluencelabs/marine.deps-loader.node": "workspace:0.1.0", - "@fluencelabs/aqua": "0.7.7-362", - "@fluencelabs/aqua-api": "0.9.1-373", - "@fluencelabs/aqua-lib": "0.6.0", - "@fluencelabs/fluence-network-environment": "1.0.13", - "@types/bs58": "4.0.1", - "@types/jest": "28.1.0", - "@types/platform": "1.3.4", - "@types/uuid": "8.3.2", - "jest": "28.1.0", - "jest-each": "28.1.3", - "js-base64": "3.7.2", - "multiaddr": "10.0.1", - "ts-jest": "28.0.2", - "ts-node": "10.9.1", - "typescript": "4.6.4" - } -} diff --git a/packages/core/js-peer/src/__test__/unit/KeyPair.spec.ts b/packages/core/js-peer/src/__test__/unit/KeyPair.spec.ts deleted file mode 100644 index 91a48884..00000000 --- a/packages/core/js-peer/src/__test__/unit/KeyPair.spec.ts +++ /dev/null @@ -1,42 +0,0 @@ -import * as bs58 from 'bs58'; -import { KeyPair } from '@fluencelabs/keypair'; - -describe('KeyPair tests', () => { - it('generate keypair from seed', async function () { - // arrange - const random = await KeyPair.randomEd25519(); - const privateKey = random.toEd25519PrivateKey(); - - // act - const keyPair = await KeyPair.fromEd25519SK(privateKey); - const privateKey2 = keyPair.toEd25519PrivateKey(); - - // assert - expect(privateKey).toStrictEqual(privateKey2); - }); - - it('create keypair from ed25519 private key', async function () { - // arrange - const rustSK = 'jDaxLJzYtzgwTMrELJCAqavtmx85ktQNfB2rLcK7MhH'; - const sk = bs58.decode(rustSK); - - // act - const keyPair = await KeyPair.fromEd25519SK(sk); - - // assert - const expectedPeerId = '12D3KooWH1W3VznVZ87JH4FwABK4mkntcspTVWJDta6c2xg9Pzbp'; - expect(keyPair.Libp2pPeerId.toB58String()).toStrictEqual(expectedPeerId); - }); - - it('create keypair from a seed phrase', async function () { - // arrange - const seedArray = new Uint8Array(32).fill(1); - - // act - const keyPair = await KeyPair.fromEd25519SK(seedArray); - - // assert - const expectedPeerId = '12D3KooWK99VoVxNE7XzyBwXEzW7xhK7Gpv85r9F3V3fyKSUKPH5'; - expect(keyPair.Libp2pPeerId.toB58String()).toStrictEqual(expectedPeerId); - }); -}); diff --git a/packages/core/js-peer/src/__test__/unit/builtInHandler.spec.ts b/packages/core/js-peer/src/__test__/unit/builtInHandler.spec.ts deleted file mode 100644 index f17ff737..00000000 --- a/packages/core/js-peer/src/__test__/unit/builtInHandler.spec.ts +++ /dev/null @@ -1,335 +0,0 @@ -import { CallParams, CallServiceData } from '../../commonTypes'; -import each from 'jest-each'; -import { builtInServices } from '../../builtins/common'; -import { KeyPair } from '@fluencelabs/keypair'; -import { Sig, defaultSigGuard } from '../../builtins/Sig'; -import { toUint8Array } from 'js-base64'; -import { allowServiceFn } from '../../builtins/securityGuard'; - -const a10b20 = `{ - "a": 10, - "b": 20 -}`; - -const oneTwoThreeFour = `[ - 1, - 2, - 3, - 4 -]`; - -describe('Tests for default handler', () => { - // prettier-ignore - each` - serviceId | fnName | args | retCode | result - ${'op'} | ${'identity'} | ${[]} | ${0} | ${{}} - ${'op'} | ${'identity'} | ${[1]} | ${0} | ${1} - ${'op'} | ${'identity'} | ${[1, 2]} | ${1} | ${'identity accepts up to 1 arguments, received 2 arguments'} - - ${'op'} | ${'noop'} | ${[1, 2]} | ${0} | ${{}} - - ${'op'} | ${'array'} | ${[1, 2, 3]} | ${0} | ${[1, 2, 3]} - - ${'op'} | ${'array_length'} | ${[[1, 2, 3]]} | ${0} | ${3} - ${'op'} | ${'array_length'} | ${[]} | ${1} | ${'array_length accepts exactly one argument, found: 0'} - - ${'op'} | ${'concat'} | ${[[1, 2], [3, 4], [5, 6]]} | ${0} | ${[1, 2, 3, 4, 5, 6]} - ${'op'} | ${'concat'} | ${[[1, 2]]} | ${0} | ${[1, 2]} - ${'op'} | ${'concat'} | ${[]} | ${0} | ${[]} - ${'op'} | ${'concat'} | ${[1, [1, 2], 1]} | ${1} | ${"All arguments of 'concat' must be arrays: arguments 0, 2 are not"} - - ${'op'} | ${'string_to_b58'} | ${["test"]} | ${0} | ${"3yZe7d"} - ${'op'} | ${'string_to_b58'} | ${["test", 1]} | ${1} | ${"string_to_b58 accepts only one string argument"} - - ${'op'} | ${'string_from_b58'} | ${["3yZe7d"]} | ${0} | ${"test"} - ${'op'} | ${'string_from_b58'} | ${["3yZe7d", 1]} | ${1} | ${"string_from_b58 accepts only one string argument"} - - ${'op'} | ${'bytes_to_b58'} | ${[[116, 101, 115, 116]]} | ${0} | ${"3yZe7d"} - ${'op'} | ${'bytes_to_b58'} | ${[[116, 101, 115, 116], 1]} | ${1} | ${"bytes_to_b58 accepts only single argument: array of numbers"} - - ${'op'} | ${'bytes_from_b58'} | ${["3yZe7d"]} | ${0} | ${[116, 101, 115, 116]} - ${'op'} | ${'bytes_from_b58'} | ${["3yZe7d", 1]} | ${1} | ${"bytes_from_b58 accepts only one string argument"} - - ${'op'} | ${'sha256_string'} | ${["hello, world!"]} | ${0} | ${"QmVQ8pg6L1tpoWYeq6dpoWqnzZoSLCh7E96fCFXKvfKD3u"} - ${'op'} | ${'sha256_string'} | ${["hello, world!", true]} | ${0} | ${"84V7ZxLW7qKsx1Qvbd63BdGaHxUc3TfT2MBPqAXM7Wyu"} - ${'op'} | ${'sha256_string'} | ${[]} | ${1} | ${"sha256_string accepts 1-3 arguments, found: 0"} - - ${'op'} | ${'concat_strings'} | ${[]} | ${0} | ${""} - ${'op'} | ${'concat_strings'} | ${["a", "b", "c"]} | ${0} | ${"abc"} - - ${'peer'} | ${'timeout'} | ${[200, []]} | ${0} | ${[]}} - ${'peer'} | ${'timeout'} | ${[200, ['test']]} | ${0} | ${['test']}} - ${'peer'} | ${'timeout'} | ${[]} | ${1} | ${'timeout accepts exactly two arguments: timeout duration in ms and a message string'}} - ${'peer'} | ${'timeout'} | ${[200, 'test', 1]} | ${1} | ${'timeout accepts exactly two arguments: timeout duration in ms and a message string'}} - - ${'debug'} | ${'stringify'} | ${[]} | ${0} | ${'""'}} - ${'debug'} | ${'stringify'} | ${[{a: 10, b: 20}]} | ${0} | ${a10b20}} - ${'debug'} | ${'stringify'} | ${[1, 2, 3, 4]} | ${0} | ${oneTwoThreeFour}} - - ${'math'} | ${'add'}" | ${[2, 2]} | ${0} | ${4} - ${'math'} | ${'add'}" | ${[2]} | ${1} | ${"Expected 2 argument(s). Got 1"} - - ${'math'} | ${'sub'}" | ${[2, 2]} | ${0} | ${0} - ${'math'} | ${'sub'}" | ${[2, 3]} | ${0} | ${-1} - - ${'math'} | ${'mul'}" | ${[2, 2]} | ${0} | ${4} - ${'math'} | ${'mul'}" | ${[2, 0]} | ${0} | ${0} - ${'math'} | ${'mul'}" | ${[2, -1]} | ${0} | ${-2} - - ${'math'} | ${'fmul'}" | ${[10, 0.66]} | ${0} | ${6} - ${'math'} | ${'fmul'}" | ${[0.5, 0.5]} | ${0} | ${0} - ${'math'} | ${'fmul'}" | ${[100.5, 0.5]} | ${0} | ${50} - - ${'math'} | ${'div'}" | ${[2, 2]} | ${0} | ${1} - ${'math'} | ${'div'}" | ${[2, 3]} | ${0} | ${0} - ${'math'} | ${'div'}" | ${[10, 5]} | ${0} | ${2} - - ${'math'} | ${'rem'}" | ${[10, 3]} | ${0} | ${1} - - ${'math'} | ${'pow'}" | ${[2, 2]} | ${0} | ${4} - ${'math'} | ${'pow'}" | ${[2, 0]} | ${0} | ${1} - - ${'math'} | ${'log'}" | ${[2, 2]} | ${0} | ${1} - ${'math'} | ${'log'}" | ${[2, 4]} | ${0} | ${2} - - ${'cmp'} | ${'gt'}" | ${[2, 4]} | ${0} | ${false} - ${'cmp'} | ${'gte'}" | ${[2, 4]} | ${0} | ${false} - ${'cmp'} | ${'gte'}" | ${[4, 2]} | ${0} | ${true} - ${'cmp'} | ${'gte'}" | ${[2, 2]} | ${0} | ${true} - - ${'cmp'} | ${'lt'}" | ${[2, 4]} | ${0} | ${true} - ${'cmp'} | ${'lte'}" | ${[2, 4]} | ${0} | ${true} - ${'cmp'} | ${'lte'}" | ${[4, 2]} | ${0} | ${false} - ${'cmp'} | ${'lte'}" | ${[2, 2]} | ${0} | ${true} - - ${'cmp'} | ${'cmp'}" | ${[2, 4]} | ${0} | ${-1} - ${'cmp'} | ${'cmp'}" | ${[2, -4]} | ${0} | ${1} - ${'cmp'} | ${'cmp'}" | ${[2, 2]} | ${0} | ${0} - - ${'array'} | ${'sum'}" | ${[[1, 2, 3]]} | ${0} | ${6} - ${'array'} | ${'dedup'}" | ${[["a", "a", "b", "c", "a", "b", "c"]]} | ${0} | ${["a", "b", "c"]} - ${'array'} | ${'intersect'}" | ${[["a", "b", "c"], ["c", "b", "d"]]} | ${0} | ${["b", "c"]} - ${'array'} | ${'diff'}" | ${[["a", "b", "c"], ["c", "b", "d"]]} | ${0} | ${["a"]} - ${'array'} | ${'sdiff'}" | ${[["a", "b", "c"], ["c", "b", "d"]]} | ${0} | ${["a", "d"]} - - ${'json'} | ${'obj'}" | ${["a", 10, "b", "string", "c", null]} | ${0} | ${{a: 10, b: "string", c: null}} - ${'json'} | ${'obj'}" | ${["a", 10, "b", "string", "c"]} | ${1} | ${"Expected even number of argument(s). Got 5"} - ${'json'} | ${'obj'}" | ${[]} | ${0} | ${{}} - - ${'json'} | ${'put'}" | ${[{}, "a", 10]} | ${0} | ${{a: 10}} - ${'json'} | ${'put'}" | ${[{b: 11}, "a", 10]} | ${0} | ${{a: 10, b: 11}} - ${'json'} | ${'put'}" | ${["a", "a", 11]} | ${1} | ${"Argument 0 expected to be of type object, Got string"} - ${'json'} | ${'put'}" | ${[{}, "a", 10, "b", 20]} | ${1} | ${"Expected 3 argument(s). Got 5"} - ${'json'} | ${'put'}" | ${[{}]} | ${1} | ${"Expected 3 argument(s). Got 1"} - - ${'json'} | ${'puts'}" | ${[{}, "a", 10]} | ${0} | ${{a: 10}} - ${'json'} | ${'puts'}" | ${[{b: 11}, "a", 10]} | ${0} | ${{a: 10, b: 11}} - ${'json'} | ${'puts'}" | ${[{}, "a", 10, "b", "string", "c", null]} | ${0} | ${{a: 10, b: "string", c: null}} - ${'json'} | ${'puts'}" | ${[{x: "text"}, "a", 10, "b", "string"]} | ${0} | ${{a: 10, b: "string", x: "text"}} - ${'json'} | ${'puts'}" | ${[{}]} | ${1} | ${"Expected more than 3 argument(s). Got 1"} - ${'json'} | ${'puts'}" | ${["a", "a", 11]} | ${1} | ${"Argument 0 expected to be of type object, Got string"} - - ${'json'} | ${'stringify'}" | ${[{a: 10, b: "string", c: null}]} | ${0} | ${"{\"a\":10,\"b\":\"string\",\"c\":null}"} - ${'json'} | ${'stringify'}" | ${[1]} | ${1} | ${"Argument 0 expected to be of type object, Got number"} - ${'json'} | ${'parse'}" | ${["{\"a\":10,\"b\":\"string\",\"c\":null}"]} | ${0} | ${{a: 10, b: "string", c: null}} - ${'json'} | ${'parse'}" | ${["incorrect"]} | ${1} | ${"Unexpected token i in JSON at position 0"} - ${'json'} | ${'parse'}" | ${[10]} | ${1} | ${"Argument 0 expected to be of type string, Got number"} - - `.test( - // - '$fnName with $args expected retcode: $retCode and result: $result', - async ({ serviceId, fnName, args, retCode, result }) => { - // arrange - const req: CallServiceData = { - serviceId: serviceId, - fnName: fnName, - args: args, - tetraplets: [], - particleContext: { - particleId: 'some', - initPeerId: 'init peer id', - timestamp: 595951200, - ttl: 595961200, - signature: 'sig', - }, - }; - - // act - const fn = builtInServices[req.serviceId][req.fnName]; - const res = await fn(req); - - // assert - expect(res).toMatchObject({ - retCode: retCode, - result: result, - }); - }, - ); - - it('should return correct error message for identiy service', async () => { - // arrange - const req: CallServiceData = { - serviceId: 'peer', - fnName: 'identify', - args: [], - tetraplets: [], - particleContext: { - particleId: 'some', - initPeerId: 'init peer id', - timestamp: 595951200, - ttl: 595961200, - signature: 'sig', - }, - }; - - // act - const fn = builtInServices[req.serviceId][req.fnName]; - const res = await fn(req); - - // assert - expect(res).toMatchObject({ - retCode: 0, - result: { - external_addresses: [], - node_version: expect.stringContaining('js'), - air_version: expect.stringContaining('js'), - }, - }); - }); -}); - -const key = '+cmeYlZKj+MfSa9dpHV+BmLPm6wq4inGlsPlQ1GvtPk='; - -const context = (async () => { - const keyBytes = toUint8Array(key); - const kp = await KeyPair.fromEd25519SK(keyBytes); - const res = { - peerKeyPair: kp, - peerId: kp.Libp2pPeerId.toB58String(), - }; - return res; -})(); - -const testData = [1, 2, 3, 4, 5, 6, 7, 9, 10]; - -// signature produced by KeyPair created from key above (`key` variable) -const testDataSig = [ - 224, 104, 245, 206, 140, 248, 27, 72, 68, 133, 111, 10, 164, 197, 242, 132, 107, 77, 224, 67, 99, 106, 76, 29, 144, - 121, 122, 169, 36, 173, 58, 80, 170, 102, 137, 253, 157, 247, 168, 87, 162, 223, 188, 214, 203, 220, 52, 246, 29, - 86, 77, 71, 224, 248, 16, 213, 254, 75, 78, 239, 243, 222, 241, 15, -]; - -// signature produced by KeyPair created from some random KeyPair -const testDataWrongSig = [ - 116, 247, 189, 118, 236, 53, 147, 123, 219, 75, 176, 105, 101, 108, 233, 137, 97, 14, 146, 132, 252, 70, 51, 153, - 237, 167, 156, 150, 36, 90, 229, 108, 166, 231, 255, 137, 8, 246, 125, 0, 213, 150, 83, 196, 237, 221, 131, 159, - 157, 159, 25, 109, 95, 160, 181, 65, 254, 238, 47, 156, 240, 151, 58, 14, -]; - -const makeTetraplet = (initPeerId: string, serviceId?: string, fnName?: string): CallParams<'data'> => { - return { - initPeerId: initPeerId, - tetraplets: { - data: [ - { - function_name: fnName, - service_id: serviceId, - }, - ], - }, - } as any; -}; - -describe('Sig service tests', () => { - it('sig.sign should create the correct signature', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - - const res = await sig.sign(testData, makeTetraplet(ctx.peerId)); - - expect(res.success).toBe(true); - expect(res.signature).toStrictEqual(testDataSig); - }); - - it('sig.verify should return true for the correct signature', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - - const res = await sig.verify(testDataSig, testData); - - expect(res).toBe(true); - }); - - it('sig.verify should return false for the incorrect signature', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - - const res = await sig.verify(testDataWrongSig, testData); - - expect(res).toBe(false); - }); - - it('sign-verify call chain should work', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - - const signature = await sig.sign(testData, makeTetraplet(ctx.peerId)); - const res = await sig.verify(signature.signature as number[], testData); - - expect(res).toBe(true); - }); - - it('sig.sign with defaultSigGuard should work for correct callParams', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - sig.securityGuard = defaultSigGuard(ctx.peerId); - - const signature = await sig.sign(testData, makeTetraplet(ctx.peerId, 'registry', 'get_route_bytes')); - - await expect(signature).toBeDefined(); - }); - - it('sig.sign with defaultSigGuard should not allow particles initiated from incorrect service', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - sig.securityGuard = defaultSigGuard(ctx.peerId); - - const res = await sig.sign(testData, makeTetraplet(ctx.peerId, 'other_service', 'other_fn')); - - await expect(res.success).toBe(false); - await expect(res.error).toBe('Security guard validation failed'); - }); - - it('sig.sign with defaultSigGuard should not allow particles initiated from other peers', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - sig.securityGuard = defaultSigGuard(ctx.peerId); - - const res = await sig.sign( - testData, - makeTetraplet((await KeyPair.randomEd25519()).getPeerId(), 'registry', 'get_key_bytes'), - ); - - await expect(res.success).toBe(false); - await expect(res.error).toBe('Security guard validation failed'); - }); - - it('changing securityGuard should work', async () => { - const ctx = await context; - const sig = new Sig(ctx.peerKeyPair); - sig.securityGuard = allowServiceFn('test', 'test'); - - const successful1 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'test', 'test')); - const unSuccessful1 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'wrong', 'wrong')); - - sig.securityGuard = allowServiceFn('wrong', 'wrong'); - - const successful2 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'wrong', 'wrong')); - const unSuccessful2 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'test', 'test')); - - expect(successful1.success).toBe(true); - expect(successful2.success).toBe(true); - expect(unSuccessful1.success).toBe(false); - expect(unSuccessful2.success).toBe(false); - }); -}); diff --git a/packages/core/js-peer/tsconfig.json b/packages/core/js-peer/tsconfig.json deleted file mode 100644 index 0d2020f2..00000000 --- a/packages/core/js-peer/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "outDir": "./dist/", - "baseUrl": ".", - "downlevelIteration": true, - "sourceMap": true, - "inlineSources": true, - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true, - "target": "ES5", - "module": "commonjs", - "moduleResolution": "node", - "declaration": true, - "esModuleInterop": true, - "declarationMap": true, - "strict": true, - "skipLibCheck": true - }, - "exclude": ["node_modules", "dist", "bundle"], - "include": ["src/**/*"] -} diff --git a/packages/core/keypair/.gitignore b/packages/core/keypair/.gitignore deleted file mode 100644 index 1a59a95f..00000000 --- a/packages/core/keypair/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release -bundle/ - -dist -esm -types - -# Dependency directories -node_modules/ -jspm_packages/ - -.idea diff --git a/packages/core/keypair/.npmignore b/packages/core/keypair/.npmignore deleted file mode 100644 index 1354879a..00000000 --- a/packages/core/keypair/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea -.gitignore -node_modules -types - -src/ - -tsconfig.json -webpack.config.js - -bundle -pkg \ No newline at end of file diff --git a/packages/core/keypair/.prettierrc.js b/packages/core/keypair/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/core/keypair/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/core/keypair/CONTRIBUTING.md b/packages/core/keypair/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/core/keypair/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/core/keypair/package.json b/packages/core/keypair/package.json deleted file mode 100644 index 05a32b48..00000000 --- a/packages/core/keypair/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@fluencelabs/keypair", - "version": "0.2.0", - "description": "Keypair implementation for Fluence JS Peer", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "peer-id": "0.16.0", - "libp2p-crypto": "0.21.2", - "js-base64": "3.7.2" - }, - "devDependencies": { - "typescript": "4.6.4" - } -} diff --git a/packages/core/keypair/tsconfig.json b/packages/core/keypair/tsconfig.json deleted file mode 100644 index e260f500..00000000 --- a/packages/core/keypair/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "outDir": "./dist/", - "lib": ["ES2015"], - "target": "ES5", - "sourceMap": true, - "declaration": true, - "module": "commonjs", - }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] -} diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 00000000..d97429d7 --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,69 @@ +{ + "name": "@fluencelabs/js-peer", + "version": "0.1.0", + "description": "TypeScript implementation of Fluence Peer", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "engines": { + "node": ">=10", + "pnpm": ">=3" + }, + "type": "module", + "scripts": { + "build": "tsc", + "compile-aqua": "aqua -i ./aqua/ -o ./src/internal/_aqua", + "test:smoke": "node ./dist/js-peer/__test__/integration/smokeTest.js", + "test": "NODE_OPTIONS=--experimental-vm-modules pnpm jest", + "test:unit": "NODE_OPTIONS=--experimental-vm-modules pnpm jest --testPathPattern=src/__test__/unit", + "test:integration": "NODE_OPTIONS=--experimental-vm-modules pnpm jest --testPathPattern=src/__test__/integration" + }, + "repository": "https://github.com/fluencelabs/fluence-js", + "author": "Fluence Labs", + "license": "Apache-2.0", + "dependencies": { + "@fluencelabs/avm": "0.31.10", + "@fluencelabs/marine-js": "0.3.44", + "multiformats": "11.0.1", + "async": "3.2.4", + "bs58": "5.0.0", + "buffer": "6.0.3", + "loglevel": "1.8.1", + "@libp2p/peer-id": "2.0.1", + "platform": "1.3.6", + "rxjs": "7.5.5", + "ts-pattern": "3.3.3", + "uuid": "8.3.2", + "threads": "1.7.0", + "@libp2p/crypto": "1.0.8", + "@libp2p/peer-id-factory": "2.0.1", + "@libp2p/interface-peer-id": "2.0.1", + "@libp2p/interface-keys": "1.0.7", + "js-base64": "3.7.2", + "browser-or-node": "2.0.0", + "it-length-prefixed": "8.0.4", + "it-pipe": "2.0.5", + "it-map": "2.0.0", + "uint8arrays": "4.0.3", + "@chainsafe/libp2p-noise": "11.0.0", + "libp2p": "0.42.2", + "@libp2p/interfaces": "3.3.1", + "@libp2p/interface-connection": "3.0.8", + "@libp2p/mplex": "7.1.1", + "@libp2p/websockets": "5.0.3", + "@multiformats/multiaddr": "11.3.0" + }, + "devDependencies": { + "@types/node": "16.11.59", + "@fluencelabs/aqua": "0.7.7-362", + "@fluencelabs/aqua-api": "0.9.1-373", + "@fluencelabs/aqua-lib": "0.6.0", + "@fluencelabs/fluence-network-environment": "1.0.13", + "@multiformats/multiaddr": "11.3.0", + "@types/bs58": "4.0.1", + "@types/platform": "1.3.4", + "@types/uuid": "8.3.2", + "@types/jest": "29.4.0", + "jest": "29.4.1", + "ts-jest": "29.0.5" + } +} diff --git a/packages/core/connection/src/index.ts b/packages/core/src/connection/index.ts similarity index 71% rename from packages/core/connection/src/index.ts rename to packages/core/src/connection/index.ts index 28422334..cb2f523b 100644 --- a/packages/core/connection/src/index.ts +++ b/packages/core/src/connection/index.ts @@ -13,23 +13,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { FluenceConnection, ParticleHandler, PeerIdB58 } from '@fluencelabs/interfaces'; -// @ts-ignore -import Websockets from 'libp2p-websockets'; -// @ts-ignore -import Mplex from 'libp2p-mplex'; -import Lib2p2Peer from 'libp2p'; -import { decode, encode } from 'it-length-prefixed'; +import { FluenceConnection, ParticleHandler, PeerIdB58 } from '../interfaces/index.js'; import { pipe } from 'it-pipe'; -import * as log from 'loglevel'; -import { Noise } from '@chainsafe/libp2p-noise'; -import PeerId from 'peer-id'; -import type { MultiaddrInput } from 'multiaddr'; -import { Connection } from 'libp2p-interfaces/src/topology'; -import { Multiaddr } from 'multiaddr'; -// @ts-ignore -import { all as allow_all } from 'libp2p-websockets/src/filters'; -import Buffer from './Buffer'; +import { encode, decode } from 'it-length-prefixed'; +import type { PeerId } from '@libp2p/interface-peer-id'; +import { createLibp2p, Libp2p } from 'libp2p'; + +import { noise } from '@chainsafe/libp2p-noise'; +import { mplex } from '@libp2p/mplex'; +import { webSockets } from '@libp2p/websockets'; +import { all } from '@libp2p/websockets/filters'; +import { multiaddr } from '@multiformats/multiaddr'; +import type { MultiaddrInput, Multiaddr } from '@multiformats/multiaddr'; +import type { Connection } from '@libp2p/interface-connection'; + +import map from 'it-map'; +import { fromString } from 'uint8arrays/from-string'; +import { toString } from 'uint8arrays/to-string'; + +import log from 'loglevel'; export const PROTOCOL_NAME = '/fluence/particle/2.0.0'; @@ -53,47 +55,43 @@ export interface FluenceConnectionOptions { dialTimeoutMs?: number; } -/* +/** * Implementation for JS peers which connects to Fluence through relay node */ export class RelayConnection extends FluenceConnection { constructor( public peerId: PeerIdB58, - private _lib2p2Peer: Lib2p2Peer, + private _lib2p2Peer: Libp2p, private _relayAddress: Multiaddr, public readonly relayPeerId: PeerIdB58, ) { super(); } + private _connection?: Connection; + static async createConnection(options: FluenceConnectionOptions): Promise { - const transportKey = Websockets.prototype[Symbol.toStringTag]; - const lib2p2Peer = await Lib2p2Peer.create({ + const lib2p2Peer = await createLibp2p({ peerId: options.peerId, - modules: { - transport: [Websockets], - streamMuxer: [Mplex], - connEncryption: [new Noise()], - }, - config: { - transport: { - [transportKey]: { - filter: allow_all, - }, - }, - }, - dialer: { - dialTimeout: options?.dialTimeoutMs, - }, + transports: [ + webSockets({ + filter: all, + }), + ], + streamMuxers: [mplex()], + connectionEncryption: [noise()], }); - const relayMultiaddr = new Multiaddr(options.relayAddress); + + + const relayMultiaddr = multiaddr(options.relayAddress); const relayPeerId = relayMultiaddr.getPeerId(); if (relayPeerId === null) { throw new Error('Specified multiaddr is invalid or missing peer id: ' + options.relayAddress); } + return new RelayConnection( // force new line - options.peerId.toB58String(), + options.peerId.toString(), lib2p2Peer, relayMultiaddr, relayPeerId, @@ -113,18 +111,22 @@ export class RelayConnection extends FluenceConnection { )} instead.`, ); } + /* TODO:: find out why this doesn't work and a new connection has to be established each time if (this._connection.streams.length !== 1) { throw new Error('Incorrect number of streams in FluenceConnection'); } + const sink = this._connection.streams[0].sink; */ - const conn = await this._lib2p2Peer.dialProtocol(this._relayAddress, PROTOCOL_NAME); - const sink = conn.stream.sink; + + const stream = await this._lib2p2Peer.dialProtocol(this._relayAddress, PROTOCOL_NAME); + const sink = stream.sink; + pipe( - // force new line - [Buffer.from(particle, 'utf8')], + [fromString(particle)], + // @ts-ignore encode(), sink, ); @@ -138,7 +140,9 @@ export class RelayConnection extends FluenceConnection { stream.source, // @ts-ignore decode(), - async (source: AsyncIterable) => { + // @ts-ignore + (source) => map(source, (buf) => toString(buf.subarray())), + async (source) => { try { for await (const msg of source) { try { @@ -153,7 +157,10 @@ export class RelayConnection extends FluenceConnection { }, ); }); - log.debug(`dialing to the node with client's address: ` + this._lib2p2Peer.peerId.toB58String()); + + + log.debug(`dialing to the node with client's address: ` + this._lib2p2Peer.peerId.toString()); + try { this._connection = await this._lib2p2Peer.dial(this._relayAddress); } catch (e: any) { diff --git a/packages/core/interfaces/src/index.ts b/packages/core/src/interfaces/index.ts similarity index 99% rename from packages/core/interfaces/src/index.ts rename to packages/core/src/interfaces/index.ts index fe6f780f..3035231b 100644 --- a/packages/core/interfaces/src/index.ts +++ b/packages/core/src/interfaces/index.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import type { JSONArray, JSONObject, LogLevel } from '@fluencelabs/marine-js'; +import type { JSONArray, JSONObject, LogLevel } from '@fluencelabs/marine-js/dist/types'; import type { RunParameters, CallResultsArray, InterpreterResult } from '@fluencelabs/avm'; import type { WorkerImplementation } from 'threads/dist/types/master'; export type PeerIdB58 = string; diff --git a/packages/core/js-peer/src/FluencePeer.ts b/packages/core/src/js-peer/FluencePeer.ts similarity index 96% rename from packages/core/js-peer/src/FluencePeer.ts rename to packages/core/src/js-peer/FluencePeer.ts index 5172f731..b9e6bad9 100644 --- a/packages/core/js-peer/src/FluencePeer.ts +++ b/packages/core/src/js-peer/FluencePeer.ts @@ -15,26 +15,26 @@ */ import 'buffer'; -import { RelayConnection } from '@fluencelabs/connection'; -import { FluenceConnection, IAvmRunner, IMarine } from '@fluencelabs/interfaces'; -import { KeyPair } from '@fluencelabs/keypair'; -import type { MultiaddrInput } from 'multiaddr'; -import { CallServiceData, CallServiceResult, GenericCallServiceHandler, ResultCodes } from './commonTypes'; -import { PeerIdB58 } from './commonTypes'; -import { Particle, ParticleExecutionStage, ParticleQueueItem } from './Particle'; -import { throwIfNotSupported, dataToString, jsonify, isString, ServiceError } from './utils'; +import { RelayConnection } from '../connection/index.js'; +import { FluenceConnection, IAvmRunner, IMarine } from '../interfaces/index.js'; +import { KeyPair } from '../keypair/index.js'; +import type { MultiaddrInput } from '@multiformats/multiaddr'; +import { CallServiceData, CallServiceResult, GenericCallServiceHandler, ResultCodes } from './commonTypes.js'; +import { PeerIdB58 } from './commonTypes.js'; +import { Particle, ParticleExecutionStage, ParticleQueueItem } from './Particle.js'; +import { throwIfNotSupported, dataToString, jsonify, isString, ServiceError } from './utils.js'; import { concatMap, filter, pipe, Subject, tap } from 'rxjs'; import log from 'loglevel'; -import { builtInServices } from './builtins/common'; -import { defaultSigGuard, Sig } from './builtins/Sig'; -import { registerSig } from './_aqua/services'; -import { registerSrv } from './_aqua/single-module-srv'; +import { builtInServices } from './builtins/common.js'; +import { defaultSigGuard, Sig } from './builtins/Sig.js'; +import { registerSig } from './_aqua/services.js'; +import { registerSrv } from './_aqua/single-module-srv.js'; import { Buffer } from 'buffer'; import { JSONValue } from '@fluencelabs/avm'; -import { NodeUtils, Srv } from './builtins/SingleModuleSrv'; -import { registerNodeUtils } from './_aqua/node-utils'; -import { LogLevel } from '@fluencelabs/marine-js'; +import { NodeUtils, Srv } from './builtins/SingleModuleSrv.js'; +import { registerNodeUtils } from './_aqua/node-utils.js'; +import { LogLevel } from '@fluencelabs/marine-js/dist/types'; /** * Node of the Fluence network specified as a pair of node's multiaddr and it's peer id @@ -210,7 +210,7 @@ export class FluencePeer { if (this.connection === null) { return { isInitialized: true, - peerId: this._keyPair.Libp2pPeerId.toB58String(), + peerId: this._keyPair.getPeerId(), isConnected: false, relayPeerId: null, }; @@ -219,7 +219,7 @@ export class FluencePeer { if (this.connection.relayPeerId === null) { return { isInitialized: true, - peerId: this._keyPair.Libp2pPeerId.toB58String(), + peerId: this._keyPair.getPeerId(), isConnected: true, isDirect: true, relayPeerId: null, @@ -228,7 +228,7 @@ export class FluencePeer { return { isInitialized: true, - peerId: this._keyPair.Libp2pPeerId.toB58String(), + peerId: this._keyPair.getPeerId(), isConnected: true, relayPeerId: this.connection.relayPeerId, }; @@ -422,7 +422,7 @@ export class FluencePeer { async init(config: PeerConfig & Required>) { this._keyPair = config.KeyPair; - const peerId = this._keyPair.Libp2pPeerId.toB58String(); + const peerId = this._keyPair.getPeerId(); if (config?.debug?.printParticleId) { this._printParticleId = true; @@ -797,7 +797,7 @@ async function configToConnection( } const res = await RelayConnection.createConnection({ - peerId: keyPair.Libp2pPeerId, + peerId: keyPair.getLibp2pPeerId(), relayAddress: connectToMultiAddr, dialTimeoutMs: dialTimeoutMs, }); diff --git a/packages/core/js-peer/src/Particle.ts b/packages/core/src/js-peer/Particle.ts similarity index 94% rename from packages/core/js-peer/src/Particle.ts rename to packages/core/src/js-peer/Particle.ts index ee4c6f1f..7fe815c8 100644 --- a/packages/core/js-peer/src/Particle.ts +++ b/packages/core/src/js-peer/Particle.ts @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import { fromUint8Array, toUint8Array } from 'js-base64'; import { CallResultsArray, LogLevel } from '@fluencelabs/avm'; import { v4 as uuidv4 } from 'uuid'; -import { fromByteArray, toByteArray } from 'base64-js'; import log from 'loglevel'; -import { ParticleContext } from './commonTypes'; -import { dataToString, jsonify } from './utils'; +import { ParticleContext } from './commonTypes.js'; +import { dataToString, jsonify } from './utils.js'; import { Buffer } from 'buffer'; export class Particle { @@ -45,7 +46,7 @@ export class Particle { json.id, json.timestamp, json.script, - toByteArray(json.data), + toUint8Array(json.data), json.ttl, json.init_peer_id, ); @@ -91,7 +92,7 @@ export class Particle { script: this.script, // TODO: copy signature from a particle after signatures will be implemented on nodes signature: [], - data: this.data && fromByteArray(this.data), + data: this.data && fromUint8Array(this.data), }); } diff --git a/packages/core/js-peer/src/__test__/connection.ts b/packages/core/src/js-peer/__test__/connection.ts similarity index 100% rename from packages/core/js-peer/src/__test__/connection.ts rename to packages/core/src/js-peer/__test__/connection.ts diff --git a/packages/core/js-peer/src/__test__/integration/greeting-record.wasm b/packages/core/src/js-peer/__test__/data/greeting-record.wasm similarity index 100% rename from packages/core/js-peer/src/__test__/integration/greeting-record.wasm rename to packages/core/src/js-peer/__test__/data/greeting-record.wasm diff --git a/packages/core/js-peer/src/__test__/integration/greeting.wasm b/packages/core/src/js-peer/__test__/data/greeting.wasm similarity index 100% rename from packages/core/js-peer/src/__test__/integration/greeting.wasm rename to packages/core/src/js-peer/__test__/data/greeting.wasm diff --git a/packages/core/js-peer/src/__test__/integration/marine-js.aqua b/packages/core/src/js-peer/__test__/data/marine-js.aqua similarity index 100% rename from packages/core/js-peer/src/__test__/integration/marine-js.aqua rename to packages/core/src/js-peer/__test__/data/marine-js.aqua diff --git a/packages/core/js-peer/src/__test__/integration/sigService.aqua b/packages/core/src/js-peer/__test__/data/sigService.aqua similarity index 100% rename from packages/core/js-peer/src/__test__/integration/sigService.aqua rename to packages/core/src/js-peer/__test__/data/sigService.aqua diff --git a/packages/core/js-peer/src/__test__/integration/srv.aqua b/packages/core/src/js-peer/__test__/data/srv.aqua similarity index 100% rename from packages/core/js-peer/src/__test__/integration/srv.aqua rename to packages/core/src/js-peer/__test__/data/srv.aqua diff --git a/packages/core/js-peer/src/__test__/integration/avm.spec.ts b/packages/core/src/js-peer/__test__/integration/avm.spec.ts.skip similarity index 98% rename from packages/core/js-peer/src/__test__/integration/avm.spec.ts rename to packages/core/src/js-peer/__test__/integration/avm.spec.ts.skip index e3068e66..85f3dc62 100644 --- a/packages/core/js-peer/src/__test__/integration/avm.spec.ts +++ b/packages/core/src/js-peer/__test__/integration/avm.spec.ts.skip @@ -1,5 +1,5 @@ -import { handleTimeout } from '../../utils'; -import { registerHandlersHelper, withPeer } from '../util'; +import { handleTimeout } from '../../utils.js'; +import { registerHandlersHelper, withPeer } from '../util.js'; describe('Avm spec', () => { it('Simple call', async () => { diff --git a/packages/core/js-peer/src/__test__/integration/jsonBuiltin.spec.ts b/packages/core/src/js-peer/__test__/integration/jsonBuiltin.spec.ts.skip similarity index 93% rename from packages/core/js-peer/src/__test__/integration/jsonBuiltin.spec.ts rename to packages/core/src/js-peer/__test__/integration/jsonBuiltin.spec.ts.skip index e3f6f92e..e1a32a6a 100644 --- a/packages/core/js-peer/src/__test__/integration/jsonBuiltin.spec.ts +++ b/packages/core/src/js-peer/__test__/integration/jsonBuiltin.spec.ts.skip @@ -1,7 +1,7 @@ -import { Particle } from '../../Particle'; -import { doNothing } from '../../utils'; -import { FluencePeer } from '../../FluencePeer'; -import { mkTestPeer } from '../util'; +import { Particle } from '../../Particle.js'; +import { doNothing } from '../../utils.js'; +import { FluencePeer } from '../../FluencePeer.js'; +import { mkTestPeer } from '../util.js'; let peer: FluencePeer; diff --git a/packages/core/js-peer/src/__test__/integration/marine-js.spec.ts b/packages/core/src/js-peer/__test__/integration/marine-js.spec.ts.skip similarity index 74% rename from packages/core/js-peer/src/__test__/integration/marine-js.spec.ts rename to packages/core/src/js-peer/__test__/integration/marine-js.spec.ts.skip index 60378dfb..0738dd8d 100644 --- a/packages/core/js-peer/src/__test__/integration/marine-js.spec.ts +++ b/packages/core/src/js-peer/__test__/integration/marine-js.spec.ts.skip @@ -1,19 +1,21 @@ -import fs from 'fs'; -import path from 'path'; -import { compileAqua, withPeer } from '../util'; +import * as fs from 'fs'; +import * as url from 'url'; +import * as path from 'path'; +import { compileAqua, withPeer } from '../util.js'; let aqua: any; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); describe('Marine js tests', () => { beforeAll(async () => { - const { services, functions } = await compileAqua(path.join(__dirname, './marine-js.aqua')); + const { services, functions } = await compileAqua(path.join(__dirname, '../data/marine-js.aqua')); aqua = functions; }); it('should call marine service correctly', async () => { await withPeer(async (peer) => { // arrange - const wasm = await fs.promises.readFile(__dirname + '/greeting.wasm'); + const wasm = await fs.promises.readFile(path.join(__dirname, '../data/greeting.wasm')); await peer.registerMarineService(wasm, 'greeting'); // act @@ -37,7 +39,7 @@ describe('Marine js tests', () => { marineLogLevel: 'debug', }, }); - const wasm = await fs.promises.readFile(__dirname + '/greeting-record.wasm'); + const wasm = await fs.promises.readFile(path.join(__dirname, '../data/greeting-record.wasm')); await peer.registerMarineService(wasm, 'greeting'); // act diff --git a/packages/core/js-peer/src/__test__/integration/peer.spec.ts b/packages/core/src/js-peer/__test__/integration/peer.spec.ts.skip similarity index 98% rename from packages/core/js-peer/src/__test__/integration/peer.spec.ts rename to packages/core/src/js-peer/__test__/integration/peer.spec.ts.skip index d33fec2b..4cf7d2d0 100644 --- a/packages/core/js-peer/src/__test__/integration/peer.spec.ts +++ b/packages/core/src/js-peer/__test__/integration/peer.spec.ts.skip @@ -1,9 +1,7 @@ -import { Multiaddr } from 'multiaddr'; - -import { nodes } from '../connection'; -import { checkConnection, doNothing, handleTimeout } from '../../utils'; -import { registerHandlersHelper, mkTestPeer, withPeer, withConnectedPeer } from '../util'; -import { FluencePeer } from '../../FluencePeer'; +import { nodes } from '../connection.js'; +import { checkConnection, doNothing, handleTimeout } from '../../utils.js'; +import { registerHandlersHelper, mkTestPeer, withPeer, withConnectedPeer } from '../util.js'; +import { FluencePeer } from '../../FluencePeer.js'; describe('Typescript usage suite', () => { it('should perform test for FluencePeer class correctly', () => { diff --git a/packages/core/js-peer/src/__test__/integration/sigService.spec.ts b/packages/core/src/js-peer/__test__/integration/sigService.spec.ts.skip similarity index 88% rename from packages/core/js-peer/src/__test__/integration/sigService.spec.ts rename to packages/core/src/js-peer/__test__/integration/sigService.spec.ts.skip index 3149721f..15556349 100644 --- a/packages/core/js-peer/src/__test__/integration/sigService.spec.ts +++ b/packages/core/src/js-peer/__test__/integration/sigService.spec.ts.skip @@ -1,9 +1,12 @@ -import path from 'path'; -import { KeyPair } from '@fluencelabs/keypair'; -import { allowServiceFn } from '../../builtins/securityGuard'; -import { Sig } from '../../builtins/Sig'; -import { compileAqua, withPeer } from '../util'; -import { registerServiceImpl } from '../../compilerSupport/registerService'; +import * as path from 'path'; +import * as url from 'url'; +import { KeyPair } from '../../../keypair/index.js'; +import { allowServiceFn } from '../../builtins/securityGuard.js'; +import { Sig } from '../../builtins/Sig.js'; +import { compileAqua, withPeer } from '../util.js'; +import { registerServiceImpl } from '../../compilerSupport/registerService.js'; + +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); let aqua: any; let sigDef: any; @@ -11,7 +14,7 @@ let dataProviderDef: any; describe('Sig service test suite', () => { beforeAll(async () => { - const { services, functions } = await compileAqua(path.join(__dirname, './sigService.aqua')); + const { services, functions } = await compileAqua(path.join(__dirname, '../data/sigService.aqua')); aqua = functions; sigDef = services.Sig; dataProviderDef = services.DataProvider; diff --git a/packages/core/src/js-peer/__test__/integration/smokeTest.ts b/packages/core/src/js-peer/__test__/integration/smokeTest.ts new file mode 100644 index 00000000..fcc66bfc --- /dev/null +++ b/packages/core/src/js-peer/__test__/integration/smokeTest.ts @@ -0,0 +1,67 @@ +import { handleTimeout } from '../../utils.js'; +import { nodes } from '../connection.js'; +import { mkTestPeer, registerHandlersHelper } from '../util.js'; + +const smokeTest = async () => { + // arrange + const peer = mkTestPeer(); + await peer.start({ + connectTo: nodes[0], + }); + + const result = await new Promise((resolve, reject) => { + const script = ` + (xor + (seq + (call %init_peer_id% ("load" "relay") [] init_relay) + (seq + (call init_relay ("op" "identity") ["hello world!"] result) + (call %init_peer_id% ("callback" "callback") [result]) + ) + ) + (seq + (call init_relay ("op" "identity") []) + (call %init_peer_id% ("callback" "error") [%last_error%]) + ) + )`; + const particle = peer.internals.createNewParticle(script); + + if (particle instanceof Error) { + return reject(particle.message); + } + + registerHandlersHelper(peer, particle, { + load: { + relay: () => { + return peer.getStatus().relayPeerId; + }, + }, + callback: { + callback: (args: any) => { + const [val] = args; + resolve(val); + }, + error: (args: any) => { + const [error] = args; + reject(error); + }, + }, + }); + + peer.internals.initiateParticle(particle, handleTimeout(reject)); + }); + + await peer.stop(); + + if (result[0] !== 'hello world!') { + throw new Error('Expecting "hello wrold!" got ' + result[0]); + } +}; + +smokeTest() + .then(() => { + console.log('Test passed'); + }) + .catch((err) => { + console.error('Test failed: ', err); + }); diff --git a/packages/core/js-peer/src/__test__/integration/srv.spec.ts b/packages/core/src/js-peer/__test__/integration/srv.spec.ts.skip similarity index 80% rename from packages/core/js-peer/src/__test__/integration/srv.spec.ts rename to packages/core/src/js-peer/__test__/integration/srv.spec.ts.skip index 234b5c88..9612413c 100644 --- a/packages/core/js-peer/src/__test__/integration/srv.spec.ts +++ b/packages/core/src/js-peer/__test__/integration/srv.spec.ts.skip @@ -1,18 +1,20 @@ -import path from 'path'; -import { compileAqua, withPeer } from '../util'; +import * as path from 'path'; +import * as url from 'url'; +import { compileAqua, withPeer } from '../util.js'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); let aqua: any; describe('Srv service test suite', () => { beforeAll(async () => { - const { services, functions } = await compileAqua(path.join(__dirname, './srv.aqua')); + const { services, functions } = await compileAqua(path.join(__dirname, '../data/srv.aqua')); aqua = functions; }); it('Use custom srv service, success path', async () => { await withPeer(async (peer) => { // arrange - const wasm = path.join(__dirname, './greeting.wasm'); + const wasm = path.join(__dirname, '../data/greeting.wasm'); // act const res = await aqua.happy_path(peer, { file_path: wasm }); @@ -25,7 +27,7 @@ describe('Srv service test suite', () => { it('List deployed services', async () => { await withPeer(async (peer) => { // arrange - const wasm = path.join(__dirname, './greeting.wasm'); + const wasm = path.join(__dirname, '../data/greeting.wasm'); // act const res = await aqua.list_services(peer, { file_path: wasm }); @@ -38,7 +40,7 @@ describe('Srv service test suite', () => { it('Correct error for removed services', async () => { await withPeer(async (peer) => { // arrange - const wasm = path.join(__dirname, './greeting.wasm'); + const wasm = path.join(__dirname, '../data/greeting.wasm'); // act const res = await aqua.service_removed(peer, { file_path: wasm }); diff --git a/packages/core/js-peer/src/__test__/unit/ast.spec.ts b/packages/core/src/js-peer/__test__/unit/ast.spec.ts.skip similarity index 94% rename from packages/core/js-peer/src/__test__/unit/ast.spec.ts rename to packages/core/src/js-peer/__test__/unit/ast.spec.ts.skip index 0a485967..0d4b1526 100644 --- a/packages/core/js-peer/src/__test__/unit/ast.spec.ts +++ b/packages/core/src/js-peer/__test__/unit/ast.spec.ts.skip @@ -1,4 +1,4 @@ -import { mkTestPeer } from '../util'; +import { mkTestPeer } from '../util.js'; const peer = mkTestPeer(); diff --git a/packages/core/src/js-peer/__test__/unit/builtInHandler.spec.ts b/packages/core/src/js-peer/__test__/unit/builtInHandler.spec.ts new file mode 100644 index 00000000..55d3a1d1 --- /dev/null +++ b/packages/core/src/js-peer/__test__/unit/builtInHandler.spec.ts @@ -0,0 +1,304 @@ +import { toUint8Array } from 'js-base64'; +import { CallParams, CallServiceData } from '../../commonTypes.js'; +import { builtInServices } from '../../builtins/common.js'; +import { KeyPair } from '../../../keypair/index.js'; +import { Sig, defaultSigGuard } from '../../builtins/Sig.js'; +import { allowServiceFn } from '../../builtins/securityGuard.js'; + +const a10b20 = `{ + "a": 10, + "b": 20 +}`; + +const oneTwoThreeFour = `[ + 1, + 2, + 3, + 4 +]`; + +describe('Tests for default handler', () => { + test.each` + serviceId | fnName | args | retCode | result + ${'op'} | ${'identity'} | ${[]} | ${0} | ${{}} + ${'op'} | ${'identity'} | ${[1]} | ${0} | ${1} + ${'op'} | ${'identity'} | ${[1, 2]} | ${1} | ${'identity accepts up to 1 arguments, received 2 arguments'} + ${'op'} | ${'noop'} | ${[1, 2]} | ${0} | ${{}} + ${'op'} | ${'array'} | ${[1, 2, 3]} | ${0} | ${[1, 2, 3]} + ${'op'} | ${'array_length'} | ${[[1, 2, 3]]} | ${0} | ${3} + ${'op'} | ${'array_length'} | ${[]} | ${1} | ${'array_length accepts exactly one argument, found: 0'} + ${'op'} | ${'concat'} | ${[[1, 2], [3, 4], [5, 6]]} | ${0} | ${[1, 2, 3, 4, 5, 6]} + ${'op'} | ${'concat'} | ${[[1, 2]]} | ${0} | ${[1, 2]} + ${'op'} | ${'concat'} | ${[]} | ${0} | ${[]} + ${'op'} | ${'concat'} | ${[1, [1, 2], 1]} | ${1} | ${"All arguments of 'concat' must be arrays: arguments 0, 2 are not"} + ${'op'} | ${'string_to_b58'} | ${['test']} | ${0} | ${'3yZe7d'} + ${'op'} | ${'string_to_b58'} | ${['test', 1]} | ${1} | ${'string_to_b58 accepts only one string argument'} + ${'op'} | ${'string_from_b58'} | ${['3yZe7d']} | ${0} | ${'test'} + ${'op'} | ${'string_from_b58'} | ${['3yZe7d', 1]} | ${1} | ${'string_from_b58 accepts only one string argument'} + ${'op'} | ${'bytes_to_b58'} | ${[[116, 101, 115, 116]]} | ${0} | ${'3yZe7d'} + ${'op'} | ${'bytes_to_b58'} | ${[[116, 101, 115, 116], 1]} | ${1} | ${'bytes_to_b58 accepts only single argument: array of numbers'} + ${'op'} | ${'bytes_from_b58'} | ${['3yZe7d']} | ${0} | ${[116, 101, 115, 116]} + ${'op'} | ${'bytes_from_b58'} | ${['3yZe7d', 1]} | ${1} | ${'bytes_from_b58 accepts only one string argument'} + ${'op'} | ${'sha256_string'} | ${['hello, world!']} | ${0} | ${'QmVQ8pg6L1tpoWYeq6dpoWqnzZoSLCh7E96fCFXKvfKD3u'} + ${'op'} | ${'sha256_string'} | ${['hello, world!', true]} | ${0} | ${'84V7ZxLW7qKsx1Qvbd63BdGaHxUc3TfT2MBPqAXM7Wyu'} + ${'op'} | ${'sha256_string'} | ${[]} | ${1} | ${'sha256_string accepts 1-3 arguments, found: 0'} + ${'op'} | ${'concat_strings'} | ${[]} | ${0} | ${''} + ${'op'} | ${'concat_strings'} | ${['a', 'b', 'c']} | ${0} | ${'abc'} + ${'peer'} | ${'timeout'} | ${[200, []]} | ${0} | ${[]} + ${'peer'} | ${'timeout'} | ${[200, ['test']]} | ${0} | ${['test']} + ${'peer'} | ${'timeout'} | ${[]} | ${1} | ${'timeout accepts exactly two arguments: timeout duration in ms and a message string'} + ${'peer'} | ${'timeout'} | ${[200, 'test', 1]} | ${1} | ${'timeout accepts exactly two arguments: timeout duration in ms and a message string'} + ${'debug'} | ${'stringify'} | ${[]} | ${0} | ${'""'} + ${'debug'} | ${'stringify'} | ${[{ a: 10, b: 20 }]} | ${0} | ${a10b20} + ${'debug'} | ${'stringify'} | ${[1, 2, 3, 4]} | ${0} | ${oneTwoThreeFour} + ${'math'} | ${'add'} | ${[2, 2]} | ${0} | ${4} + ${'math'} | ${'add'} | ${[2]} | ${1} | ${'Expected 2 argument(s). Got 1'} + ${'math'} | ${'sub'} | ${[2, 2]} | ${0} | ${0} + ${'math'} | ${'sub'} | ${[2, 3]} | ${0} | ${-1} + ${'math'} | ${'mul'} | ${[2, 2]} | ${0} | ${4} + ${'math'} | ${'mul'} | ${[2, 0]} | ${0} | ${0} + ${'math'} | ${'mul'} | ${[2, -1]} | ${0} | ${-2} + ${'math'} | ${'fmul'} | ${[10, 0.66]} | ${0} | ${6} + ${'math'} | ${'fmul'} | ${[0.5, 0.5]} | ${0} | ${0} + ${'math'} | ${'fmul'} | ${[100.5, 0.5]} | ${0} | ${50} + ${'math'} | ${'div'} | ${[2, 2]} | ${0} | ${1} + ${'math'} | ${'div'} | ${[2, 3]} | ${0} | ${0} + ${'math'} | ${'div'} | ${[10, 5]} | ${0} | ${2} + ${'math'} | ${'rem'} | ${[10, 3]} | ${0} | ${1} + ${'math'} | ${'pow'} | ${[2, 2]} | ${0} | ${4} + ${'math'} | ${'pow'} | ${[2, 0]} | ${0} | ${1} + ${'math'} | ${'log'} | ${[2, 2]} | ${0} | ${1} + ${'math'} | ${'log'} | ${[2, 4]} | ${0} | ${2} + ${'cmp'} | ${'gt'} | ${[2, 4]} | ${0} | ${false} + ${'cmp'} | ${'gte'} | ${[2, 4]} | ${0} | ${false} + ${'cmp'} | ${'gte'} | ${[4, 2]} | ${0} | ${true} + ${'cmp'} | ${'gte'} | ${[2, 2]} | ${0} | ${true} + ${'cmp'} | ${'lt'} | ${[2, 4]} | ${0} | ${true} + ${'cmp'} | ${'lte'} | ${[2, 4]} | ${0} | ${true} + ${'cmp'} | ${'lte'} | ${[4, 2]} | ${0} | ${false} + ${'cmp'} | ${'lte'} | ${[2, 2]} | ${0} | ${true} + ${'cmp'} | ${'cmp'} | ${[2, 4]} | ${0} | ${-1} + ${'cmp'} | ${'cmp'} | ${[2, -4]} | ${0} | ${1} + ${'cmp'} | ${'cmp'} | ${[2, 2]} | ${0} | ${0} + ${'array'} | ${'sum'} | ${[[1, 2, 3]]} | ${0} | ${6} + ${'array'} | ${'dedup'} | ${[['a', 'a', 'b', 'c', 'a', 'b', 'c']]} | ${0} | ${['a', 'b', 'c']} + ${'array'} | ${'intersect'} | ${[['a', 'b', 'c'], ['c', 'b', 'd']]} | ${0} | ${['b', 'c']} + ${'array'} | ${'diff'} | ${[['a', 'b', 'c'], ['c', 'b', 'd']]} | ${0} | ${['a']} + ${'array'} | ${'sdiff'} | ${[['a', 'b', 'c'], ['c', 'b', 'd']]} | ${0} | ${['a', 'd']} + ${'json'} | ${'obj'} | ${['a', 10, 'b', 'string', 'c', null]} | ${0} | ${{ a: 10, b: 'string', c: null }} + ${'json'} | ${'obj'} | ${['a', 10, 'b', 'string', 'c']} | ${1} | ${'Expected even number of argument(s). Got 5'} + ${'json'} | ${'obj'} | ${[]} | ${0} | ${{}} + ${'json'} | ${'put'} | ${[{}, 'a', 10]} | ${0} | ${{ a: 10 }} + ${'json'} | ${'put'} | ${[{ b: 11 }, 'a', 10]} | ${0} | ${{ a: 10, b: 11 }} + ${'json'} | ${'put'} | ${['a', 'a', 11]} | ${1} | ${'Argument 0 expected to be of type object, Got string'} + ${'json'} | ${'put'} | ${[{}, 'a', 10, 'b', 20]} | ${1} | ${'Expected 3 argument(s). Got 5'} + ${'json'} | ${'put'} | ${[{}]} | ${1} | ${'Expected 3 argument(s). Got 1'} + ${'json'} | ${'puts'} | ${[{}, 'a', 10]} | ${0} | ${{ a: 10 }} + ${'json'} | ${'puts'} | ${[{ b: 11 }, 'a', 10]} | ${0} | ${{ a: 10, b: 11 }} + ${'json'} | ${'puts'} | ${[{}, 'a', 10, 'b', 'string', 'c', null]} | ${0} | ${{ a: 10, b: 'string', c: null }} + ${'json'} | ${'puts'} | ${[{ x: 'text' }, 'a', 10, 'b', 'string']} | ${0} | ${{ a: 10, b: 'string', x: 'text' }} + ${'json'} | ${'puts'} | ${[{}]} | ${1} | ${'Expected more than 3 argument(s). Got 1'} + ${'json'} | ${'puts'} | ${['a', 'a', 11]} | ${1} | ${'Argument 0 expected to be of type object, Got string'} + ${'json'} | ${'stringify'} | ${[{ a: 10, b: 'string', c: null }]} | ${0} | ${'{"a":10,"b":"string","c":null}'} + ${'json'} | ${'stringify'} | ${[1]} | ${1} | ${'Argument 0 expected to be of type object, Got number'} + ${'json'} | ${'parse'} | ${['{"a":10,"b":"string","c":null}']} | ${0} | ${{ a: 10, b: 'string', c: null }} + ${'json'} | ${'parse'} | ${['incorrect']} | ${1} | ${'Unexpected token i in JSON at position 0'} + ${'json'} | ${'parse'} | ${[10]} | ${1} | ${'Argument 0 expected to be of type string, Got number'} + `( + // + '$fnName with $args expected retcode: $retCode and result: $result', + async ({ serviceId, fnName, args, retCode, result }) => { + // arrange + const req: CallServiceData = { + serviceId: serviceId, + fnName: fnName, + args: args, + tetraplets: [], + particleContext: { + particleId: 'some', + initPeerId: 'init peer id', + timestamp: 595951200, + ttl: 595961200, + signature: 'sig', + }, + }; + + // act + const fn = builtInServices[req.serviceId][req.fnName]; + const res = await fn(req); + + // assert + expect(res).toMatchObject({ + retCode: retCode, + result: result, + }); + }, + ); + + it('should return correct error message for identiy service', async () => { + // arrange + const req: CallServiceData = { + serviceId: 'peer', + fnName: 'identify', + args: [], + tetraplets: [], + particleContext: { + particleId: 'some', + initPeerId: 'init peer id', + timestamp: 595951200, + ttl: 595961200, + signature: 'sig', + }, + }; + + // act + const fn = builtInServices[req.serviceId][req.fnName]; + const res = await fn(req); + + // assert + expect(res).toMatchObject({ + retCode: 0, + result: { + external_addresses: [], + node_version: expect.stringContaining('js'), + air_version: expect.stringContaining('js'), + }, + }); + }); +}); + +const key = '+cmeYlZKj+MfSa9dpHV+BmLPm6wq4inGlsPlQ1GvtPk='; + +const context = (async () => { + const keyBytes = toUint8Array(key); + const kp = await KeyPair.fromEd25519SK(keyBytes); + const res = { + peerKeyPair: kp, + peerId: kp.getPeerId(), + }; + return res; +})(); + +const testData = [1, 2, 3, 4, 5, 6, 7, 9, 10]; + +// signature produced by KeyPair created from key above (`key` variable) +const testDataSig = [ + 224, 104, 245, 206, 140, 248, 27, 72, 68, 133, 111, 10, 164, 197, 242, 132, 107, 77, 224, 67, 99, 106, 76, 29, 144, + 121, 122, 169, 36, 173, 58, 80, 170, 102, 137, 253, 157, 247, 168, 87, 162, 223, 188, 214, 203, 220, 52, 246, 29, + 86, 77, 71, 224, 248, 16, 213, 254, 75, 78, 239, 243, 222, 241, 15, +]; + +// signature produced by KeyPair created from some random KeyPair +const testDataWrongSig = [ + 116, 247, 189, 118, 236, 53, 147, 123, 219, 75, 176, 105, 101, 108, 233, 137, 97, 14, 146, 132, 252, 70, 51, 153, + 237, 167, 156, 150, 36, 90, 229, 108, 166, 231, 255, 137, 8, 246, 125, 0, 213, 150, 83, 196, 237, 221, 131, 159, + 157, 159, 25, 109, 95, 160, 181, 65, 254, 238, 47, 156, 240, 151, 58, 14, +]; + +const makeTetraplet = (initPeerId: string, serviceId?: string, fnName?: string): CallParams<'data'> => { + return { + initPeerId: initPeerId, + tetraplets: { + data: [ + { + function_name: fnName, + service_id: serviceId, + }, + ], + }, + } as any; +}; + +describe('Sig service tests', () => { + it('sig.sign should create the correct signature', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + + const res = await sig.sign(testData, makeTetraplet(ctx.peerId)); + + expect(res.success).toBe(true); + expect(res.signature).toStrictEqual(testDataSig); + }); + + it('sig.verify should return true for the correct signature', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + + const res = await sig.verify(testDataSig, testData); + + expect(res).toBe(true); + }); + + it('sig.verify should return false for the incorrect signature', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + + const res = await sig.verify(testDataWrongSig, testData); + + expect(res).toBe(false); + }); + + it('sign-verify call chain should work', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + + const signature = await sig.sign(testData, makeTetraplet(ctx.peerId)); + const res = await sig.verify(signature.signature as number[], testData); + + expect(res).toBe(true); + }); + + it('sig.sign with defaultSigGuard should work for correct callParams', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + sig.securityGuard = defaultSigGuard(ctx.peerId); + + const signature = await sig.sign(testData, makeTetraplet(ctx.peerId, 'registry', 'get_route_bytes')); + + await expect(signature).toBeDefined(); + }); + + it('sig.sign with defaultSigGuard should not allow particles initiated from incorrect service', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + sig.securityGuard = defaultSigGuard(ctx.peerId); + + const res = await sig.sign(testData, makeTetraplet(ctx.peerId, 'other_service', 'other_fn')); + + await expect(res.success).toBe(false); + await expect(res.error).toBe('Security guard validation failed'); + }); + + it('sig.sign with defaultSigGuard should not allow particles initiated from other peers', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + sig.securityGuard = defaultSigGuard(ctx.peerId); + + const res = await sig.sign( + testData, + makeTetraplet((await KeyPair.randomEd25519()).getPeerId(), 'registry', 'get_key_bytes'), + ); + + await expect(res.success).toBe(false); + await expect(res.error).toBe('Security guard validation failed'); + }); + + it('changing securityGuard should work', async () => { + const ctx = await context; + const sig = new Sig(ctx.peerKeyPair); + sig.securityGuard = allowServiceFn('test', 'test'); + + const successful1 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'test', 'test')); + const unSuccessful1 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'wrong', 'wrong')); + + sig.securityGuard = allowServiceFn('wrong', 'wrong'); + + const successful2 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'wrong', 'wrong')); + const unSuccessful2 = await sig.sign(testData, makeTetraplet(ctx.peerId, 'test', 'test')); + + expect(successful1.success).toBe(true); + expect(successful2.success).toBe(true); + expect(unSuccessful1.success).toBe(false); + expect(unSuccessful2.success).toBe(false); + }); +}); diff --git a/packages/core/js-peer/src/__test__/unit/compiler/v3.spec.ts b/packages/core/src/js-peer/__test__/unit/compiler/v3.spec.ts similarity index 71% rename from packages/core/js-peer/src/__test__/unit/compiler/v3.spec.ts rename to packages/core/src/js-peer/__test__/unit/compiler/v3.spec.ts index 2eb7b6b9..c21ec1eb 100644 --- a/packages/core/js-peer/src/__test__/unit/compiler/v3.spec.ts +++ b/packages/core/src/js-peer/__test__/unit/compiler/v3.spec.ts @@ -1,5 +1,4 @@ -import each from 'jest-each'; -import { aqua2ts, ts2aqua } from '../../../compilerSupport/conversions'; +import { aqua2ts, ts2aqua } from '../../../compilerSupport/conversions.js'; const i32 = { tag: 'scalar', name: 'i32' } as const; @@ -152,24 +151,24 @@ const nestedStructs = [ ]; describe('Conversion from aqua to typescript', () => { - each` - aqua | ts | type - ${1} | ${1} | ${i32} - ${[]} | ${null} | ${opt_i32} - ${[1]} | ${1} | ${opt_i32} - ${[1, 2, 3]} | ${[1, 2, 3]} | ${array_i32} - ${[]} | ${[]} | ${array_i32} - ${[[1]]} | ${[1]} | ${array_opt_i32} - ${[[]]} | ${[null]} | ${array_opt_i32} - ${[[1], [2]]} | ${[1, 2]} | ${array_opt_i32} - ${[[], [2]]} | ${[null, 2]} | ${array_opt_i32} - ${structs[0].aqua} | ${structs[0].ts} | ${labeledProduct} - ${structs[1].aqua} | ${structs[1].ts} | ${labeledProduct} - ${structs[0].aqua} | ${structs[0].ts} | ${struct} - ${structs[1].aqua} | ${structs[1].ts} | ${struct} - ${nestedStructs[0].aqua} | ${nestedStructs[0].ts} | ${nestedLabeledProductType} - ${nestedStructs[1].aqua} | ${nestedStructs[1].ts} | ${nestedLabeledProductType} -`.test( + test.each` + aqua | ts | type + ${1} | ${1} | ${i32} + ${[]} | ${null} | ${opt_i32} + ${[1]} | ${1} | ${opt_i32} + ${[1, 2, 3]} | ${[1, 2, 3]} | ${array_i32} + ${[]} | ${[]} | ${array_i32} + ${[[1]]} | ${[1]} | ${array_opt_i32} + ${[[]]} | ${[null]} | ${array_opt_i32} + ${[[1], [2]]} | ${[1, 2]} | ${array_opt_i32} + ${[[], [2]]} | ${[null, 2]} | ${array_opt_i32} + ${structs[0].aqua} | ${structs[0].ts} | ${labeledProduct} + ${structs[1].aqua} | ${structs[1].ts} | ${labeledProduct} + ${structs[0].aqua} | ${structs[0].ts} | ${struct} + ${structs[1].aqua} | ${structs[1].ts} | ${struct} + ${nestedStructs[0].aqua} | ${nestedStructs[0].ts} | ${nestedLabeledProductType} + ${nestedStructs[1].aqua} | ${nestedStructs[1].ts} | ${nestedLabeledProductType} + `( // 'aqua: $aqua. ts: $ts. type: $type', async ({ aqua, ts, type }) => { diff --git a/packages/core/js-peer/src/__test__/unit/ephemeral.spec.ts b/packages/core/src/js-peer/__test__/unit/ephemeral.spec.ts.skip similarity index 100% rename from packages/core/js-peer/src/__test__/unit/ephemeral.spec.ts rename to packages/core/src/js-peer/__test__/unit/ephemeral.spec.ts.skip diff --git a/packages/core/js-peer/src/__test__/util.ts b/packages/core/src/js-peer/__test__/util.ts similarity index 74% rename from packages/core/js-peer/src/__test__/util.ts rename to packages/core/src/js-peer/__test__/util.ts index 98bdb96b..b352dda9 100644 --- a/packages/core/js-peer/src/__test__/util.ts +++ b/packages/core/src/js-peer/__test__/util.ts @@ -1,17 +1,18 @@ -import api from '@fluencelabs/aqua-api/aqua-api'; -import { InlinedWorkerLoader } from '@fluencelabs/marine.deps-loader.node'; +import * as api from '@fluencelabs/aqua-api/aqua-api.js'; import { promises as fs } from 'fs'; -import { FluencePeer, PeerConfig } from '../FluencePeer'; -import { Particle } from '../Particle'; -import { avmModuleLoader, controlModuleLoader, MakeServiceCall } from '../utils'; -import { ServiceDef } from '../compilerSupport/interface'; -import { callFunctionImpl } from '../compilerSupport/callFunction'; +import { FluencePeer, PeerConfig } from '../FluencePeer.js'; +import { Particle } from '../Particle.js'; +import { MakeServiceCall } from '../utils.js'; +import { avmModuleLoader, controlModuleLoader } from '../utilsForNode.js'; +import { ServiceDef } from '../compilerSupport/interface.js'; +import { callFunctionImpl } from '../compilerSupport/callFunction.js'; -import { marineLogFunction } from '../utils'; -import { MarineBackgroundRunner } from '@fluencelabs/marine.background-runner'; -import { MarineBasedAvmRunner } from '../avm'; -import { nodes } from './connection'; +import { marineLogFunction } from '../utils.js'; +import { MarineBackgroundRunner } from '../../marine/worker/index.js'; +import { MarineBasedAvmRunner } from '../avm.js'; +import { nodes } from './connection.js'; +import { WorkerLoaderFromFs } from '../../marine/deps-loader/node.js'; export const registerHandlersHelper = ( peer: FluencePeer, @@ -51,7 +52,7 @@ export const compileAqua = async (aquaFile: string): Promise => { }; export const mkTestPeer = () => { - const workerLoader = new InlinedWorkerLoader(); + const workerLoader = new WorkerLoaderFromFs('../../marine/worker-script'); const marine = new MarineBackgroundRunner(workerLoader, controlModuleLoader, marineLogFunction); const avm = new MarineBasedAvmRunner(marine, avmModuleLoader, undefined); diff --git a/packages/core/js-peer/src/_aqua/node-utils.ts b/packages/core/src/js-peer/_aqua/node-utils.ts similarity index 96% rename from packages/core/js-peer/src/_aqua/node-utils.ts rename to packages/core/src/js-peer/_aqua/node-utils.ts index 1bd05d84..dadc5140 100644 --- a/packages/core/js-peer/src/_aqua/node-utils.ts +++ b/packages/core/src/js-peer/_aqua/node-utils.ts @@ -6,9 +6,9 @@ * Aqua version: 0.7.7-362 * */ -import { CallParams } from '../commonTypes'; -import { registerServiceImpl } from '../compilerSupport/registerService'; -import { FluencePeer } from '../FluencePeer'; +import { CallParams } from '../commonTypes.js'; +import { registerServiceImpl } from '../compilerSupport/registerService.js'; +import { FluencePeer } from '../FluencePeer.js'; // Services diff --git a/packages/core/js-peer/src/_aqua/services.ts b/packages/core/src/js-peer/_aqua/services.ts similarity index 97% rename from packages/core/js-peer/src/_aqua/services.ts rename to packages/core/src/js-peer/_aqua/services.ts index 5fa7535d..7d6541e9 100644 --- a/packages/core/js-peer/src/_aqua/services.ts +++ b/packages/core/src/js-peer/_aqua/services.ts @@ -6,9 +6,9 @@ * Aqua version: 0.7.7-362 * */ -import { CallParams } from '../commonTypes'; -import { registerServiceImpl } from '../compilerSupport/registerService'; -import { FluencePeer } from '../FluencePeer'; +import { CallParams } from '../commonTypes.js'; +import { registerServiceImpl } from '../compilerSupport/registerService.js'; +import { FluencePeer } from '../FluencePeer.js'; // Services diff --git a/packages/core/js-peer/src/_aqua/single-module-srv.ts b/packages/core/src/js-peer/_aqua/single-module-srv.ts similarity index 97% rename from packages/core/js-peer/src/_aqua/single-module-srv.ts rename to packages/core/src/js-peer/_aqua/single-module-srv.ts index 0ca0bff2..639e5592 100644 --- a/packages/core/js-peer/src/_aqua/single-module-srv.ts +++ b/packages/core/src/js-peer/_aqua/single-module-srv.ts @@ -6,9 +6,9 @@ * Aqua version: 0.7.7-362 * */ -import { CallParams } from '../commonTypes'; -import { registerServiceImpl } from '../compilerSupport/registerService'; -import { FluencePeer } from '../FluencePeer'; +import { CallParams } from '../commonTypes.js'; +import { registerServiceImpl } from '../compilerSupport/registerService.js'; +import { FluencePeer } from '../FluencePeer.js'; // Services diff --git a/packages/core/js-peer/src/avm.ts b/packages/core/src/js-peer/avm.ts similarity index 89% rename from packages/core/js-peer/src/avm.ts rename to packages/core/src/js-peer/avm.ts index fd1e8a7c..1cc77282 100644 --- a/packages/core/js-peer/src/avm.ts +++ b/packages/core/src/js-peer/avm.ts @@ -1,7 +1,7 @@ import type { CallResultsArray, InterpreterResult, RunParameters } from '@fluencelabs/avm'; import { deserializeAvmResult, serializeAvmArgs } from '@fluencelabs/avm'; -import type { LogLevel } from '@fluencelabs/marine-js'; -import type { IMarine, IAvmRunner, IWasmLoader } from '@fluencelabs/interfaces'; +import type { LogLevel } from '@fluencelabs/marine-js/dist/types'; +import type { IMarine, IAvmRunner, IWasmLoader } from '../interfaces/index.js'; export class MarineBasedAvmRunner implements IAvmRunner { constructor(private marine: IMarine, private avmWasmLoader: IWasmLoader, private logLevel: LogLevel | undefined) {} diff --git a/packages/core/js-peer/src/builtins/Sig.ts b/packages/core/src/js-peer/builtins/Sig.ts similarity index 90% rename from packages/core/js-peer/src/builtins/Sig.ts rename to packages/core/src/js-peer/builtins/Sig.ts index dd2a99e8..9339edf7 100644 --- a/packages/core/js-peer/src/builtins/Sig.ts +++ b/packages/core/src/js-peer/builtins/Sig.ts @@ -1,7 +1,7 @@ -import { CallParams, PeerIdB58 } from '../commonTypes'; -import { KeyPair } from '@fluencelabs/keypair'; -import { SigDef } from '../_aqua/services'; -import { allowOnlyParticleOriginatedAt, allowServiceFn, and, or, SecurityGuard } from './securityGuard'; +import { CallParams, PeerIdB58 } from '../commonTypes.js'; +import { KeyPair } from '../../keypair/index.js'; +import { SigDef } from '../_aqua/services.js'; +import { allowOnlyParticleOriginatedAt, allowServiceFn, and, or, SecurityGuard } from './securityGuard.js'; export const defaultSigGuard = (peerId: PeerIdB58) => { return and<'data'>( diff --git a/packages/core/js-peer/src/builtins/SingleModuleSrv.ts b/packages/core/src/js-peer/builtins/SingleModuleSrv.ts similarity index 88% rename from packages/core/js-peer/src/builtins/SingleModuleSrv.ts rename to packages/core/src/js-peer/builtins/SingleModuleSrv.ts index 76a1aeb7..db27a78d 100644 --- a/packages/core/js-peer/src/builtins/SingleModuleSrv.ts +++ b/packages/core/src/js-peer/builtins/SingleModuleSrv.ts @@ -1,12 +1,13 @@ import { v4 as uuidv4 } from 'uuid'; -import { SrvDef } from '../_aqua/single-module-srv'; -import { NodeUtilsDef } from '../_aqua/node-utils'; -import { FluencePeer } from '../FluencePeer'; -import { CallParams } from '../commonTypes'; -import { allowOnlyParticleOriginatedAt, SecurityGuard } from './securityGuard'; +import { SrvDef } from '../_aqua/single-module-srv.js'; +import { NodeUtilsDef } from '../_aqua/node-utils.js'; +import { FluencePeer } from '../FluencePeer.js'; +import { CallParams } from '../commonTypes.js'; +import { Buffer } from 'buffer'; +import { allowOnlyParticleOriginatedAt, SecurityGuard } from './securityGuard.js'; -export const defaultGuard = (peer: FluencePeer) => { - return allowOnlyParticleOriginatedAt(peer.getStatus().peerId!); +export const defaultGuard = (peer: () => FluencePeer) => { + return allowOnlyParticleOriginatedAt(peer().getStatus().peerId!); }; export class Srv implements SrvDef { @@ -14,7 +15,7 @@ export class Srv implements SrvDef { constructor(private peer: FluencePeer) {} - securityGuard_create: SecurityGuard<'wasm_b64_content'> = defaultGuard(this.peer); + securityGuard_create: SecurityGuard<'wasm_b64_content'> = defaultGuard(() => this.peer); async create(wasm_b64_content: string, callParams: CallParams<'wasm_b64_content'>) { if (!this.securityGuard_create(callParams)) { @@ -48,7 +49,7 @@ export class Srv implements SrvDef { } } - securityGuard_remove: SecurityGuard<'service_id'> = defaultGuard(this.peer); + securityGuard_remove: SecurityGuard<'service_id'> = defaultGuard(() => this.peer); remove(service_id: string, callParams: CallParams<'service_id'>) { if (!this.securityGuard_remove(callParams)) { @@ -83,7 +84,7 @@ export class Srv implements SrvDef { export class NodeUtils implements NodeUtilsDef { constructor(private peer: FluencePeer) {} - securityGuard_readFile: SecurityGuard<'path'> = defaultGuard(this.peer); + securityGuard_readFile: SecurityGuard<'path'> = defaultGuard(() => this.peer); async read_file(path: string, callParams: CallParams<'path'>) { // TODO: split node-only and universal services into different client packages diff --git a/packages/core/js-peer/src/builtins/common.ts b/packages/core/src/js-peer/builtins/common.ts similarity index 98% rename from packages/core/js-peer/src/builtins/common.ts rename to packages/core/src/js-peer/builtins/common.ts index be6cff4d..78d229a4 100644 --- a/packages/core/js-peer/src/builtins/common.ts +++ b/packages/core/src/js-peer/builtins/common.ts @@ -14,14 +14,18 @@ * limitations under the License. */ -import { encode, decode } from 'bs58'; +import * as bs58 from 'bs58'; + import { sha256 } from 'multiformats/hashes/sha2'; import { CallServiceResult } from '@fluencelabs/avm'; -import { CallServiceData, GenericCallServiceHandler, ResultCodes } from '../commonTypes'; -import { jsonify } from '../utils'; +import { GenericCallServiceHandler, ResultCodes } from '../commonTypes.js'; +import { jsonify } from '../utils.js'; import { Buffer } from 'buffer'; +//@ts-ignore +const { encode, decode } = bs58.default; + const success = (result: any): CallServiceResult => { return { result: result, diff --git a/packages/core/js-peer/src/builtins/securityGuard.ts b/packages/core/src/js-peer/builtins/securityGuard.ts similarity index 97% rename from packages/core/js-peer/src/builtins/securityGuard.ts rename to packages/core/src/js-peer/builtins/securityGuard.ts index a8d7c772..c079da02 100644 --- a/packages/core/js-peer/src/builtins/securityGuard.ts +++ b/packages/core/src/js-peer/builtins/securityGuard.ts @@ -1,5 +1,5 @@ import { SecurityTetraplet } from '@fluencelabs/avm'; -import { CallParams, PeerIdB58 } from '../commonTypes'; +import { CallParams, PeerIdB58 } from '../commonTypes.js'; type ArgName = string | null; diff --git a/packages/core/js-peer/src/commonTypes.ts b/packages/core/src/js-peer/commonTypes.ts similarity index 100% rename from packages/core/js-peer/src/commonTypes.ts rename to packages/core/src/js-peer/commonTypes.ts diff --git a/packages/core/js-peer/src/compilerSupport/callFunction.ts b/packages/core/src/js-peer/compilerSupport/callFunction.ts similarity index 97% rename from packages/core/js-peer/src/compilerSupport/callFunction.ts rename to packages/core/src/js-peer/compilerSupport/callFunction.ts index e8d5739d..ba22e64c 100644 --- a/packages/core/js-peer/src/compilerSupport/callFunction.ts +++ b/packages/core/src/js-peer/compilerSupport/callFunction.ts @@ -1,5 +1,5 @@ -import { ArrowWithoutCallbacks, FnConfig, FunctionCallDef, NonArrowType } from './interface'; -import { FluencePeer } from '../FluencePeer'; +import { ArrowWithoutCallbacks, FnConfig, FunctionCallDef, NonArrowType } from './interface.js'; +import { FluencePeer } from '../FluencePeer.js'; import { injectRelayService, @@ -9,7 +9,7 @@ import { ServiceDescription, userHandlerService, injectValueService, -} from './services'; +} from './services.js'; /** * Convenience function which does all the internal work of creating particles diff --git a/packages/core/js-peer/src/compilerSupport/conversions.ts b/packages/core/src/js-peer/compilerSupport/conversions.ts similarity index 97% rename from packages/core/js-peer/src/compilerSupport/conversions.ts rename to packages/core/src/js-peer/compilerSupport/conversions.ts index 39e46e79..73fd5200 100644 --- a/packages/core/js-peer/src/compilerSupport/conversions.ts +++ b/packages/core/src/js-peer/compilerSupport/conversions.ts @@ -1,7 +1,7 @@ -import { jsonify } from '../utils'; +import { jsonify } from '../utils.js'; import { match } from 'ts-pattern'; -import { ArrowType, ArrowWithoutCallbacks, NonArrowType } from './interface'; -import { CallServiceData } from '../commonTypes'; +import { ArrowType, ArrowWithoutCallbacks, NonArrowType } from './interface.js'; +import { CallServiceData } from '../commonTypes.js'; /** * Convert value from its representation in aqua language to representation in typescript @@ -21,6 +21,7 @@ export const aqua2ts = (value: any, type: NonArrowType): any => { return aqua2ts(value[0], opt.type); } }) + // @ts-ignore .with({ tag: 'scalar' }, { tag: 'bottomType' }, { tag: 'topType' }, () => { return value; }) diff --git a/packages/core/js-peer/src/compilerSupport/interface.ts b/packages/core/src/js-peer/compilerSupport/interface.ts similarity index 100% rename from packages/core/js-peer/src/compilerSupport/interface.ts rename to packages/core/src/js-peer/compilerSupport/interface.ts diff --git a/packages/core/js-peer/src/compilerSupport/registerService.ts b/packages/core/src/js-peer/compilerSupport/registerService.ts similarity index 93% rename from packages/core/js-peer/src/compilerSupport/registerService.ts rename to packages/core/src/js-peer/compilerSupport/registerService.ts index 38990e16..6fce61eb 100644 --- a/packages/core/js-peer/src/compilerSupport/registerService.ts +++ b/packages/core/src/js-peer/compilerSupport/registerService.ts @@ -1,6 +1,6 @@ -import type { FluencePeer } from '../FluencePeer'; -import { ServiceDef } from './interface'; -import { registerGlobalService, userHandlerService } from './services'; +import type { FluencePeer } from '../FluencePeer.js'; +import { ServiceDef } from './interface.js'; +import { registerGlobalService, userHandlerService } from './services.js'; export const registerServiceImpl = ( peer: FluencePeer, diff --git a/packages/core/js-peer/src/compilerSupport/services.ts b/packages/core/src/js-peer/compilerSupport/services.ts similarity index 96% rename from packages/core/js-peer/src/compilerSupport/services.ts rename to packages/core/src/js-peer/compilerSupport/services.ts index 19f8ef42..6131f216 100644 --- a/packages/core/js-peer/src/compilerSupport/services.ts +++ b/packages/core/src/js-peer/compilerSupport/services.ts @@ -1,12 +1,12 @@ import { SecurityTetraplet } from '@fluencelabs/avm'; import { match } from 'ts-pattern'; -import { Particle } from '../Particle'; -import { CallParams, CallServiceData, GenericCallServiceHandler, ResultCodes } from '../commonTypes'; -import { FluencePeer } from '../FluencePeer'; +import { Particle } from '../Particle.js'; +import { CallParams, CallServiceData, GenericCallServiceHandler, ResultCodes } from '../commonTypes.js'; +import { FluencePeer } from '../FluencePeer.js'; -import { aquaArgs2Ts, responseServiceValue2ts, returnType2Aqua, ts2aqua } from './conversions'; -import { ArrowWithoutCallbacks, FunctionCallConstants, FunctionCallDef, NonArrowType } from './interface'; +import { aquaArgs2Ts, responseServiceValue2ts, returnType2Aqua, ts2aqua } from './conversions.js'; +import { ArrowWithoutCallbacks, FunctionCallConstants, FunctionCallDef, NonArrowType } from './interface.js'; export interface ServiceDescription { serviceId: string; diff --git a/packages/core/js-peer/src/ephemeral.ts b/packages/core/src/js-peer/ephemeral.ts similarity index 94% rename from packages/core/js-peer/src/ephemeral.ts rename to packages/core/src/js-peer/ephemeral.ts index e472b9c1..207bfe68 100644 --- a/packages/core/js-peer/src/ephemeral.ts +++ b/packages/core/src/js-peer/ephemeral.ts @@ -1,15 +1,15 @@ -import { FluenceConnection, ParticleHandler } from '@fluencelabs/interfaces'; -import { InlinedWorkerLoader } from '@fluencelabs/marine.deps-loader.node'; - -import { keyPairFromBase64Sk } from '@fluencelabs/keypair'; - -import { PeerIdB58 } from './commonTypes'; -import { FluencePeer } from './FluencePeer'; -import log from 'loglevel'; -import { MarineBackgroundRunner } from '@fluencelabs/marine.background-runner'; -import { avmModuleLoader, controlModuleLoader, marineLogFunction } from './utils'; +import { FluenceConnection, ParticleHandler } from '../interfaces/index.js'; +import { keyPairFromBase64Sk } from '../keypair/index.js'; +import { PeerIdB58 } from './commonTypes.js'; +import { FluencePeer } from './FluencePeer.js'; +import { MarineBackgroundRunner } from '../marine/worker/index.js'; +import { avmModuleLoader, controlModuleLoader } from './utilsForNode'; +import { marineLogFunction } from './utils'; import { MarineBasedAvmRunner } from './avm'; +import log from 'loglevel'; +import { WorkerLoaderFromFs } from '../marine/deps-loader/node.js'; + interface EphemeralConfig { peers: Array<{ peerId: PeerIdB58; @@ -126,7 +126,7 @@ export class EphemeralNetwork { log.debug('Starting ephemeral network up...'); const allPeerIds = this.config.peers.map((x) => x.peerId); // shared worker for all the peers - const workerLoader = new InlinedWorkerLoader(); + const workerLoader = new WorkerLoaderFromFs('../../marine/worker-script'); const promises = this.config.peers.map(async (x) => { const logLevel = undefined; diff --git a/packages/core/js-peer/src/utils.ts b/packages/core/src/js-peer/utils.ts similarity index 92% rename from packages/core/js-peer/src/utils.ts rename to packages/core/src/js-peer/utils.ts index 78494648..4d412bdc 100644 --- a/packages/core/js-peer/src/utils.ts +++ b/packages/core/src/js-peer/utils.ts @@ -15,14 +15,13 @@ */ import log from 'loglevel'; -import platform from 'platform'; +import * as platform from 'platform'; import { Buffer } from 'buffer'; -import { CallServiceData, CallServiceResult, CallServiceResultType, ResultCodes } from './commonTypes'; -import { FluencePeer } from './FluencePeer'; -import { ParticleExecutionStage } from './Particle'; -import { LogFunction } from '@fluencelabs/marine-js'; -import { WasmNpmLoader } from '@fluencelabs/marine.deps-loader.node'; +import { CallServiceData, CallServiceResult, CallServiceResultType, ResultCodes } from './commonTypes.js'; +import { FluencePeer } from './FluencePeer.js'; +import { ParticleExecutionStage } from './Particle.js'; +import { LogFunction } from '@fluencelabs/marine-js/dist/types'; export const MakeServiceCall = (fn: (args: any[]) => CallServiceResultType) => @@ -202,6 +201,3 @@ export const marineLogFunction: LogFunction = (message) => { break; } }; - -export const controlModuleLoader = new WasmNpmLoader('@fluencelabs/marine-js', 'marine-js.wasm'); -export const avmModuleLoader = new WasmNpmLoader('@fluencelabs/avm', 'avm.wasm'); diff --git a/packages/core/src/js-peer/utilsForNode.ts b/packages/core/src/js-peer/utilsForNode.ts new file mode 100644 index 00000000..22b3018f --- /dev/null +++ b/packages/core/src/js-peer/utilsForNode.ts @@ -0,0 +1,5 @@ +import { WorkerLoaderFromFs, WasmLoaderFromFs, WasmLoaderFromNpm } from '../marine/deps-loader/node.js'; + +// TODO!: after moving to ESM loaders stopped working. Should be fixed in scope of DXJ-194 +export const controlModuleLoader = new WasmLoaderFromNpm('@fluencelabs/marine-js', 'marine-js.wasm'); +export const avmModuleLoader = new WasmLoaderFromNpm('@fluencelabs/avm', 'avm.wasm'); diff --git a/packages/core/src/keypair/__test__/KeyPair.spec.ts b/packages/core/src/keypair/__test__/KeyPair.spec.ts new file mode 100644 index 00000000..43b27f6a --- /dev/null +++ b/packages/core/src/keypair/__test__/KeyPair.spec.ts @@ -0,0 +1,95 @@ +import { toUint8Array } from 'js-base64'; +import * as bs58 from 'bs58'; +import { KeyPair } from '../index.js'; + +// @ts-ignore +const { decode } = bs58.default; + +const key = '+cmeYlZKj+MfSa9dpHV+BmLPm6wq4inGlsPlQ1GvtPk='; +const keyBytes = toUint8Array(key); + +const testData = Uint8Array.from([1, 2, 3, 4, 5, 6, 7, 9, 10]); + +const testDataSig = Uint8Array.from([ + 224, 104, 245, 206, 140, 248, 27, 72, 68, 133, 111, 10, 164, 197, 242, 132, 107, 77, 224, 67, 99, 106, 76, 29, 144, + 121, 122, 169, 36, 173, 58, 80, 170, 102, 137, 253, 157, 247, 168, 87, 162, 223, 188, 214, 203, 220, 52, 246, 29, + 86, 77, 71, 224, 248, 16, 213, 254, 75, 78, 239, 243, 222, 241, 15, +]); + +// signature produced by KeyPair created from some random KeyPair + +describe('KeyPair tests', () => { + it('generate keypair from seed', async function () { + // arrange + const random = await KeyPair.randomEd25519(); + const privateKey = random.toEd25519PrivateKey(); + + // act + const keyPair = await KeyPair.fromEd25519SK(privateKey); + const privateKey2 = keyPair.toEd25519PrivateKey(); + + // assert + expect(privateKey).toStrictEqual(privateKey2); + }); + + it('create keypair from ed25519 private key', async function () { + // arrange + // TODO: remove decoder which relies on "z" + const rustSK = 'jDaxLJzYtzgwTMrELJCAqavtmx85ktQNfB2rLcK7MhH'; + const sk = decode(rustSK); + + // act + const keyPair = await KeyPair.fromEd25519SK(sk); + + // assert + const expectedPeerId = '12D3KooWH1W3VznVZ87JH4FwABK4mkntcspTVWJDta6c2xg9Pzbp'; + expect(keyPair.getPeerId()).toStrictEqual(expectedPeerId); + }); + + it('create keypair from a seed phrase', async function () { + // arrange + const seedArray = new Uint8Array(32).fill(1); + + // act + const keyPair = await KeyPair.fromEd25519SK(seedArray); + + // assert + const expectedPeerId = '12D3KooWK99VoVxNE7XzyBwXEzW7xhK7Gpv85r9F3V3fyKSUKPH5'; + expect(keyPair.getPeerId()).toStrictEqual(expectedPeerId); + }); + + it('sign', async function () { + // arrange + const keyPair = await KeyPair.fromEd25519SK(keyBytes); + + // act + const res = await keyPair.signBytes(testData); + + // assert + expect(res).toStrictEqual(testDataSig); + }); + + it('verify', async function () { + // arrange + const keyPair = await KeyPair.fromEd25519SK(keyBytes); + + // act + const res = await keyPair.verify(testData, testDataSig); + + // assert + expect(res).toBe(true); + }); + + it('sign-verify', async function () { + // arrange + const keyPair = await KeyPair.fromEd25519SK(keyBytes); + + // act + const data = new Uint8Array(32).fill(1); + const sig = await keyPair.signBytes(data); + const res = await keyPair.verify(data, sig); + + // assert + expect(res).toBe(true); + }); +}); diff --git a/packages/core/keypair/src/index.ts b/packages/core/src/keypair/index.ts similarity index 60% rename from packages/core/keypair/src/index.ts rename to packages/core/src/keypair/index.ts index 0be07d51..57c87f4d 100644 --- a/packages/core/keypair/src/index.ts +++ b/packages/core/src/keypair/index.ts @@ -14,30 +14,31 @@ * limitations under the License. */ -import * as PeerId from 'peer-id'; -import { keys } from 'libp2p-crypto'; +import type { PeerId } from '@libp2p/interface-peer-id'; +import { generateKeyPairFromSeed, generateKeyPair } from '@libp2p/crypto/keys'; +import { createFromPrivKey } from '@libp2p/peer-id-factory'; +import type { PrivateKey } from '@libp2p/interface-keys'; import { toUint8Array } from 'js-base64'; export class KeyPair { /** * Key pair in libp2p format. Used for backward compatibility with the current FluencePeer implementation */ - public Libp2pPeerId: PeerId; - - constructor(libp2pPeerId: PeerId) { - this.Libp2pPeerId = libp2pPeerId; + getLibp2pPeerId() { + return this.libp2pPeerId; } + constructor(private key: PrivateKey, private libp2pPeerId: PeerId) {} + /** * Generates new KeyPair from ed25519 private key represented as a 32 byte array - * @param key - Any sequence of 32 bytes + * @param seed - Any sequence of 32 bytes * @returns - Promise with the created KeyPair */ - static async fromEd25519SK(arr: Uint8Array): Promise { - // generateKeyPairFromSeed takes seed and copies it to private key as is - const privateKey = await keys.generateKeyPairFromSeed('Ed25519', arr, 256); - const lib2p2Pid = await PeerId.createFromPrivKey(privateKey.bytes); - return new KeyPair(lib2p2Pid); + static async fromEd25519SK(seed: Uint8Array): Promise { + const key = await generateKeyPairFromSeed('Ed25519', seed, 256); + const lib2p2Pid = await createFromPrivKey(key); + return new KeyPair(key, lib2p2Pid); } /** @@ -45,27 +46,28 @@ export class KeyPair { * @returns - Promise with the created KeyPair */ static async randomEd25519(): Promise { - const lib2p2Pid = await PeerId.create({ keyType: 'Ed25519' }); - return new KeyPair(lib2p2Pid); + const key = await generateKeyPair('Ed25519'); + const lib2p2Pid = await createFromPrivKey(key); + return new KeyPair(key, lib2p2Pid); } getPeerId(): string { - return this.Libp2pPeerId.toB58String(); + return this.libp2pPeerId.toString(); } /** * @returns 32 byte private key */ toEd25519PrivateKey(): Uint8Array { - return this.Libp2pPeerId.privKey.marshal().subarray(0, 32); + return this.key.marshal().subarray(0, 32); } signBytes(data: Uint8Array): Promise { - return this.Libp2pPeerId.privKey.sign(data); + return this.key.sign(data); } verify(data: Uint8Array, signature: Uint8Array): Promise { - return this.Libp2pPeerId.privKey.public.verify(data, signature); + return this.key.public.verify(data, signature); } } diff --git a/packages/core/src/marine/deps-loader/common.ts b/packages/core/src/marine/deps-loader/common.ts new file mode 100644 index 00000000..4fa40b18 --- /dev/null +++ b/packages/core/src/marine/deps-loader/common.ts @@ -0,0 +1,23 @@ +import { BlobWorker } from 'threads'; +import { fromBase64, toUint8Array } from 'js-base64'; +import type { WorkerImplementation } from 'threads/dist/types/master'; +import { LazyLoader } from '../../interfaces/index.js'; +import { Buffer } from 'buffer'; + +export class InlinedWorkerLoader extends LazyLoader { + constructor(b64script: string) { + super(() => { + const script = fromBase64(b64script); + return BlobWorker.fromText(script); + }); + } +} + +export class InlinedWasmLoader extends LazyLoader { + constructor(b64wasm: string) { + super(() => { + const wasm = toUint8Array(b64wasm); + return Buffer.from(wasm); + }); + } +} diff --git a/packages/marine/deps-loader.node/src/index.ts b/packages/core/src/marine/deps-loader/node.ts similarity index 69% rename from packages/marine/deps-loader.node/src/index.ts rename to packages/core/src/marine/deps-loader/node.ts index c7cfdc0e..b71e9057 100644 --- a/packages/marine/deps-loader.node/src/index.ts +++ b/packages/core/src/marine/deps-loader/node.ts @@ -1,12 +1,13 @@ -import { LazyLoader } from '@fluencelabs/interfaces'; -import { BlobWorker } from 'threads'; +import { createRequire } from 'module'; +import { LazyLoader } from '../../interfaces/index.js'; + import type { WorkerImplementation } from 'threads/dist/types/master'; +import { Worker } from 'threads'; import { Buffer } from 'buffer'; -import fs from 'fs'; -import path from 'path'; -import { fromBase64 } from 'js-base64'; -// @ts-ignore -import b64script from './marine-js.b64.node'; +import * as fs from 'fs'; +import * as path from 'path'; + +const require = createRequire(import.meta.url); const bufferToSharedArrayBuffer = (buffer: Buffer): SharedArrayBuffer => { const sab = new SharedArrayBuffer(buffer.length); @@ -38,27 +39,25 @@ export const loadWasmFromFileSystem = async (filePath: string): Promise { +export class WasmLoaderFromFs extends LazyLoader { constructor(filePath: string) { super(() => loadWasmFromFileSystem(filePath)); } } -export class WasmNpmLoader extends LazyLoader { +export class WasmLoaderFromNpm extends LazyLoader { constructor(pkg: string, file: string) { super(() => loadWasmFromNpmPackage({ package: pkg, file: file })); } } -export class FsWorkerLoader extends LazyLoader { +export class WorkerLoaderFromFs extends LazyLoader { constructor(scriptPath: string) { - super(() => { - return Promise.resolve(new Worker(scriptPath)); - }); + super(() => new Worker(scriptPath)); } } -export class NpmWorkerLoader extends LazyLoader { +export class WorkerLoaderFromNpm extends LazyLoader { constructor(pkg: string, file: string) { super(() => { const packagePath = require.resolve(pkg); @@ -67,12 +66,3 @@ export class NpmWorkerLoader extends LazyLoader { }); } } - -export class InlinedWorkerLoader extends LazyLoader { - constructor() { - super(() => { - const script = fromBase64(b64script); - return Promise.resolve(BlobWorker.fromText(script)); - }); - } -} diff --git a/packages/marine/deps-loader.web/src/index.ts b/packages/core/src/marine/deps-loader/web.ts similarity index 73% rename from packages/marine/deps-loader.web/src/index.ts rename to packages/core/src/marine/deps-loader/web.ts index 46bd1249..6beb6162 100644 --- a/packages/marine/deps-loader.web/src/index.ts +++ b/packages/core/src/marine/deps-loader/web.ts @@ -1,10 +1,5 @@ -import { BlobWorker } from 'threads'; import { Buffer } from 'buffer'; -import { LazyLoader } from '@fluencelabs/interfaces'; -import type { WorkerImplementation } from 'threads/dist/types/master'; -import { fromBase64 } from 'js-base64'; -// @ts-ignore -import b64script from './marine-js.b64.web'; +import { LazyLoader } from '../../interfaces/index.js'; const bufferToSharedArrayBuffer = (buffer: Buffer): SharedArrayBuffer => { const sab = new SharedArrayBuffer(buffer.length); @@ -38,17 +33,8 @@ export const loadWasmFromServer = async (filePath: string): Promise { +export class WebLoaderFromUrl extends LazyLoader { constructor(filePath: string) { super(() => loadWasmFromServer(filePath)); } } - -export class InlinedWorkerLoader extends LazyLoader { - constructor() { - super(() => { - const script = fromBase64(b64script); - return Promise.resolve(BlobWorker.fromText(script)); - }); - } -} diff --git a/packages/marine/worker-script/src/index.ts b/packages/core/src/marine/worker-script/index.ts similarity index 89% rename from packages/marine/worker-script/src/index.ts rename to packages/core/src/marine/worker-script/index.ts index 0935ec72..43226595 100644 --- a/packages/marine/worker-script/src/index.ts +++ b/packages/core/src/marine/worker-script/index.ts @@ -14,10 +14,11 @@ * limitations under the License. */ -import { MarineService } from '@fluencelabs/marine-js'; -import type { Env, MarineServiceConfig, JSONArray, JSONObject, LogMessage } from '@fluencelabs/marine-js'; +import { MarineService } from '@fluencelabs/marine-js/dist/MarineService'; +import type { Env, MarineServiceConfig } from '@fluencelabs/marine-js/dist/config'; +import type { JSONArray, JSONObject, LogMessage } from '@fluencelabs/marine-js/dist/types'; import { Observable, Subject } from 'threads/observable'; -import { expose } from 'threads'; +import { expose } from 'threads/worker'; let marineServices = new Map(); let controlModule: WebAssembly.Module | undefined; diff --git a/packages/marine/background-runner/src/index.ts b/packages/core/src/marine/worker/index.ts similarity index 87% rename from packages/marine/background-runner/src/index.ts rename to packages/core/src/marine/worker/index.ts index 373881cd..f36d4c98 100644 --- a/packages/marine/background-runner/src/index.ts +++ b/packages/core/src/marine/worker/index.ts @@ -14,9 +14,10 @@ * limitations under the License. */ -import { JSONArray, JSONObject, LogFunction, logLevelToEnv, LogLevel } from '@fluencelabs/marine-js'; -import type { IMarine, IWorkerLoader, IWasmLoader } from '@fluencelabs/interfaces'; -import type { MarineBackgroundInterface } from '@fluencelabs/marine.worker-script'; +import type { JSONArray, JSONObject, LogLevel } from '@fluencelabs/marine-js/dist/types'; +import { LogFunction, logLevelToEnv } from '@fluencelabs/marine-js/dist/types'; +import type { IMarine, IWorkerLoader, IWasmLoader } from '../../interfaces/index.js'; +import type { MarineBackgroundInterface } from '../worker-script/index.js'; import { spawn, Thread } from 'threads'; import type { ModuleThread } from 'threads'; diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json new file mode 100644 index 00000000..515a1819 --- /dev/null +++ b/packages/core/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "moduleResolution": "node" + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/marine/background-runner/.gitignore b/packages/marine/background-runner/.gitignore deleted file mode 100644 index 1a59a95f..00000000 --- a/packages/marine/background-runner/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release -bundle/ - -dist -esm -types - -# Dependency directories -node_modules/ -jspm_packages/ - -.idea diff --git a/packages/marine/background-runner/.npmignore b/packages/marine/background-runner/.npmignore deleted file mode 100644 index 1354879a..00000000 --- a/packages/marine/background-runner/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea -.gitignore -node_modules -types - -src/ - -tsconfig.json -webpack.config.js - -bundle -pkg \ No newline at end of file diff --git a/packages/marine/background-runner/.prettierrc.js b/packages/marine/background-runner/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/marine/background-runner/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/marine/background-runner/CONTRIBUTING.md b/packages/marine/background-runner/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/marine/background-runner/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/marine/background-runner/README.md b/packages/marine/background-runner/README.md deleted file mode 100644 index e5b162e4..00000000 --- a/packages/marine/background-runner/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# MarineJS background runner - -This package is a part of FluenceJS, the official implementation of the Fluence Peer in typescript. See the [FluenceJS repo](https://github.com/fluencelabs/fluence-js) for more info - -## Contributing - -While the project is still in the early stages of development, you are welcome to track progress and contribute. As the project is undergoing rapid changes, interested contributors should contact the team before embarking on larger pieces of work. All contributors should consult with and agree to our [basic contributing rules](CONTRIBUTING.md). - -## License - -[Apache 2.0](LICENSE) diff --git a/packages/marine/background-runner/package.json b/packages/marine/background-runner/package.json deleted file mode 100644 index a5477a0f..00000000 --- a/packages/marine/background-runner/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@fluencelabs/marine.background-runner", - "version": "0.1.0", - "description": "MarineJS background runner", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "threads": "^1.7.0" - }, - "devDependencies": { - "@fluencelabs/marine.worker-script": "workspace:0.1.0", - "@fluencelabs/interfaces": "workspace:0.2.0", - "@fluencelabs/marine-js": "0.3.38", - "typescript": "^4.6.4", - "@types/node": "16.11.59" - } -} diff --git a/packages/marine/background-runner/tsconfig.json b/packages/marine/background-runner/tsconfig.json deleted file mode 100644 index ef65b4cc..00000000 --- a/packages/marine/background-runner/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "outDir": "./dist/", - "lib": ["ES2015", "dom"], - "target": "ES5", - "sourceMap": true, - "declaration": true, - "module": "commonjs" - }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] -} diff --git a/packages/marine/deps-loader.node/.gitignore b/packages/marine/deps-loader.node/.gitignore deleted file mode 100644 index 1a59a95f..00000000 --- a/packages/marine/deps-loader.node/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release -bundle/ - -dist -esm -types - -# Dependency directories -node_modules/ -jspm_packages/ - -.idea diff --git a/packages/marine/deps-loader.node/.npmignore b/packages/marine/deps-loader.node/.npmignore deleted file mode 100644 index 1354879a..00000000 --- a/packages/marine/deps-loader.node/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea -.gitignore -node_modules -types - -src/ - -tsconfig.json -webpack.config.js - -bundle -pkg \ No newline at end of file diff --git a/packages/marine/deps-loader.node/.prettierrc.js b/packages/marine/deps-loader.node/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/marine/deps-loader.node/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/marine/deps-loader.node/CONTRIBUTING.md b/packages/marine/deps-loader.node/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/marine/deps-loader.node/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/marine/deps-loader.node/README.md b/packages/marine/deps-loader.node/README.md deleted file mode 100644 index af675dba..00000000 --- a/packages/marine/deps-loader.node/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# MarineJS deps loader for nodejs - -This package is a part of FluenceJS, the official implementation of the Fluence Peer in typescript. See the [FluenceJS repo](https://github.com/fluencelabs/fluence-js) for more info - -## Contributing - -While the project is still in the early stages of development, you are welcome to track progress and contribute. As the project is undergoing rapid changes, interested contributors should contact the team before embarking on larger pieces of work. All contributors should consult with and agree to our [basic contributing rules](CONTRIBUTING.md). - -## License - -[Apache 2.0](LICENSE) diff --git a/packages/marine/deps-loader.node/package.json b/packages/marine/deps-loader.node/package.json deleted file mode 100644 index aa011b4c..00000000 --- a/packages/marine/deps-loader.node/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@fluencelabs/marine.deps-loader.node", - "version": "0.1.0", - "description": "MarineJS deps loader", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc && ./postbuild.sh" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "@fluencelabs/interfaces": "workspace:0.2.0", - "js-base64": "3.7.3", - "buffer": "^6.0.3" - }, - "devDependencies": { - "@fluencelabs/marine.worker-script": "workspace:0.1.0", - "@types/node": "16.11.59", - "threads": "^1.7.0", - "ts-loader": "8.4.0", - "typescript": "^4.6.4", - "webpack": "5.75.0", - "webpack-cli": "5.0.1" - } -} diff --git a/packages/marine/deps-loader.node/postbuild.sh b/packages/marine/deps-loader.node/postbuild.sh deleted file mode 100755 index 7ff5b448..00000000 --- a/packages/marine/deps-loader.node/postbuild.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cp ./node_modules/@fluencelabs/marine.worker-script/dist/marine-js.b64.node.d.ts dist/ -cp ./node_modules/@fluencelabs/marine.worker-script/dist/marine-js.b64.node.js dist/ \ No newline at end of file diff --git a/packages/marine/deps-loader.node/tsconfig.json b/packages/marine/deps-loader.node/tsconfig.json deleted file mode 100644 index 51d16836..00000000 --- a/packages/marine/deps-loader.node/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "lib": ["es2017", "dom"], - "outDir": "./dist/", - "target": "es6", - "module": "commonjs", - "allowJs": true, - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "declaration": true, - "sourceMap": true - }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] -} diff --git a/packages/marine/deps-loader.web/.gitignore b/packages/marine/deps-loader.web/.gitignore deleted file mode 100644 index 1a59a95f..00000000 --- a/packages/marine/deps-loader.web/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release -bundle/ - -dist -esm -types - -# Dependency directories -node_modules/ -jspm_packages/ - -.idea diff --git a/packages/marine/deps-loader.web/.npmignore b/packages/marine/deps-loader.web/.npmignore deleted file mode 100644 index 1354879a..00000000 --- a/packages/marine/deps-loader.web/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea -.gitignore -node_modules -types - -src/ - -tsconfig.json -webpack.config.js - -bundle -pkg \ No newline at end of file diff --git a/packages/marine/deps-loader.web/.prettierrc.js b/packages/marine/deps-loader.web/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/marine/deps-loader.web/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/marine/deps-loader.web/CONTRIBUTING.md b/packages/marine/deps-loader.web/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/marine/deps-loader.web/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/marine/deps-loader.web/README.md b/packages/marine/deps-loader.web/README.md deleted file mode 100644 index 46761d62..00000000 --- a/packages/marine/deps-loader.web/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# MarineJS deps loader for web - -This package is a part of FluenceJS, the official implementation of the Fluence Peer in typescript. See the [FluenceJS repo](https://github.com/fluencelabs/fluence-js) for more info - -## Contributing - -While the project is still in the early stages of development, you are welcome to track progress and contribute. As the project is undergoing rapid changes, interested contributors should contact the team before embarking on larger pieces of work. All contributors should consult with and agree to our [basic contributing rules](CONTRIBUTING.md). - -## License - -[Apache 2.0](LICENSE) diff --git a/packages/marine/deps-loader.web/package.json b/packages/marine/deps-loader.web/package.json deleted file mode 100644 index 6a328043..00000000 --- a/packages/marine/deps-loader.web/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "@fluencelabs/marine.deps-loader.web", - "version": "0.1.0", - "description": "MarineJS deps loader web", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc && ./postbuild.sh" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "buffer": "^6.0.3", - "js-base64": "3.7.3", - "@fluencelabs/interfaces": "workspace:0.2.0" - }, - "devDependencies": { - "@fluencelabs/marine.worker-script": "workspace:0.1.0", - "typescript": "^4.6.4", - "threads": "^1.7.0", - "ts-loader": "8.4.0", - "webpack": "4.46.0", - "webpack-cli": "4.10.0" - } -} diff --git a/packages/marine/deps-loader.web/postbuild.sh b/packages/marine/deps-loader.web/postbuild.sh deleted file mode 100755 index c06ffd4d..00000000 --- a/packages/marine/deps-loader.web/postbuild.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cp ./node_modules/@fluencelabs/marine.worker-script/dist/marine-js.b64.web.d.ts dist/ -cp ./node_modules/@fluencelabs/marine.worker-script/dist/marine-js.b64.web.js dist/ \ No newline at end of file diff --git a/packages/marine/deps-loader.web/tsconfig.json b/packages/marine/deps-loader.web/tsconfig.json deleted file mode 100644 index 6a02a1b3..00000000 --- a/packages/marine/deps-loader.web/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "lib": ["es2017", "dom"], - "outDir": "./dist/", - "target": "es5", - "module": "commonjs", - "allowJs": true, - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "declaration": true, - "declarationMap": false, - "sourceMap": false - }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] -} diff --git a/packages/marine/worker-script/.gitignore b/packages/marine/worker-script/.gitignore deleted file mode 100644 index 1a59a95f..00000000 --- a/packages/marine/worker-script/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release -bundle/ - -dist -esm -types - -# Dependency directories -node_modules/ -jspm_packages/ - -.idea diff --git a/packages/marine/worker-script/.npmignore b/packages/marine/worker-script/.npmignore deleted file mode 100644 index 1354879a..00000000 --- a/packages/marine/worker-script/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea -.gitignore -node_modules -types - -src/ - -tsconfig.json -webpack.config.js - -bundle -pkg \ No newline at end of file diff --git a/packages/marine/worker-script/.prettierrc.js b/packages/marine/worker-script/.prettierrc.js deleted file mode 100644 index 4e5ea887..00000000 --- a/packages/marine/worker-script/.prettierrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - semi: true, - trailingComma: "all", - singleQuote: true, - printWidth: 120, - tabWidth: 4, - useTabs: false -}; diff --git a/packages/marine/worker-script/CONTRIBUTING.md b/packages/marine/worker-script/CONTRIBUTING.md deleted file mode 100644 index 0e3b264d..00000000 --- a/packages/marine/worker-script/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -## Contribute Code - -You are welcome to contribute to Fluence. - -Things you need to know: - -1. You need to **agree to the Contributors License Agreement**. This is a common practice in all major Open Source projects. At the current moment we are unable to accept contributions made on behalf of a company. Only individual contributions will be accepted. -2. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The contribution must fit the overall direction of Fluence and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the contribution you plan to make. - -### Contributor License Agreement - -When you contribute, you have to be aware that your contribution is covered by **Apache License 2.0**, but might relicensed under few other software licenses mentioned in the **Contributor License Agreement**. -In particular you need to agree to the [Contributor License Agreement](https://gist.github.com/fluencelabs-org/3f4cbb3cc14c1c0fb9ad99d8f7316ed7). If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. Click it to check the CLA, then accept it on the following screen if you agree to it. CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. diff --git a/packages/marine/worker-script/README.md b/packages/marine/worker-script/README.md deleted file mode 100644 index fbeaa388..00000000 --- a/packages/marine/worker-script/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# MarineJS background worker script - -This package is a part of FluenceJS, the official implementation of the Fluence Peer in typescript. See the [FluenceJS repo](https://github.com/fluencelabs/fluence-js) for more info - -## Contributing - -While the project is still in the early stages of development, you are welcome to track progress and contribute. As the project is undergoing rapid changes, interested contributors should contact the team before embarking on larger pieces of work. All contributors should consult with and agree to our [basic contributing rules](CONTRIBUTING.md). - -## License - -[Apache 2.0](LICENSE) diff --git a/packages/marine/worker-script/build_b64.sh b/packages/marine/worker-script/build_b64.sh deleted file mode 100755 index f5b86edc..00000000 --- a/packages/marine/worker-script/build_b64.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -## base64 on MacOS doesn't have -w option -if echo | base64 -w0 > /dev/null 2>&1; -then - BASE64_WEB=$(base64 -w0 ./dist/marine-js.web.js) - BASE64_NODE=$(base64 -w0 ./dist/marine-js.node.js) -else - BASE64_WEB=$(base64 ./dist/marine-js.web.js) - BASE64_NODE=$(base64 ./dist/marine-js.node.js) -fi - -cat << EOF > ./dist/marine-js.b64.web.js -"use strict"; -// auto-generated -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = "$BASE64_WEB"; -EOF - -cat << EOF > ./dist/marine-js.b64.node.js -"use strict"; -// auto-generated -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = "$BASE64_NODE"; -EOF - -cat << EOF > ./dist/marine-js.b64.node.d.ts -declare const _default: string; -export default _default; -EOF - -cat << EOF > ./dist/marine-js.b64.web.d.ts -declare const _default: string; -export default _default; -EOF - diff --git a/packages/marine/worker-script/package.json b/packages/marine/worker-script/package.json deleted file mode 100644 index 8e675fd2..00000000 --- a/packages/marine/worker-script/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "version": "0.1.0", - "name": "@fluencelabs/marine.worker-script", - "description": "MarineJS background worker script", - "main": "./dist/index.js", - "typings": "./dist/index.d.ts", - "engines": { - "node": ">=10", - "pnpm": ">=3" - }, - "scripts": { - "build": "tsc --emitDeclarationOnly && pnpm build:web && pnpm build:node && pnpm build:b64 ", - "build:b64": "./build_b64.sh", - "build:web": "webpack -c webpack.config.web.js", - "build:node": "webpack -c webpack.config.node.js" - }, - "repository": "https://github.com/fluencelabs/fluence-js", - "author": "Fluence Labs", - "license": "Apache-2.0", - "dependencies": { - "@fluencelabs/marine-js": "0.3.38", - "threads": "^1.7.0" - }, - "devDependencies": { - "@types/node": "16.11.59", - "ts-loader": "8.4.0", - "typescript": "^4.6.4", - "webpack": "5.75.0", - "webpack-cli": "5.0.1" - } -} diff --git a/packages/marine/worker-script/webpack.config.js b/packages/marine/worker-script/webpack.config.js deleted file mode 100644 index 5080c772..00000000 --- a/packages/marine/worker-script/webpack.config.js +++ /dev/null @@ -1,47 +0,0 @@ -// Generated using webpack-cli https://github.com/webpack/webpack-cli - -const path = require('path'); - -// const isProduction = true; -// uncomment to debug -const isProduction = false; - -const config = () => ({ - entry: './src/index.ts', - output: { - path: path.resolve('dist'), - }, - module: { - rules: [ - { - test: /\.(js|ts|tsx)$/i, - use: [ - // force new line - { - loader: 'ts-loader', - options: { - compilerOptions: { - declaration: false, - }, - }, - }, - ], - exclude: ['/node_modules/'], - }, - ], - }, - resolve: { - extensions: ['.tsx', '.ts', '.js'], - }, -}); - -module.exports = () => { - const res = config(); - if (isProduction) { - res.mode = 'production'; - } else { - res.mode = 'development'; - } - - return res; -}; diff --git a/packages/marine/worker-script/webpack.config.node.js b/packages/marine/worker-script/webpack.config.node.js deleted file mode 100644 index 509a4a58..00000000 --- a/packages/marine/worker-script/webpack.config.node.js +++ /dev/null @@ -1,10 +0,0 @@ -// Generated using webpack-cli https://github.com/webpack/webpack-cli - -const config = require('./webpack.config.js'); - -module.exports = () => { - const cfg = config(); - cfg.output.filename = 'marine-js.node.js'; - cfg.target = 'node'; - return cfg; -}; diff --git a/packages/marine/worker-script/webpack.config.web.js b/packages/marine/worker-script/webpack.config.web.js deleted file mode 100644 index defb6f21..00000000 --- a/packages/marine/worker-script/webpack.config.web.js +++ /dev/null @@ -1,10 +0,0 @@ -// Generated using webpack-cli https://github.com/webpack/webpack-cli - -const config = require('./webpack.config.js'); - -module.exports = () => { - const cfg = config(); - cfg.output.filename = 'marine-js.web.js'; - cfg.target = 'web'; - return cfg; -}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 18cb9941..191fb8f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,371 +2,190 @@ lockfileVersion: 5.4 importers: - packages/@tests/marine/node: + .: specifiers: - '@fluencelabs/avm': 0.32.1 - '@fluencelabs/marine.background-runner': workspace:0.1.0 - '@fluencelabs/marine.deps-loader.node': workspace:0.1.0 + ts-node: 10.9.1 + typescript: '4.7' + devDependencies: + ts-node: 10.9.1_nv75g3i7xuh23du6z7qul3uiqi + typescript: 4.7.4 + + packages/client/js-client.web.standalone: + specifiers: + '@fluencelabs/avm': 0.35.3 + '@fluencelabs/js-peer': workspace:* + '@fluencelabs/marine-js': 0.3.42 + '@rollup/plugin-inject': 5.0.3 '@types/jest': 28.1.0 '@types/node': 16.11.59 + buffer: 6.0.3 + esbuild: 0.16.7 jest: 28.1.0 + js-base64: 3.7.2 + process: 0.11.10 ts-jest: 28.0.2 - typescript: ^4.0.0 + vite: 4.0.4 + vite-plugin-replace: 0.1.1 + vite-tsconfig-paths: 4.0.3 dependencies: - '@fluencelabs/avm': 0.32.1 - '@fluencelabs/marine.background-runner': link:../../../marine/background-runner - '@fluencelabs/marine.deps-loader.node': link:../../../marine/deps-loader.node + '@fluencelabs/js-peer': link:../../core + buffer: 6.0.3 + esbuild: 0.16.7 + process: 0.11.10 devDependencies: + '@fluencelabs/avm': 0.35.3 + '@fluencelabs/marine-js': 0.3.42 + '@rollup/plugin-inject': 5.0.3 '@types/jest': 28.1.0 '@types/node': 16.11.59 jest: 28.1.0_@types+node@16.11.59 - ts-jest: 28.0.2_qah6rulmyywoowvfc5owcdakum - typescript: 4.7.4 - - packages/@tests/smoke: - specifiers: - '@fluencelabs/fluence': workspace:* - '@fluencelabs/js-client.node': workspace:* - '@types/node': 16.11.59 - ts-node: 10.9.1 - typescript: 4.6.4 - dependencies: - '@fluencelabs/fluence': link:../../client/fluence-js - '@fluencelabs/js-client.node': link:../../client/js-client.node - ts-node: 10.9.1_f4s53rsdbgkmxc2oaa23drhnsy - devDependencies: - '@types/node': 16.11.59 - typescript: 4.6.4 - - packages/client/compiler-support: - specifiers: - '@fluencelabs/js-peer': workspace:0.1.0 - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0 - ts-jest: 28.0.2 - ts-node: 10.9.1 - typescript: 4.6.4 - dependencies: - '@fluencelabs/js-peer': link:../../core/js-peer - devDependencies: - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0_4echt27za7uk6ezjshmbxcfmgy - ts-jest: 28.0.2_vibqa5hxa5biq5fwuxzv5iobty - ts-node: 10.9.1_f4s53rsdbgkmxc2oaa23drhnsy - typescript: 4.6.4 - - packages/client/fluence-js: - specifiers: - '@fluencelabs/avm': 0.32.1 - '@fluencelabs/js-peer': workspace:0.1.0 - '@fluencelabs/keypair': workspace:0.2.0 - '@fluencelabs/marine-js': 0.3.38 - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0 - loglevel: 1.8.1 - ts-jest: 28.0.2 - ts-node: 10.9.1 - typescript: 4.6.4 - dependencies: - '@fluencelabs/avm': 0.32.1 - '@fluencelabs/js-peer': link:../../core/js-peer - '@fluencelabs/keypair': link:../../core/keypair - '@fluencelabs/marine-js': 0.3.38 - loglevel: 1.8.1 - devDependencies: - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0_4echt27za7uk6ezjshmbxcfmgy - ts-jest: 28.0.2_vibqa5hxa5biq5fwuxzv5iobty - ts-node: 10.9.1_f4s53rsdbgkmxc2oaa23drhnsy - typescript: 4.6.4 - - packages/client/js-client.node: - specifiers: - '@fluencelabs/js-peer': workspace:0.1.0 - '@fluencelabs/marine.background-runner': workspace:0.1.0 - '@fluencelabs/marine.deps-loader.node': workspace:0.1.0 - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0 - ts-jest: 28.0.2 - ts-node: 10.9.1 - typescript: 4.6.4 - dependencies: - '@fluencelabs/js-peer': link:../../core/js-peer - '@fluencelabs/marine.background-runner': link:../../marine/background-runner - '@fluencelabs/marine.deps-loader.node': link:../../marine/deps-loader.node - devDependencies: - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0_4echt27za7uk6ezjshmbxcfmgy - ts-jest: 28.0.2_vibqa5hxa5biq5fwuxzv5iobty - ts-node: 10.9.1_f4s53rsdbgkmxc2oaa23drhnsy - typescript: 4.6.4 - - packages/client/js-client.web: - specifiers: - '@fluencelabs/js-peer': workspace:0.1.0 - '@fluencelabs/marine.background-runner': workspace:0.1.0 - '@fluencelabs/marine.deps-loader.web': workspace:0.1.0 - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0 - ts-jest: 28.0.2 - ts-node: 10.9.1 - typescript: 4.6.4 - dependencies: - '@fluencelabs/js-peer': link:../../core/js-peer - '@fluencelabs/marine.background-runner': link:../../marine/background-runner - '@fluencelabs/marine.deps-loader.web': link:../../marine/deps-loader.web - devDependencies: - '@types/jest': 28.1.0 - '@types/node': 16.11.59 - jest: 28.1.0_4echt27za7uk6ezjshmbxcfmgy - ts-jest: 28.0.2_vibqa5hxa5biq5fwuxzv5iobty - ts-node: 10.9.1_f4s53rsdbgkmxc2oaa23drhnsy - typescript: 4.6.4 + js-base64: 3.7.2 + ts-jest: 28.0.2_x4jxemvix5u5qh7s2uiphct2vm + vite: 4.0.4_@types+node@16.11.59 + vite-plugin-replace: 0.1.1_vite@4.0.4 + vite-tsconfig-paths: 4.0.3_trrwuuiz4f5khno7hdf3cjz2ky packages/client/tools: specifiers: '@types/node': 16.11.59 - typescript: 4.6.4 devDependencies: '@types/node': 16.11.59 - typescript: 4.6.4 - packages/core/connection: - specifiers: - '@chainsafe/libp2p-noise': 4.1.1 - '@fluencelabs/interfaces': workspace:0.2.0 - browser-or-node: 2.0.0 - buffer: 6.0.3 - it-length-prefixed: 5.0.3 - it-pipe: 1.1.0 - libp2p: 0.36.2 - libp2p-interfaces: 4.0.6 - libp2p-mplex: 0.10.7 - libp2p-websockets: 0.16.2 - loglevel: 1.8.1 - multiaddr: 10.0.1 - peer-id: 0.16.0 - typescript: 4.6.4 - dependencies: - '@chainsafe/libp2p-noise': 4.1.1 - '@fluencelabs/interfaces': link:../interfaces - browser-or-node: 2.0.0 - buffer: 6.0.3 - it-length-prefixed: 5.0.3 - it-pipe: 1.1.0 - libp2p: 0.36.2_node-fetch@3.2.10 - libp2p-interfaces: 4.0.6_node-fetch@3.2.10 - libp2p-mplex: 0.10.7 - libp2p-websockets: 0.16.2_node-fetch@3.2.10 - loglevel: 1.8.1 - multiaddr: 10.0.1_node-fetch@3.2.10 - peer-id: 0.16.0 - devDependencies: - typescript: 4.6.4 - - packages/core/interfaces: - specifiers: - '@fluencelabs/avm': 0.31.10 - '@fluencelabs/marine-js': 0.3.38 - '@types/node': 16.11.59 - threads: ^1.7.0 - typescript: 4.6.4 - devDependencies: - '@fluencelabs/avm': 0.31.10 - '@fluencelabs/marine-js': 0.3.38 - '@types/node': 16.11.59 - threads: 1.7.0 - typescript: 4.6.4 - - packages/core/js-peer: + packages/core: specifiers: + '@chainsafe/libp2p-noise': 11.0.0 '@fluencelabs/aqua': 0.7.7-362 '@fluencelabs/aqua-api': 0.9.1-373 '@fluencelabs/aqua-lib': 0.6.0 - '@fluencelabs/avm': 0.32.1 - '@fluencelabs/connection': workspace:0.2.0 + '@fluencelabs/avm': 0.31.10 '@fluencelabs/fluence-network-environment': 1.0.13 - '@fluencelabs/interfaces': workspace:0.2.0 - '@fluencelabs/keypair': workspace:0.2.0 - '@fluencelabs/marine-js': 0.3.38 - '@fluencelabs/marine.background-runner': workspace:0.1.0 - '@fluencelabs/marine.deps-loader.node': workspace:0.1.0 + '@fluencelabs/marine-js': 0.3.44 + '@libp2p/crypto': 1.0.8 + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-keys': 1.0.7 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interfaces': 3.3.1 + '@libp2p/mplex': 7.1.1 + '@libp2p/peer-id': 2.0.1 + '@libp2p/peer-id-factory': 2.0.1 + '@libp2p/websockets': 5.0.3 + '@multiformats/multiaddr': 11.3.0 '@types/bs58': 4.0.1 - '@types/jest': 28.1.0 + '@types/jest': 29.4.0 + '@types/node': 16.11.59 '@types/platform': 1.3.4 '@types/uuid': 8.3.2 async: 3.2.4 - base64-js: ^1.5.1 + browser-or-node: 2.0.0 bs58: 5.0.0 buffer: 6.0.3 - cids: 1.1.9 - jest: 28.1.0 - jest-each: 28.1.3 + it-length-prefixed: 8.0.4 + it-map: 2.0.0 + it-pipe: 2.0.5 + jest: 29.4.1 js-base64: 3.7.2 + libp2p: 0.42.2 loglevel: 1.8.1 - multiaddr: 10.0.1 - multiformats: 9.9.0 - peer-id: 0.16.0 + multiformats: 11.0.1 platform: 1.3.6 rxjs: 7.5.5 - ts-jest: 28.0.2 - ts-node: 10.9.1 + threads: 1.7.0 + ts-jest: 29.0.5 ts-pattern: 3.3.3 - typescript: 4.6.4 + uint8arrays: 4.0.3 uuid: 8.3.2 dependencies: - '@fluencelabs/avm': 0.32.1 - '@fluencelabs/connection': link:../connection - '@fluencelabs/interfaces': link:../interfaces - '@fluencelabs/keypair': link:../keypair - '@fluencelabs/marine-js': 0.3.38 - '@fluencelabs/marine.background-runner': link:../../marine/background-runner + '@chainsafe/libp2p-noise': 11.0.0 + '@fluencelabs/avm': 0.31.10 + '@fluencelabs/marine-js': 0.3.44 + '@libp2p/crypto': 1.0.8_uint8arraylist@2.4.3 + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-keys': 1.0.7 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interfaces': 3.3.1 + '@libp2p/mplex': 7.1.1 + '@libp2p/peer-id': 2.0.1 + '@libp2p/peer-id-factory': 2.0.1 + '@libp2p/websockets': 5.0.3 + '@multiformats/multiaddr': 11.3.0 async: 3.2.4 - base64-js: 1.5.1 + browser-or-node: 2.0.0 bs58: 5.0.0 buffer: 6.0.3 - cids: 1.1.9 + it-length-prefixed: 8.0.4 + it-map: 2.0.0 + it-pipe: 2.0.5 + js-base64: 3.7.2 + libp2p: 0.42.2 loglevel: 1.8.1 - multiformats: 9.9.0 - peer-id: 0.16.0 + multiformats: 11.0.1 platform: 1.3.6 rxjs: 7.5.5 + threads: 1.7.0 ts-pattern: 3.3.3 + uint8arrays: 4.0.3 uuid: 8.3.2 devDependencies: - '@fluencelabs/aqua': 0.7.7-362_i3yjj2scigfcyyfwxdhvpsnmxe + '@fluencelabs/aqua': 0.7.7-362_cgl6iwuyfzkj3bzihtpi7yfmsi '@fluencelabs/aqua-api': 0.9.1-373 '@fluencelabs/aqua-lib': 0.6.0 '@fluencelabs/fluence-network-environment': 1.0.13 - '@fluencelabs/marine.deps-loader.node': link:../../marine/deps-loader.node '@types/bs58': 4.0.1 - '@types/jest': 28.1.0 + '@types/jest': 29.4.0 + '@types/node': 16.11.59 '@types/platform': 1.3.4 '@types/uuid': 8.3.2 - jest: 28.1.0_gsb7asu77en4txj3es3i65pxci - jest-each: 28.1.3 - js-base64: 3.7.2 - multiaddr: 10.0.1_node-fetch@3.2.10 - ts-jest: 28.0.2_vibqa5hxa5biq5fwuxzv5iobty - ts-node: 10.9.1_apbkdfxvcdmborgupeskcsfbo4 - typescript: 4.6.4 - - packages/core/keypair: - specifiers: - js-base64: 3.7.2 - libp2p-crypto: 0.21.2 - peer-id: 0.16.0 - typescript: 4.6.4 - dependencies: - js-base64: 3.7.2 - libp2p-crypto: 0.21.2 - peer-id: 0.16.0 - devDependencies: - typescript: 4.6.4 - - packages/marine/background-runner: - specifiers: - '@fluencelabs/interfaces': workspace:0.2.0 - '@fluencelabs/marine-js': 0.3.38 - '@fluencelabs/marine.worker-script': workspace:0.1.0 - '@types/node': 16.11.59 - threads: ^1.7.0 - typescript: ^4.6.4 - dependencies: - threads: 1.7.0 - devDependencies: - '@fluencelabs/interfaces': link:../../core/interfaces - '@fluencelabs/marine-js': 0.3.38 - '@fluencelabs/marine.worker-script': link:../worker-script - '@types/node': 16.11.59 - typescript: 4.7.4 - - packages/marine/deps-loader.node: - specifiers: - '@fluencelabs/interfaces': workspace:0.2.0 - '@fluencelabs/marine.worker-script': workspace:0.1.0 - '@types/node': 16.11.59 - buffer: ^6.0.3 - js-base64: 3.7.3 - threads: ^1.7.0 - ts-loader: 8.4.0 - typescript: ^4.6.4 - webpack: 5.75.0 - webpack-cli: 5.0.1 - dependencies: - '@fluencelabs/interfaces': link:../../core/interfaces - buffer: 6.0.3 - js-base64: 3.7.3 - devDependencies: - '@fluencelabs/marine.worker-script': link:../worker-script - '@types/node': 16.11.59 - threads: 1.7.0 - ts-loader: 8.4.0_l2co7ao223gzrfox7yaiyzd7wu - typescript: 4.7.4 - webpack: 5.75.0_webpack-cli@5.0.1 - webpack-cli: 5.0.1_webpack@5.75.0 - - packages/marine/deps-loader.web: - specifiers: - '@fluencelabs/interfaces': workspace:0.2.0 - '@fluencelabs/marine.worker-script': workspace:0.1.0 - buffer: ^6.0.3 - js-base64: 3.7.3 - threads: ^1.7.0 - ts-loader: 8.4.0 - typescript: ^4.6.4 - webpack: 4.46.0 - webpack-cli: 4.10.0 - dependencies: - '@fluencelabs/interfaces': link:../../core/interfaces - buffer: 6.0.3 - js-base64: 3.7.3 - devDependencies: - '@fluencelabs/marine.worker-script': link:../worker-script - threads: 1.7.0 - ts-loader: 8.4.0_hrl2l4xchpnd6hlkqocppvpxx4 - typescript: 4.7.4 - webpack: 4.46.0_webpack-cli@4.10.0 - webpack-cli: 4.10.0_webpack@4.46.0 - - packages/marine/worker-script: - specifiers: - '@fluencelabs/marine-js': 0.3.38 - '@types/node': 16.11.59 - threads: ^1.7.0 - ts-loader: 8.4.0 - typescript: ^4.6.4 - webpack: 5.75.0 - webpack-cli: 5.0.1 - dependencies: - '@fluencelabs/marine-js': 0.3.38 - threads: 1.7.0 - devDependencies: - '@types/node': 16.11.59 - ts-loader: 8.4.0_l2co7ao223gzrfox7yaiyzd7wu - typescript: 4.7.4 - webpack: 5.75.0_webpack-cli@5.0.1 - webpack-cli: 5.0.1_webpack@5.75.0 + jest: 29.4.1_@types+node@16.11.59 + ts-jest: 29.0.5_knhdxpg4pvwuf6vrybjt5d2q5i packages: + /@achingbrain/ip-address/8.1.0: + resolution: {integrity: sha512-Zus4vMKVRDm+R1o0QJNhD0PD/8qRGO3Zx8YPsFG5lANt5utVtGg3iHVGBSAF80TfQmhi8rP+Kg/OigdxY0BXHw==} + engines: {node: '>= 12'} + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.2 + dev: false + + /@achingbrain/nat-port-mapper/1.0.7: + resolution: {integrity: sha512-P8Z8iMZBQCsN7q3XoVoJAX3CGPUTbGTh1XBU8JytCW3hBmSk594l8YvdrtY5NVexVHSwLeiXnDsP4d10NJHaeg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@achingbrain/ssdp': 4.0.1 + '@libp2p/logger': 2.0.5 + default-gateway: 6.0.3 + err-code: 3.0.1 + it-first: 1.0.7 + p-defer: 4.0.0 + p-timeout: 5.1.0 + xml2js: 0.4.23 + transitivePeerDependencies: + - supports-color + dev: false + /@achingbrain/node-fetch/2.6.7: resolution: {integrity: sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==} engines: {node: 4.x || >=6.0.0} + dev: true + + /@achingbrain/ssdp/4.0.1: + resolution: {integrity: sha512-z/CkfFI0Ksrpo8E+lu2rKahlE1KJHUn8X8ihQj2Jg6CEL+oHYGCNfttOES0+VnV7htuog70c8bYNHYhlmmqxBQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + event-iterator: 2.0.0 + freeport-promise: 2.0.0 + merge-options: 3.0.4 + uuid: 8.3.2 + xml2js: 0.4.23 + dev: false /@ampproject/remapping/2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.17 dev: true /@babel/code-frame/7.18.6: @@ -376,36 +195,36 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data/7.20.10: - resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} + /@babel/compat-data/7.20.14: + resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.18.13: - resolution: {integrity: sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==} + /@babel/core/7.20.12: + resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.18.13 + '@babel/generator': 7.20.14 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 '@babel/helper-module-transforms': 7.20.11 - '@babel/helpers': 7.18.9 - '@babel/parser': 7.20.7 + '@babel/helpers': 7.20.13 + '@babel/parser': 7.20.15 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 - convert-source-map: 1.8.0 + convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 - json5: 2.2.1 + json5: 2.2.3 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/generator/7.20.7: - resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==} + /@babel/generator/7.20.14: + resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 @@ -413,16 +232,16 @@ packages: jsesc: 2.5.2 dev: true - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.18.13: + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.10 - '@babel/core': 7.18.13 + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.4 + browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 dev: true @@ -464,7 +283,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -504,12 +323,12 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.18.9: - resolution: {integrity: sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==} + /@babel/helpers/7.20.13: + resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -524,130 +343,140 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.20.7: - resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} + /@babel/parser/7.20.15: + resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.20.7 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.18.13: + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.18.13: + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.18.13: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.18.13: + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.12: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.18.13: + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.18.13: + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.18.13: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.18.13: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.18.13: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.18.13: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.18.13: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.18.13: + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.18.13: + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12: resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -656,21 +485,21 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 dev: true - /@babel/traverse/7.20.10: - resolution: {integrity: sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==} + /@babel/traverse/7.20.13: + resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 + '@babel/generator': 7.20.14 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 debug: 4.3.4 globals: 11.12.0 @@ -691,24 +520,33 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@chainsafe/libp2p-noise/4.1.1: - resolution: {integrity: sha512-/Fz86sZmnvRSf7FHxMPifzakxx9xK4KVYx6yi35KPZughop9ivJslUSCLhx/UqDHiuj3h9i04pVXET6nIjSJyQ==} - deprecated: critical bug fixex in >=4.1.2 + /@chainsafe/is-ip/2.0.1: + resolution: {integrity: sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ==} + dev: false + + /@chainsafe/libp2p-noise/11.0.0: + resolution: {integrity: sha512-NEl5aIv6muz9OL+dsa3INEU89JX0NViBxOy7NwwG8eNRPUDHo5E3ZTMSHXQpVx1K/ofoNS4ANO9xwezY6ss5GA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: + '@libp2p/crypto': 1.0.8_uint8arraylist@2.4.3 + '@libp2p/interface-connection-encrypter': 3.0.6 + '@libp2p/interface-keys': 1.0.7 + '@libp2p/interface-metrics': 4.0.5 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/logger': 2.0.5 + '@libp2p/peer-id': 2.0.1 '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 '@stablelib/sha256': 1.0.1 '@stablelib/x25519': 1.0.3 - debug: 4.3.4 - it-buffer: 0.1.3 - it-length-prefixed: 5.0.3 - it-pair: 1.0.0 - it-pb-rpc: 0.1.13 - it-pipe: 1.1.0 - libp2p-crypto: 0.19.7 - peer-id: 0.15.4 - protobufjs: 6.11.3 - uint8arrays: 3.1.0 + it-length-prefixed: 8.0.4 + it-pair: 2.0.3 + it-pb-stream: 2.0.3 + it-pipe: 2.0.5 + it-stream-types: 1.0.5 + protons-runtime: 4.0.2_uint8arraylist@2.4.3 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 transitivePeerDependencies: - supports-color dev: false @@ -729,7 +567,7 @@ packages: libp2p-crypto: 0.19.7 peer-id: 0.15.4 protobufjs: 6.11.3 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 transitivePeerDependencies: - supports-color dev: true @@ -739,12 +577,184 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 - - /@discoveryjs/json-ext/0.5.7: - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} dev: true + /@esbuild/android-arm/0.16.7: + resolution: {integrity: sha512-yhzDbiVcmq6T1/XEvdcJIVcXHdLjDJ5cQ0Dp9R9p9ERMBTeO1dR5tc8YYv8zwDeBw1xZm+Eo3MRo8cwclhBS0g==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm64/0.16.7: + resolution: {integrity: sha512-tYFw0lBJSEvLoGzzYh1kXuzoX1iPkbOk3O29VqzQb0HbOy7t/yw1hGkvwoJhXHwzQUPsShyYcTgRf6bDBcfnTw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64/0.16.7: + resolution: {integrity: sha512-3P2OuTxwAtM3k/yEWTNUJRjMPG1ce8rXs51GTtvEC5z1j8fC1plHeVVczdeHECU7aM2/Buc0MwZ6ciM/zysnWg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64/0.16.7: + resolution: {integrity: sha512-VUb9GK23z8jkosHU9yJNUgQpsfJn+7ZyBm6adi2Ec5/U241eR1tAn82QicnUzaFDaffeixiHwikjmnec/YXEZg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64/0.16.7: + resolution: {integrity: sha512-duterlv3tit3HI9vhzMWnSVaB1B6YsXpFq1Ntd6Fou82BB1l4tucYy3FI9dHv3tvtDuS0NiGf/k6XsdBqPZ01w==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64/0.16.7: + resolution: {integrity: sha512-9kkycpBFes/vhi7B7o0cf+q2WdJi+EpVzpVTqtWFNiutARWDFFLcB93J8PR1cG228sucsl3B+7Ts27izE6qiaQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64/0.16.7: + resolution: {integrity: sha512-5Ahf6jzWXJ4J2uh9dpy5DKOO+PeRUE/9DMys6VuYfwgQzd6n5+pVFm58L2Z2gRe611RX6SdydnNaiIKM3svY7g==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm/0.16.7: + resolution: {integrity: sha512-QqJnyCfu5OF78Olt7JJSZ7OSv/B4Hf+ZJWp4kkq9xwMsgu7yWq3crIic8gGOpDYTqVKKMDAVDgRXy5Wd/nWZyQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64/0.16.7: + resolution: {integrity: sha512-2wv0xYDskk2+MzIm/AEprDip39a23Chptc4mL7hsHg26P0gD8RUhzmDu0KCH2vMThUI1sChXXoK9uH0KYQKaDg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32/0.16.7: + resolution: {integrity: sha512-APVYbEilKbD5ptmKdnIcXej2/+GdV65TfTjxR2Uk8t1EsOk49t6HapZW6DS/Bwlvh5hDwtLapdSumIVNGxgqLg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64/0.16.7: + resolution: {integrity: sha512-5wPUAGclplQrAW7EFr3F84Y/d++7G0KykohaF4p54+iNWhUnMVU8Bh2sxiEOXUy4zKIdpHByMgJ5/Ko6QhtTUw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el/0.16.7: + resolution: {integrity: sha512-hxzlXtWF6yWfkE/SMTscNiVqLOAn7fOuIF3q/kiZaXxftz1DhZW/HpnTmTTWrzrS7zJWQxHHT4QSxyAj33COmA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64/0.16.7: + resolution: {integrity: sha512-WM83Dac0LdXty5xPhlOuCD5Egfk1xLND/oRLYeB7Jb/tY4kzFSDgLlq91wYbHua/s03tQGA9iXvyjgymMw62Vw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64/0.16.7: + resolution: {integrity: sha512-3nkNnNg4Ax6MS/l8O8Ynq2lGEVJYyJ2EoY3PHjNJ4PuZ80EYLMrFTFZ4L/Hc16AxgtXKwmNP9TM0YKNiBzBiJQ==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x/0.16.7: + resolution: {integrity: sha512-3SA/2VJuv0o1uD7zuqxEP+RrAyRxnkGddq0bwHQ98v1KNlzXD/JvxwTO3T6GM5RH6JUd29RTVQTOJfyzMkkppA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64/0.16.7: + resolution: {integrity: sha512-xi/tbqCqvPIzU+zJVyrpz12xqciTAPMi2fXEWGnapZymoGhuL2GIWIRXg4O2v5BXaYA5TSaiKYE14L0QhUTuQg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64/0.16.7: + resolution: {integrity: sha512-NUsYbq3B+JdNKn8SXkItFvdes9qTwEoS3aLALtiWciW/ystiCKM20Fgv9XQBOXfhUHyh5CLEeZDXzLOrwBXuCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64/0.16.7: + resolution: {integrity: sha512-qjwzsgeve9I8Tbsko2FEkdSk2iiezuNGFgipQxY/736NePXDaDZRodIejYGWOlbYXugdxb0nif5yvypH6lKBmA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64/0.16.7: + resolution: {integrity: sha512-mFWDz4RoBTzPphTCkM7Kc7Qpa0o/Z01acajR+Ai7LdfKgcP/C6jYOaKwv7nKzD0+MjOT20j7You9g4ozYy1dKQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64/0.16.7: + resolution: {integrity: sha512-m39UmX19RvEIuC8sYZ0M+eQtdXw4IePDSZ78ZQmYyFaXY9krq4YzQCK2XWIJomNLtg4q+W5aXr8bW3AbqWNoVg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32/0.16.7: + resolution: {integrity: sha512-1cbzSEZA1fANwmT6rjJ4G1qQXHxCxGIcNYFYR9ctI82/prT38lnwSRZ0i5p/MVXksw9eMlHlet6pGu2/qkXFCg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64/0.16.7: + resolution: {integrity: sha512-QaQ8IH0JLacfGf5cf0HCCPnQuCTd/dAI257vXBgb/cccKGbH/6pVtI1gwhdAQ0Y48QSpTIFrh9etVyNdZY+zzw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@fluencelabs/aqua-api/0.9.1-373: resolution: {integrity: sha512-q0A2z/FXOlc9UKCQ/Kf00ig0VpgdJ9woITYSj1tnVo9X3kR71gSv4loCQmukJoqlVZXzfQ8r+spalwBerin89A==} dev: true @@ -763,20 +773,21 @@ packages: resolution: {integrity: sha512-ifjtCM93KO3LhzPkMxqmXhwLmrg/scjOiyTihEVg7ns5N+BVzaK1eWzdOdqGdl9ZVoah43pdlQUepEo7VdRmsw==} dev: true - /@fluencelabs/aqua/0.7.7-362_i3yjj2scigfcyyfwxdhvpsnmxe: + /@fluencelabs/aqua/0.7.7-362_cgl6iwuyfzkj3bzihtpi7yfmsi: resolution: {integrity: sha512-CwvBc3wKQdvnDM4Zxj6yFE5MR2oeh+EZ++m2hLvENt7OWl3cnZVR4cJQkRxMMLVT0MxRwLiy97UIBwGsPqlSCA==} hasBin: true dependencies: '@fluencelabs/aqua-ipfs': 0.5.5 '@fluencelabs/aqua-lib': 0.5.2 - '@fluencelabs/fluence': 0.26.3-snapshot-4_i3yjj2scigfcyyfwxdhvpsnmxe + '@fluencelabs/fluence': 0.26.3-snapshot-4_cgl6iwuyfzkj3bzihtpi7yfmsi '@fluencelabs/fluence-network-environment': 1.0.13 - ipfs-http-client: 50.1.2_node-fetch@3.2.10 + ipfs-http-client: 50.1.2_node-fetch@3.3.0 transitivePeerDependencies: - '@babel/core' - '@types/jest' - babel-jest - bufferutil + - encoding - esbuild - jest - node-fetch @@ -787,17 +798,17 @@ packages: /@fluencelabs/avm/0.31.10: resolution: {integrity: sha512-tkpjdHyRmsTwAEZCJt15//jXEgC2Nw2qFiD1NenvK127SlgKeuzQU9IMReUYY3dowb2IGeC578/uGMu96jHYKw==} - dev: true + dev: false /@fluencelabs/avm/0.31.4: resolution: {integrity: sha512-rApXdqk0NUX+Fyq9BJ1jQ7X//EfVrAg9wrjdd4K/tvo54Lgij0tY/IT+imwr/Eb4qgHgi1QMW4zT0AOlgKIKmw==} dev: true - /@fluencelabs/avm/0.32.1: - resolution: {integrity: sha512-1wZfLkKj8fNpsX+vQucqcxwjg/xFB03D2L//p2Hld68g54X+VFsGcHHUqbvQjCZ/8EdaS801s0ldiJuzXF706A==} - dev: false + /@fluencelabs/avm/0.35.3: + resolution: {integrity: sha512-Y5mPPCmAUUKc5CDO12IL8mGEreWa7maVdX0MWCAH4+GvfLPFN1FxOMSKRYEtvkyVEL88pc9pd8cm5IRCBkFthg==} + dev: true - /@fluencelabs/connection/0.2.0_node-fetch@3.2.10: + /@fluencelabs/connection/0.2.0_node-fetch@3.3.0: resolution: {integrity: sha512-0jTRI1h/j/fR2VaLIlcIm6VoP3j2jL2lI6/OaYaOnwGXmI6CbZWHNeq9eaKWycT9B1vpN9wHu0Vi7vH3pFplhg==} engines: {node: '>=10', pnpm: '>=3'} dependencies: @@ -807,15 +818,16 @@ packages: buffer: 6.0.3 it-length-prefixed: 5.0.3 it-pipe: 1.1.0 - libp2p: 0.36.2_node-fetch@3.2.10 - libp2p-interfaces: 4.0.6_node-fetch@3.2.10 + libp2p: 0.36.2_node-fetch@3.3.0 + libp2p-interfaces: 4.0.6_node-fetch@3.3.0 libp2p-mplex: 0.10.7 - libp2p-websockets: 0.16.2_node-fetch@3.2.10 + libp2p-websockets: 0.16.2_node-fetch@3.3.0 loglevel: 1.8.0 - multiaddr: 10.0.1_node-fetch@3.2.10 + multiaddr: 10.0.1_node-fetch@3.3.0 peer-id: 0.16.0 transitivePeerDependencies: - bufferutil + - encoding - node-fetch - supports-color - utf-8-validate @@ -825,16 +837,16 @@ packages: resolution: {integrity: sha512-2pci3T0sUHE08jwEs1r/vHKVT4XUh/A3j/QJ0eIhddsxyIjEksjdn05X7DF6STD14CF8GgBVOJEPgav8qaUMpA==} dev: true - /@fluencelabs/fluence/0.26.3-snapshot-4_i3yjj2scigfcyyfwxdhvpsnmxe: + /@fluencelabs/fluence/0.26.3-snapshot-4_cgl6iwuyfzkj3bzihtpi7yfmsi: resolution: {integrity: sha512-M/iQhnViXfMaATj3gFPQXrZe9zSVcyN9F9A9hfJBUn0VLamhmbfeIoSZeheK8VGBxYbRGcrtoqLPTy1vJQVgVw==} engines: {node: '>=10', pnpm: '>=3'} hasBin: true dependencies: '@fluencelabs/avm': 0.31.4 - '@fluencelabs/connection': 0.2.0_node-fetch@3.2.10 + '@fluencelabs/connection': 0.2.0_node-fetch@3.3.0 '@fluencelabs/interfaces': 0.1.0 '@fluencelabs/keypair': 0.2.0 - '@fluencelabs/marine-js': 0.3.18_vibqa5hxa5biq5fwuxzv5iobty + '@fluencelabs/marine-js': 0.3.18_2g5e7lwqsvuxdxojhdo55sfvve async: 3.2.3 base64-js: 1.5.1 browser-or-node: 2.0.0 @@ -845,7 +857,7 @@ packages: multiformats: 9.6.5 peer-id: 0.16.0 platform: 1.3.6 - rxjs: 7.5.6 + rxjs: 7.5.5 ts-pattern: 3.3.3 uuid: 8.3.2 transitivePeerDependencies: @@ -853,6 +865,7 @@ packages: - '@types/jest' - babel-jest - bufferutil + - encoding - esbuild - jest - node-fetch @@ -870,12 +883,12 @@ packages: resolution: {integrity: sha512-sNFvoeefSa0Xa/xzzLwWBXPMB4y/vHEFh3BaA6FCGNPwbtN0pje9rd8AOgSP9fjlTPpxy3TuBI+eAIzBk5b+SQ==} engines: {node: '>=10', pnpm: '>=3'} dependencies: - js-base64: 3.7.3 + js-base64: 3.7.2 libp2p-crypto: 0.21.2 peer-id: 0.16.0 dev: true - /@fluencelabs/marine-js/0.3.18_vibqa5hxa5biq5fwuxzv5iobty: + /@fluencelabs/marine-js/0.3.18_2g5e7lwqsvuxdxojhdo55sfvve: resolution: {integrity: sha512-aNuGtyY910kJvtRwfqmZKjVs+1l3LVWShv5xvkY04faHm65nX3sZLe8UHwughdja/4ixV1IFKlaTUgw2u3Sf5A==} dependencies: '@wasmer/wasi': 0.12.0 @@ -883,7 +896,7 @@ packages: browser-or-node: 2.0.0 buffer: 6.0.3 threads: 1.7.0 - ts-jest: 27.1.5_vibqa5hxa5biq5fwuxzv5iobty + ts-jest: 27.1.5_2g5e7lwqsvuxdxojhdo55sfvve transitivePeerDependencies: - '@babel/core' - '@types/jest' @@ -894,11 +907,20 @@ packages: - typescript dev: true - /@fluencelabs/marine-js/0.3.38: - resolution: {integrity: sha512-vP5w7be6vR0MZGkMpmmCvyVhABmVroPD9VAeCCDTuLhzqHMlDhm/cltU0B4kt9yijiNlh9CbY7dSZsCcspWPHw==} + /@fluencelabs/marine-js/0.3.42: + resolution: {integrity: sha512-v8FuQ7CvImFjG4kZXnE7b1h2/J3/5JWiGMc64M2AtkI2ipdk3uGB+xaIzxpx4Zcvpp9gEr2EQonpaZCu7Qx2hg==} dependencies: '@wasmer/wasi': 0.12.0 '@wasmer/wasmfs': 0.12.0 + dev: true + + /@fluencelabs/marine-js/0.3.44: + resolution: {integrity: sha512-DbI/x0bRv44oqfMZJlIkVhzZByXhmnOoxpco/cglk5aAvslOSDdRssf3bZADqqUQggGdtISOZcYPM+a4tirYLQ==} + dependencies: + '@wasmer/wasi': 0.12.0 + '@wasmer/wasmfs': 0.12.0 + default-import: 1.1.5 + dev: false /@istanbuljs/load-nyc-config/1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} @@ -921,13 +943,25 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 slash: 3.0.0 dev: true + /@jest/console/29.4.1: + resolution: {integrity: sha512-m+XpwKSi3PPM9znm5NGS8bBReeAJJpSkL1OuFCqaMaJL2YX9YXLkkI+MBchMPwu+ZuM2rynL51sgfkQteQ1CKQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + chalk: 4.1.2 + jest-message-util: 29.4.1 + jest-util: 29.4.1 + slash: 3.0.0 + dev: true + /@jest/core/28.1.3: resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -942,14 +976,14 @@ packages: '@jest/test-result': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.3.2 + ci-info: 3.7.1 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 28.1.3 - jest-config: 28.1.3_@types+node@18.7.14 + jest-config: 28.1.3_@types+node@18.11.18 jest-haste-map: 28.1.3 jest-message-util: 28.1.3 jest-regex-util: 28.0.2 @@ -971,42 +1005,41 @@ packages: - ts-node dev: true - /@jest/core/28.1.3_ts-node@10.9.1: - resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/core/29.4.1: + resolution: {integrity: sha512-RXFTohpBqpaTebNdg5l3I5yadnKo9zLBajMT0I38D0tDhreVBYv3fA8kywthI00sWxPztWLD3yjiUkewwu/wKA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true dependencies: - '@jest/console': 28.1.3 - '@jest/reporters': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/console': 29.4.1 + '@jest/reporters': 29.4.1 + '@jest/test-result': 29.4.1 + '@jest/transform': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.3.2 + ci-info: 3.7.1 exit: 0.1.2 graceful-fs: 4.2.10 - jest-changed-files: 28.1.3 - jest-config: 28.1.3_gsb7asu77en4txj3es3i65pxci - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-resolve-dependencies: 28.1.3 - jest-runner: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 - jest-watcher: 28.1.3 + jest-changed-files: 29.4.0 + jest-config: 29.4.1_@types+node@18.11.18 + jest-haste-map: 29.4.1 + jest-message-util: 29.4.1 + jest-regex-util: 29.2.0 + jest-resolve: 29.4.1 + jest-resolve-dependencies: 29.4.1 + jest-runner: 29.4.1 + jest-runtime: 29.4.1 + jest-snapshot: 29.4.1 + jest-util: 29.4.1 + jest-validate: 29.4.1 + jest-watcher: 29.4.1 micromatch: 4.0.5 - pretty-format: 28.1.3 - rimraf: 3.0.2 + pretty-format: 29.4.1 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -1020,10 +1053,20 @@ packages: dependencies: '@jest/fake-timers': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 jest-mock: 28.1.3 dev: true + /@jest/environment/29.4.1: + resolution: {integrity: sha512-pJ14dHGSQke7Q3mkL/UZR9ZtTOxqskZaC91NzamEH4dlKRt42W+maRBXiw/LWkdJe+P0f/zDR37+SPMplMRlPg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + jest-mock: 29.4.1 + dev: true + /@jest/expect-utils/28.1.3: resolution: {integrity: sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -1031,6 +1074,13 @@ packages: jest-get-type: 28.0.2 dev: true + /@jest/expect-utils/29.4.1: + resolution: {integrity: sha512-w6YJMn5DlzmxjO00i9wu2YSozUYRBhIoJ6nQwpMYcBMtiqMGJm1QBzOf6DDgRao8dbtpDoaqLg6iiQTvv0UHhQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.2.0 + dev: true + /@jest/expect/28.1.3: resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -1041,18 +1091,40 @@ packages: - supports-color dev: true + /@jest/expect/29.4.1: + resolution: {integrity: sha512-ZxKJP5DTUNF2XkpJeZIzvnzF1KkfrhEF6Rz0HGG69fHl6Bgx5/GoU3XyaeFYEjuuKSOOsbqD/k72wFvFxc3iTw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.4.1 + jest-snapshot: 29.4.1 + transitivePeerDependencies: + - supports-color + dev: true + /@jest/fake-timers/28.1.3: resolution: {integrity: sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.7.14 + '@types/node': 18.11.18 jest-message-util: 28.1.3 jest-mock: 28.1.3 jest-util: 28.1.3 dev: true + /@jest/fake-timers/29.4.1: + resolution: {integrity: sha512-/1joI6rfHFmmm39JxNfmNAO3Nwm6Y0VoL5fJDy7H1AtWrD1CgRtqJbN9Ld6rhAkGO76qqp4cwhhxJ9o9kYjQMw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.4.1 + '@sinonjs/fake-timers': 10.0.2 + '@types/node': 18.11.18 + jest-message-util: 29.4.1 + jest-mock: 29.4.1 + jest-util: 29.4.1 + dev: true + /@jest/globals/28.1.3: resolution: {integrity: sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -1064,6 +1136,18 @@ packages: - supports-color dev: true + /@jest/globals/29.4.1: + resolution: {integrity: sha512-znoK2EuFytbHH0ZSf2mQK2K1xtIgmaw4Da21R2C/NE/+NnItm5mPEFQmn8gmF3f0rfOlmZ3Y3bIf7bFj7DHxAA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.4.1 + '@jest/expect': 29.4.1 + '@jest/types': 29.4.1 + jest-mock: 29.4.1 + transitivePeerDependencies: + - supports-color + dev: true + /@jest/reporters/28.1.3: resolution: {integrity: sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -1078,15 +1162,15 @@ packages: '@jest/test-result': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.15 - '@types/node': 18.7.14 + '@jridgewell/trace-mapping': 0.3.17 + '@types/node': 18.11.18 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.10 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.0 + istanbul-lib-instrument: 5.2.1 istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.5 @@ -1102,18 +1186,71 @@ packages: - supports-color dev: true + /@jest/reporters/29.4.1: + resolution: {integrity: sha512-AISY5xpt2Xpxj9R6y0RF1+O6GRy9JsGa8+vK23Lmzdy1AYcpQn5ItX79wJSsTmfzPKSAcsY1LNt/8Y5Xe5LOSg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.4.1 + '@jest/test-result': 29.4.1 + '@jest/transform': 29.4.1 + '@jest/types': 29.4.1 + '@jridgewell/trace-mapping': 0.3.17 + '@types/node': 18.11.18 + chalk: 4.1.2 + collect-v8-coverage: 1.0.1 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-message-util: 29.4.1 + jest-util: 29.4.1 + jest-worker: 29.4.1 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /@jest/schemas/28.1.3: resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@sinclair/typebox': 0.24.28 + '@sinclair/typebox': 0.24.51 + dev: true + + /@jest/schemas/29.4.0: + resolution: {integrity: sha512-0E01f/gOZeNTG76i5eWWSupvSHaIINrTie7vCyjiYFKgzNdyEGd12BUv4oNBFHOqlHDbtoJi3HrQ38KCC90NsQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.25.21 dev: true /@jest/source-map/28.1.2: resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.17 + callsites: 3.1.0 + graceful-fs: 4.2.10 + dev: true + + /@jest/source-map/29.2.0: + resolution: {integrity: sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.17 callsites: 3.1.0 graceful-fs: 4.2.10 dev: true @@ -1128,6 +1265,16 @@ packages: collect-v8-coverage: 1.0.1 dev: true + /@jest/test-result/29.4.1: + resolution: {integrity: sha512-WRt29Lwt+hEgfN8QDrXqXGgCTidq1rLyFqmZ4lmJOpVArC8daXrZWkWjiaijQvgd3aOUj2fM8INclKHsQW9YyQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.4.1 + '@jest/types': 29.4.1 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + dev: true + /@jest/test-sequencer/28.1.3: resolution: {integrity: sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -1138,16 +1285,26 @@ packages: slash: 3.0.0 dev: true + /@jest/test-sequencer/29.4.1: + resolution: {integrity: sha512-v5qLBNSsM0eHzWLXsQ5fiB65xi49A3ILPSFQKPXzGL4Vyux0DPZAIN7NAFJa9b4BiTDP9MBF/Zqc/QA1vuiJ0w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.4.1 + graceful-fs: 4.2.10 + jest-haste-map: 29.4.1 + slash: 3.0.0 + dev: true + /@jest/transform/28.1.3: resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.17 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 - convert-source-map: 1.8.0 + convert-source-map: 1.9.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.10 jest-haste-map: 28.1.3 @@ -1161,14 +1318,37 @@ packages: - supports-color dev: true + /@jest/transform/29.4.1: + resolution: {integrity: sha512-5w6YJrVAtiAgr0phzKjYd83UPbCXsBRTeYI4BXokv9Er9CcrH9hfXL/crCvP2d2nGOcovPUnlYiLPFLZrkG5Hg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.20.12 + '@jest/types': 29.4.1 + '@jridgewell/trace-mapping': 0.3.17 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.10 + jest-haste-map: 29.4.1 + jest-regex-util: 29.2.0 + jest-util: 29.4.1 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + write-file-atomic: 5.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /@jest/types/27.5.1: resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.7.14 - '@types/yargs': 16.0.4 + '@types/node': 18.11.18 + '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -1179,8 +1359,20 @@ packages: '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.7.14 - '@types/yargs': 17.0.11 + '@types/node': 18.11.18 + '@types/yargs': 17.0.22 + chalk: 4.1.2 + dev: true + + /@jest/types/29.4.1: + resolution: {integrity: sha512-zbrAXDUOnpJ+FMST2rV7QZOgec8rskg2zv8g2ajeqitp4tvZiyqTCYXANrKsM+ryj5o+LI+ZN2EgU9drrkiwSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.4.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 18.11.18 + '@types/yargs': 17.0.22 chalk: 4.1.2 dev: true @@ -1198,30 +1390,25 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.17 dev: true /@jridgewell/resolve-uri/3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} + dev: true /@jridgewell/set-array/1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map/0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} - dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.15 - dev: true - /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true - /@jridgewell/trace-mapping/0.3.15: - resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==} + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 @@ -1232,15 +1419,500 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@libp2p/crypto/1.0.11_uint8arraylist@2.4.3: + resolution: {integrity: sha512-DWiG/0fKIDnkhTF3HoCu2OzkuKXysR/UKGdM9JZkT6F9jS9rwZYEwmacs4ybw1qyufyH+pMXV3/vuUu2Q/UxLw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-keys': 1.0.7 + '@noble/ed25519': 1.7.1 + '@noble/secp256k1': 1.7.1 + err-code: 3.0.1 + multiformats: 11.0.1 + node-forge: 1.3.1 + protons-runtime: 4.0.2_uint8arraylist@2.4.3 + uint8arrays: 4.0.3 + transitivePeerDependencies: + - uint8arraylist + dev: false + + /@libp2p/crypto/1.0.8_uint8arraylist@2.4.3: + resolution: {integrity: sha512-L0nOms1gJKwT5HRzDiEzTon+VOqilez6jIx+J27aSRJjgK+PpWGP2pmo5t0K60EGbIkDK0XDMjQkj0TUecDk5g==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-keys': 1.0.7 + '@noble/ed25519': 1.7.1 + '@noble/secp256k1': 1.7.1 + err-code: 3.0.1 + multiformats: 10.0.3 + node-forge: 1.3.1 + protons-runtime: 4.0.2_uint8arraylist@2.4.3 + uint8arrays: 4.0.3 + transitivePeerDependencies: + - uint8arraylist + dev: false + + /@libp2p/interface-address-manager/2.0.4: + resolution: {integrity: sha512-RcSi+z+xpVKJXq3BsfLf2rq8zb8VTAFown6uJBu02towMc0enYqqhwlV9DxcCaC573MgQ7gY2s/3XvxQdFraVA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interfaces': 3.3.1 + '@multiformats/multiaddr': 11.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-connection-encrypter/3.0.6: + resolution: {integrity: sha512-LwyYBN/aSa3IPCe7gBxffx/vaC0rFxAXlCbx4QGaWGtg6qK80Ouj89LEDWb3HkMbecNVWaV4TEqJIM5WnAAx1Q==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + it-stream-types: 1.0.5 + uint8arraylist: 2.4.3 + dev: false + + /@libp2p/interface-connection-manager/1.3.7: + resolution: {integrity: sha512-GyRa7FXtwjbch4ucFa/jj6vcaQT2RyhUbH3q0tIOTzjntABTMzQrhn3BWOGU5deRp2K7cVOB/OzrdhHdGUxYQA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interfaces': 3.3.1 + '@multiformats/multiaddr': 11.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-connection/3.0.8: + resolution: {integrity: sha512-JiI9xVPkiSgW9hkvHWA4e599OLPNSACrpgtx6UffHG9N+Jpt0IOmM4iLic8bSIYkZJBOQFG1Sv/gVNB98Uq0Nw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interfaces': 3.3.1 + '@multiformats/multiaddr': 11.3.0 + it-stream-types: 1.0.5 + uint8arraylist: 2.4.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-content-routing/2.0.1: + resolution: {integrity: sha512-M3rYXMhH+102qyZzc0GzkKq10x100nWVXGns2qtN3O82Hy/6FxXdgLUGIGWMdCj/7ilaVAuTwx8V3+DGmDIiMw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interfaces': 3.3.1 + multiformats: 11.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-dht/2.0.1: + resolution: {integrity: sha512-+yEbt+1hMTR1bITzYyE771jEujimPXqDyFm8T1a8slMpeOD9z5wmLfuCWif8oGZJzXX5YqldWwSwytJQgWXL9g==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-discovery': 1.0.5 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interfaces': 3.3.1 + multiformats: 11.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-keychain/2.0.4: + resolution: {integrity: sha512-RCH0PL9um/ejsPiWIOzxFzjPzL2nT2tRUtCDo1aBQqoBi7eYp4I4ya1KbzgWDPTmNuuFtCReRMQsZ7/KVirKPA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + multiformats: 11.0.1 + dev: false + + /@libp2p/interface-keys/1.0.7: + resolution: {integrity: sha512-DRMPY9LfcnGJKrjaqIkY62U3fW2dya3VLy4x986ExtMrGn4kxIHeQ1IKk8/Vs9CJHTKmXEMID4of1Cjnw4aJpA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false + + /@libp2p/interface-libp2p/1.1.1: + resolution: {integrity: sha512-cELZZv/tzFxbUzL3Jvbk+AM2J6kDhIUNBIMMMLuR3LIHfmVJkh31G3ChLUZuKhBwB8wXJ1Ssev3fk1tfz/5DWA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-content-routing': 2.0.1 + '@libp2p/interface-dht': 2.0.1 + '@libp2p/interface-keychain': 2.0.4 + '@libp2p/interface-metrics': 4.0.5 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interface-peer-routing': 1.0.7 + '@libp2p/interface-peer-store': 1.2.8 + '@libp2p/interface-pubsub': 3.0.6 + '@libp2p/interface-registrar': 2.0.8 + '@libp2p/interfaces': 3.3.1 + '@multiformats/multiaddr': 11.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-metrics/4.0.5: + resolution: {integrity: sha512-srBeky1ugu1Bzw9VHGg8ta15oLh+P2PEIsg0cI9qzDbtCJaWGq/IIetpfuaJNVOuBD1CGEEbITNmsk4tDwIE0w==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-peer-discovery/1.0.5: + resolution: {integrity: sha512-R0TN/vDaCJLvRhop0y4qoPqapHxX4AEQDEtqmpayAA1BuPgbBq4fS4mepR3FAMcNva/szeqVCDuI4gDejtCaVg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interfaces': 3.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-peer-id/2.0.1: + resolution: {integrity: sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + multiformats: 11.0.1 + dev: false + + /@libp2p/interface-peer-info/1.0.8: + resolution: {integrity: sha512-LRvZt/9bZFYW7seAwuSg2hZuPl+FRTAsij5HtyvVwmpfVxipm6yQrKjQ+LiK/SZhIDVsSJ+UjF0mluJj+jeAzQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + '@multiformats/multiaddr': 11.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-peer-routing/1.0.7: + resolution: {integrity: sha512-0zxOOmKD6nA3LaArcP9UdRO4vJzEyoRtE34vvQP41UxjcSTaj4em5Fl4Q0RuOMXYPtRp+LdXRYbjJgCSeQoxwA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interfaces': 3.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-peer-store/1.2.8: + resolution: {integrity: sha512-FM9VLmpg9CUBKZ2RW+J7RrQfQVMksLiC8oqENqHgb/VkPJY3kafbn7HIi0NcK6H/H5VcwBIhL15SUJk66O1K6g==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interface-record': 2.0.6 + '@libp2p/interfaces': 3.3.1 + '@multiformats/multiaddr': 11.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-pubsub/3.0.6: + resolution: {integrity: sha512-c1aVHAhxmEh9IpLBgJyCsMscVDl7YUeP1Iq6ILEQoWiPJhNpQqdfmqyk7ZfrzuBU19VFe1EqH0bLuLDbtfysTQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interfaces': 3.3.1 + it-pushable: 3.1.2 + uint8arraylist: 2.4.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-record/2.0.6: + resolution: {integrity: sha512-4EtDkY3sbYapWM8++gVHlv31HZXoLmj9I7CRXUKXzFkVE0GLK/A8jYWl7K0lmf2juPjeYm2eHITeA9/wAtIS3w==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + uint8arraylist: 2.4.3 + dev: false + + /@libp2p/interface-registrar/2.0.8: + resolution: {integrity: sha512-WbnXB09QF41zZzNgDUAZrRMilqgB7wBMTsSvql8xdDcws+jbaX4wE0iEpRXg1hyd0pz4mooIcMRaH1NiEQ5D8w==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-peer-id': 2.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-stream-muxer/3.0.5: + resolution: {integrity: sha512-815aJ+qVswNcTEOuOUTcB+7OLzAfROyjjqoWpK0bD0P/xqTHqOQcqdaDuK02zPuAZqYq9uR3+SoBasrCg6k3zw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interfaces': 3.3.1 + it-stream-types: 1.0.5 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interface-transport/2.1.1: + resolution: {integrity: sha512-xDM/s8iPN/XfNqD9qNelibRMPKkhOLinXwQeNtoTZjarq+Cg6rtO6/5WBG/49hyI3+r+5jd2eykjPGQbb86NFQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-stream-muxer': 3.0.5 + '@libp2p/interfaces': 3.3.1 + '@multiformats/multiaddr': 11.3.0 + it-stream-types: 1.0.5 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/interfaces/3.3.1: + resolution: {integrity: sha512-3N+goQt74SmaVOjwpwMPKLNgh1uDQGw8GD12c40Kc86WOq0qvpm3NfACW+H8Su2X6KmWjCSMzk9JWs9+8FtUfg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false + + /@libp2p/logger/2.0.5: + resolution: {integrity: sha512-WEhxsc7+gsfuTcljI4vSgW/H2f18aBaC+JiO01FcX841Wxe9szjzHdBLDh9eqygUlzoK0LEeIBfctN7ibzus5A==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + debug: 4.3.4 + interface-datastore: 7.0.4 + multiformats: 11.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/mplex/7.1.1: + resolution: {integrity: sha512-0owK1aWgXXtjiohXtjwLV7Ehjdj96eBtsapVt7AzlHA+W8uYnI+x058thq3MisyMDlHiiE3BTh6fEf+t2/0dUw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-stream-muxer': 3.0.5 + '@libp2p/logger': 2.0.5 + abortable-iterator: 4.0.2 + any-signal: 3.0.1 + benchmark: 2.1.4 + err-code: 3.0.1 + it-batched-bytes: 1.0.0 + it-pushable: 3.1.2 + it-stream-types: 1.0.5 + rate-limiter-flexible: 2.4.1 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + varint: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/multistream-select/3.1.2: + resolution: {integrity: sha512-NfF0fwQM4sqiLuNGBVc9z2mfz3OigOfyLJ5zekRBGYHkbKWrBRFS3FligUPr9roCOzH6ojjDkKVd5aK9/llfJQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interfaces': 3.3.1 + '@libp2p/logger': 2.0.5 + abortable-iterator: 4.0.2 + err-code: 3.0.1 + it-first: 2.0.0 + it-handshake: 4.1.2 + it-length-prefixed: 8.0.4 + it-merge: 2.0.0 + it-pipe: 2.0.5 + it-pushable: 3.1.2 + it-reader: 6.0.2 + it-stream-types: 1.0.5 + p-defer: 4.0.0 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/peer-collections/3.0.0: + resolution: {integrity: sha512-rVhfDmkVzfBVR4scAfaKb05htZENx01PYt2USi1EnODyoo2c2U2W5tfOfyaKI/4D+ayQDOjT27G0ZCyAgwkYGw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/peer-id': 2.0.1 + dev: false + + /@libp2p/peer-id-factory/2.0.1: + resolution: {integrity: sha512-CRJmqwNQhDC51sQ9lf6EqEY8HuywwymMVffL2kIYI5ts5k+6gvIXzoSxLf3V3o+OxcroXG4KG0uGxxAi5DUXSA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/crypto': 1.0.8_uint8arraylist@2.4.3 + '@libp2p/interface-keys': 1.0.7 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/peer-id': 2.0.1 + multiformats: 11.0.1 + protons-runtime: 4.0.2_uint8arraylist@2.4.3 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + dev: false + + /@libp2p/peer-id/2.0.1: + resolution: {integrity: sha512-uGIR4rS+j+IzzIu0kih4MonZEfRmjGNfXaSPMIFOeMxZItZT6TIpxoVNYxHl4YtneSFKzlLnf9yx9EhRcyfy8Q==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interfaces': 3.3.1 + multiformats: 11.0.1 + uint8arrays: 4.0.3 + dev: false + + /@libp2p/peer-record/5.0.0: + resolution: {integrity: sha512-qGaqYQSRqI/vol1NEMR9Z3ncLjIkyIF0o/CQYXzXCDjA91i9+0iMjXGgIgBLn3bfA1b9pHuz4HvwjgYUKMYOkQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/crypto': 1.0.11_uint8arraylist@2.4.3 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-record': 2.0.6 + '@libp2p/logger': 2.0.5 + '@libp2p/peer-id': 2.0.1 + '@libp2p/utils': 3.0.4 + '@multiformats/multiaddr': 11.3.0 + err-code: 3.0.1 + interface-datastore: 7.0.4 + it-all: 2.0.0 + it-filter: 2.0.0 + it-foreach: 1.0.0 + it-map: 2.0.0 + it-pipe: 2.0.5 + multiformats: 11.0.1 + protons-runtime: 4.0.2_uint8arraylist@2.4.3 + uint8-varint: 1.0.4 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + varint: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/peer-store/6.0.0: + resolution: {integrity: sha512-7GSqRYkJR3E0Vo96XH84X6KNPdwOE1t6jb7jegYzvzKDZMFaceJUZg9om3+ZHCUbethnYuqsY7j0c7OHCB40nA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interface-peer-store': 1.2.8 + '@libp2p/interface-record': 2.0.6 + '@libp2p/interfaces': 3.3.1 + '@libp2p/logger': 2.0.5 + '@libp2p/peer-id': 2.0.1 + '@libp2p/peer-record': 5.0.0 + '@multiformats/multiaddr': 11.3.0 + err-code: 3.0.1 + interface-datastore: 7.0.4 + it-all: 2.0.0 + it-filter: 2.0.0 + it-foreach: 1.0.0 + it-map: 2.0.0 + it-pipe: 2.0.5 + mortice: 3.0.1 + multiformats: 11.0.1 + protons-runtime: 4.0.2_uint8arraylist@2.4.3 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/tracked-map/3.0.2: + resolution: {integrity: sha512-mtsZWf2ntttuCrmEIro2p1ceCAaKde2TzT/99DZlkGdJN/Mo1jZgXq7ltZjWc8G3DAlgs+0ygjMzNKcZzAveuQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-metrics': 4.0.5 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/utils/3.0.4: + resolution: {integrity: sha512-EWJNJtlop2ylmGE1BNiMA0u4eTLKoY0LbZ/DOvSDs9VlGSLua9J+LUjp6XV8lazGv7l1rOLiU+1hP5fcmg1+eg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@achingbrain/ip-address': 8.1.0 + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-peer-store': 1.2.8 + '@libp2p/logger': 2.0.5 + '@multiformats/multiaddr': 11.3.0 + abortable-iterator: 4.0.2 + err-code: 3.0.1 + is-loopback-addr: 2.0.1 + it-stream-types: 1.0.5 + private-ip: 3.0.0 + uint8arraylist: 2.4.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@libp2p/websockets/5.0.3: + resolution: {integrity: sha512-/0ie47LEKU5VVeaeE/T6UbvaZbUSmyWXu4KcojY+zl809oONFjagKuZB6T7jJQqAV7WCq7O+ulC2tFOwbID08w==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-transport': 2.1.1 + '@libp2p/interfaces': 3.3.1 + '@libp2p/logger': 2.0.5 + '@libp2p/utils': 3.0.4 + '@multiformats/mafmt': 11.0.3 + '@multiformats/multiaddr': 11.3.0 + '@multiformats/multiaddr-to-uri': 9.0.2 + abortable-iterator: 4.0.2 + it-ws: 5.0.6 + p-defer: 4.0.0 + p-timeout: 6.1.0 + wherearewe: 2.0.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false /@multiformats/base-x/4.0.1: resolution: {integrity: sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==} + dev: true - /@noble/ed25519/1.6.1: - resolution: {integrity: sha512-Gptpue6qPmg7p1E5LBO5GDtXw5WMc2DVtUmu4EQequOcoCvum1dT9sY6s9M8aSJWq9YopCN4jmTOAvqMdw3q7w==} + /@multiformats/mafmt/11.0.3: + resolution: {integrity: sha512-DvCQeZJgaC4kE3BLqMuW3gQkNAW14Z7I+yMt30Ze+wkfHkWSp+bICcHGihhtgfzYCumHA/vHlJ9n54mrCcmnvQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@multiformats/multiaddr': 11.3.0 + transitivePeerDependencies: + - supports-color + dev: false - /@noble/secp256k1/1.6.3: - resolution: {integrity: sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==} + /@multiformats/multiaddr-to-uri/9.0.2: + resolution: {integrity: sha512-vrWmfFadmix5Ab9l//oRQdQ7O3J5bGJpJRMSm21bHlQB0XV4xtNU6vMZBVXeu3Su79LgflEp37cjTFE3yKf3Hw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@multiformats/multiaddr': 11.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@multiformats/multiaddr/11.3.0: + resolution: {integrity: sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@chainsafe/is-ip': 2.0.1 + dns-over-http-resolver: 2.1.1 + err-code: 3.0.1 + multiformats: 11.0.1 + uint8arrays: 4.0.3 + varint: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@noble/ed25519/1.7.1: + resolution: {integrity: sha512-Rk4SkJFaXZiznFyC/t77Q0NKS4FL7TLJJsVG2V2oiEq3kJVeTdxysEe/yRWSpnWMe808XRDJ+VFh5pt/FN5plw==} + + /@noble/secp256k1/1.7.1: + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} /@protobufjs/aspromise/1.1.2: resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -1275,20 +1947,64 @@ packages: /@protobufjs/utf8/1.1.0: resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - /@sinclair/typebox/0.24.28: - resolution: {integrity: sha512-dgJd3HLOkLmz4Bw50eZx/zJwtBq65nms3N9VBYu5LTjJ883oBFkTyXRlCB/ZGGwqYpJJHA5zW2Ibhl5ngITfow==} + /@rollup/plugin-inject/5.0.3: + resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2 + estree-walker: 2.0.2 + magic-string: 0.27.0 dev: true - /@sinonjs/commons/1.8.3: - resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} + /@rollup/pluginutils/5.0.2: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@sinclair/typebox/0.24.51: + resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} + dev: true + + /@sinclair/typebox/0.25.21: + resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} + dev: true + + /@sinonjs/commons/1.8.6: + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} dependencies: type-detect: 4.0.8 dev: true + /@sinonjs/commons/2.0.0: + resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers/10.0.2: + resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} + dependencies: + '@sinonjs/commons': 2.0.0 + dev: true + /@sinonjs/fake-timers/9.1.2: resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} dependencies: - '@sinonjs/commons': 1.8.3 + '@sinonjs/commons': 1.8.6 dev: true /@sovpro/delimited-stream/1.1.0: @@ -1382,24 +2098,28 @@ packages: /@tsconfig/node10/1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true /@tsconfig/node12/1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true /@tsconfig/node14/1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true /@tsconfig/node16/1.0.3: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + dev: true - /@types/babel__core/7.1.19: - resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} + /@types/babel__core/7.20.0: + resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.0 + '@types/babel__traverse': 7.18.3 dev: true /@types/babel__generator/7.6.4: @@ -1411,12 +2131,12 @@ packages: /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.20.7 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 dev: true - /@types/babel__traverse/7.18.0: - resolution: {integrity: sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw==} + /@types/babel__traverse/7.18.3: + resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} dependencies: '@babel/types': 7.20.7 dev: true @@ -1427,28 +2147,14 @@ packages: base-x: 3.0.9 dev: true - /@types/eslint-scope/3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} - dependencies: - '@types/eslint': 8.4.10 - '@types/estree': 0.0.51 + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@types/eslint/8.4.10: - resolution: {integrity: sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==} + /@types/graceful-fs/4.1.6: + resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.11 - dev: true - - /@types/estree/0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - dev: true - - /@types/graceful-fs/4.1.5: - resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} - dependencies: - '@types/node': 18.7.14 + '@types/node': 18.11.18 dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -1474,32 +2180,43 @@ packages: pretty-format: 27.5.1 dev: true - /@types/json-schema/7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/jest/29.4.0: + resolution: {integrity: sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==} + dependencies: + expect: 29.4.1 + pretty-format: 29.4.1 dev: true /@types/long/4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + dev: true /@types/minimatch/3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + dev: true /@types/node/16.11.59: resolution: {integrity: sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw==} + dev: true - /@types/node/18.7.14: - resolution: {integrity: sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==} + /@types/node/18.11.18: + resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} /@types/platform/1.3.4: resolution: {integrity: sha512-U0o4K+GNiK0PNxoDwd8xRnvLVe4kzei6opn3/FCjAriqaP+rfrDdSl1kP/hLL6Y3/Y3hhGnBwD4dCkkAqs1W/Q==} dev: true - /@types/prettier/2.7.0: - resolution: {integrity: sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==} + /@types/prettier/2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} dev: true /@types/retry/0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true + + /@types/retry/0.12.1: + resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} + dev: false /@types/stack-utils/2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} @@ -1513,20 +2230,21 @@ packages: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true - /@types/yargs/16.0.4: - resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} + /@types/yargs/16.0.5: + resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} dependencies: '@types/yargs-parser': 21.0.0 dev: true - /@types/yargs/17.0.11: - resolution: {integrity: sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==} + /@types/yargs/17.0.22: + resolution: {integrity: sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==} dependencies: '@types/yargs-parser': 21.0.0 dev: true /@vascosantos/moving-average/1.1.0: resolution: {integrity: sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w==} + dev: true /@wasmer/wasi/0.12.0: resolution: {integrity: sha512-FJhLZKAfLWm/yjQI7eCRHNbA8ezmb7LSpUYFkHruZXs2mXk2+DaQtSElEtOoNrVQ4vApTyVaAd5/b7uEu8w6wQ==} @@ -1543,315 +2261,6 @@ packages: pako: 1.0.11 tar-stream: 2.2.0 - /@webassemblyjs/ast/1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - dev: true - - /@webassemblyjs/ast/1.9.0: - resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} - dependencies: - '@webassemblyjs/helper-module-context': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/wast-parser': 1.9.0 - dev: true - - /@webassemblyjs/floating-point-hex-parser/1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - dev: true - - /@webassemblyjs/floating-point-hex-parser/1.9.0: - resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} - dev: true - - /@webassemblyjs/helper-api-error/1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - dev: true - - /@webassemblyjs/helper-api-error/1.9.0: - resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} - dev: true - - /@webassemblyjs/helper-buffer/1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - dev: true - - /@webassemblyjs/helper-buffer/1.9.0: - resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} - dev: true - - /@webassemblyjs/helper-code-frame/1.9.0: - resolution: {integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==} - dependencies: - '@webassemblyjs/wast-printer': 1.9.0 - dev: true - - /@webassemblyjs/helper-fsm/1.9.0: - resolution: {integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==} - dev: true - - /@webassemblyjs/helper-module-context/1.9.0: - resolution: {integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - dev: true - - /@webassemblyjs/helper-numbers/1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/helper-wasm-bytecode/1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - dev: true - - /@webassemblyjs/helper-wasm-bytecode/1.9.0: - resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} - dev: true - - /@webassemblyjs/helper-wasm-section/1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - dev: true - - /@webassemblyjs/helper-wasm-section/1.9.0: - resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-buffer': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/wasm-gen': 1.9.0 - dev: true - - /@webassemblyjs/ieee754/1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true - - /@webassemblyjs/ieee754/1.9.0: - resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true - - /@webassemblyjs/leb128/1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/leb128/1.9.0: - resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/utf8/1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - dev: true - - /@webassemblyjs/utf8/1.9.0: - resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} - dev: true - - /@webassemblyjs/wasm-edit/1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - dev: true - - /@webassemblyjs/wasm-edit/1.9.0: - resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-buffer': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/helper-wasm-section': 1.9.0 - '@webassemblyjs/wasm-gen': 1.9.0 - '@webassemblyjs/wasm-opt': 1.9.0 - '@webassemblyjs/wasm-parser': 1.9.0 - '@webassemblyjs/wast-printer': 1.9.0 - dev: true - - /@webassemblyjs/wasm-gen/1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wasm-gen/1.9.0: - resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/ieee754': 1.9.0 - '@webassemblyjs/leb128': 1.9.0 - '@webassemblyjs/utf8': 1.9.0 - dev: true - - /@webassemblyjs/wasm-opt/1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - dev: true - - /@webassemblyjs/wasm-opt/1.9.0: - resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-buffer': 1.9.0 - '@webassemblyjs/wasm-gen': 1.9.0 - '@webassemblyjs/wasm-parser': 1.9.0 - dev: true - - /@webassemblyjs/wasm-parser/1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wasm-parser/1.9.0: - resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-api-error': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/ieee754': 1.9.0 - '@webassemblyjs/leb128': 1.9.0 - '@webassemblyjs/utf8': 1.9.0 - dev: true - - /@webassemblyjs/wast-parser/1.9.0: - resolution: {integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/floating-point-hex-parser': 1.9.0 - '@webassemblyjs/helper-api-error': 1.9.0 - '@webassemblyjs/helper-code-frame': 1.9.0 - '@webassemblyjs/helper-fsm': 1.9.0 - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/wast-printer/1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/wast-printer/1.9.0: - resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/wast-parser': 1.9.0 - '@xtuc/long': 4.2.2 - dev: true - - /@webpack-cli/configtest/1.2.0_dfxgqfcw6epibhmjfd2ethbqbi: - resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} - peerDependencies: - webpack: 4.x.x || 5.x.x - webpack-cli: 4.x.x - dependencies: - webpack: 4.46.0_webpack-cli@4.10.0 - webpack-cli: 4.10.0_webpack@4.46.0 - dev: true - - /@webpack-cli/configtest/2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq: - resolution: {integrity: sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==} - engines: {node: '>=14.15.0'} - peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - dependencies: - webpack: 5.75.0_webpack-cli@5.0.1 - webpack-cli: 5.0.1_webpack@5.75.0 - dev: true - - /@webpack-cli/info/1.5.0_webpack-cli@4.10.0: - resolution: {integrity: sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==} - peerDependencies: - webpack-cli: 4.x.x - dependencies: - envinfo: 7.8.1 - webpack-cli: 4.10.0_webpack@4.46.0 - dev: true - - /@webpack-cli/info/2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq: - resolution: {integrity: sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==} - engines: {node: '>=14.15.0'} - peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - dependencies: - webpack: 5.75.0_webpack-cli@5.0.1 - webpack-cli: 5.0.1_webpack@5.75.0 - dev: true - - /@webpack-cli/serve/1.7.0_webpack-cli@4.10.0: - resolution: {integrity: sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==} - peerDependencies: - webpack-cli: 4.x.x - webpack-dev-server: '*' - peerDependenciesMeta: - webpack-dev-server: - optional: true - dependencies: - webpack-cli: 4.10.0_webpack@4.46.0 - dev: true - - /@webpack-cli/serve/2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq: - resolution: {integrity: sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==} - engines: {node: '>=14.15.0'} - peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - webpack-dev-server: '*' - peerDependenciesMeta: - webpack-dev-server: - optional: true - dependencies: - webpack: 5.75.0_webpack-cli@5.0.1 - webpack-cli: 5.0.1_webpack@5.75.0 - dev: true - - /@xtuc/ieee754/1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true - - /@xtuc/long/4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true - /abort-controller/3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -1863,51 +2272,32 @@ packages: resolution: {integrity: sha512-qVP8HFfTpUQI2F+f1tpTriKDIZ4XrmwCrBCrQeRKO7DKWF3kgoT6NXiNDv2krrGcHxPwmI63eGQiec81sEaWIw==} dependencies: get-iterator: 1.0.2 - - /acorn-import-assertions/1.8.0_acorn@8.8.0: - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.8.0 dev: true + /abortable-iterator/4.0.2: + resolution: {integrity: sha512-SJGELER5yXr9v3kiL6mT5RZ1qlyJ9hV4nm34+vfsdIM1lp3zENQvpsqKgykpFLgRMUn3lzlizLTpiOASW05/+g==} + dependencies: + get-iterator: 2.0.0 + it-stream-types: 1.0.5 + dev: false + /acorn-walk/8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} + dev: true - /acorn/6.4.2: - resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==} + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /acorn/8.8.0: - resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} - engines: {node: '>=0.4.0'} - hasBin: true - /aggregate-error/3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - - /ajv-errors/1.0.1_ajv@6.12.6: - resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} - peerDependencies: - ajv: '>=5.0.0' - dependencies: - ajv: 6.12.6 - dev: true - - /ajv-keywords/3.5.2_ajv@6.12.6: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 dev: true /ajv/6.12.6: @@ -1917,6 +2307,7 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 + dev: true /ansi-escapes/4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} @@ -1959,30 +2350,17 @@ packages: /any-signal/3.0.1: resolution: {integrity: sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==} - /anymatch/2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - dev: true - optional: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true - /aproba/1.2.0: - resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} - dev: true - /arg/4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -1990,26 +2368,6 @@ packages: sprintf-js: 1.0.3 dev: true - /arr-diff/4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-flatten/1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-union/3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - dev: true - - /array-unique/0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - dev: true - /asn1.js/5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: @@ -2017,33 +2375,19 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 + dev: true /asn1/0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} dependencies: safer-buffer: 2.1.2 + dev: true /assert-plus/1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} - - /assert/1.5.0: - resolution: {integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==} - dependencies: - object-assign: 4.1.1 - util: 0.10.3 dev: true - /assign-symbols/1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - dev: true - - /async-each/1.0.3: - resolution: {integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==} - dev: true - optional: true - /async/3.2.3: resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} dev: true @@ -2053,30 +2397,45 @@ packages: /asynckit/0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - /atob/2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true dev: true /aws-sign2/0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true - /aws4/1.11.0: - resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} + /aws4/1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: true - /babel-jest/28.1.3_@babel+core@7.18.13: + /babel-jest/28.1.3_@babel+core@7.20.12: resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@jest/transform': 28.1.3 - '@types/babel__core': 7.1.19 + '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 28.1.3_@babel+core@7.18.13 + babel-preset-jest: 28.1.3_@babel+core@7.20.12 + chalk: 4.1.2 + graceful-fs: 4.2.10 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-jest/29.4.1_@babel+core@7.20.12: + resolution: {integrity: sha512-xBZa/pLSsF/1sNpkgsiT3CmY7zV1kAsZ9OxxtrFqYucnOuRftXAfcJqcDVyOPeN4lttWTwhLdu0T9f8uvoPEUg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.20.12 + '@jest/transform': 29.4.1 + '@types/babel__core': 7.20.0 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.4.0_@babel+core@7.20.12 chalk: 4.1.2 graceful-fs: 4.2.10 slash: 3.0.0 @@ -2091,7 +2450,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.0 + istanbul-lib-instrument: 5.2.1 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color @@ -2103,43 +2462,65 @@ packages: dependencies: '@babel/template': 7.20.7 '@babel/types': 7.20.7 - '@types/babel__core': 7.1.19 - '@types/babel__traverse': 7.18.0 + '@types/babel__core': 7.20.0 + '@types/babel__traverse': 7.18.3 dev: true - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.18.13: + /babel-plugin-jest-hoist/29.4.0: + resolution: {integrity: sha512-a/sZRLQJEmsmejQ2rPEUe35nO1+C9dc9O1gplH1SXmJxveQSRUYdBk8yGZG/VOUuZs1u2aHZJusEGoRMbhhwCg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.20.7 + '@babel/types': 7.20.7 + '@types/babel__core': 7.20.0 + '@types/babel__traverse': 7.18.3 + dev: true + + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.12: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.18.13 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.13 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.18.13 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.13 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.18.13 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.13 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.13 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.13 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.13 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.13 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.13 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.13 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.18.13 + '@babel/core': 7.20.12 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12 dev: true - /babel-preset-jest/28.1.3_@babel+core@7.18.13: + /babel-preset-jest/28.1.3_@babel+core@7.20.12: resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 babel-plugin-jest-hoist: 28.1.3 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.13 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12 + dev: true + + /babel-preset-jest/29.4.0_@babel+core@7.20.12: + resolution: {integrity: sha512-fUB9vZflUSM3dO/6M2TCAepTzvA4VkOvl67PjErcrQMGt9Eve7uazaeyCZ2th3UtI7ljpiBJES0F7A1vBRsLZA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + babel-plugin-jest-hoist: 29.4.0 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12 dev: true /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true /base-x/3.0.9: resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} @@ -2150,19 +2531,6 @@ packages: /base-x/4.0.0: resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} - /base/0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -2170,31 +2538,24 @@ packages: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} dependencies: tweetnacl: 0.14.5 - - /big.js/5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true - /bignumber.js/9.1.0: - resolution: {integrity: sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==} + /benchmark/2.1.4: + resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} + dependencies: + lodash: 4.17.21 + platform: 1.3.6 + dev: false - /binary-extensions/1.13.1: - resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} - engines: {node: '>=0.10.0'} + /bignumber.js/9.1.1: + resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} dev: true - optional: true - - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - optional: true /bindings/1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - requiresBuild: true dependencies: file-uri-to-path: 1.0.0 + dev: true /bl/4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -2203,12 +2564,13 @@ packages: inherits: 2.0.4 readable-stream: 3.6.0 - /bl/5.0.0: - resolution: {integrity: sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==} + /bl/5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} dependencies: buffer: 6.0.3 inherits: 2.0.4 readable-stream: 3.6.0 + dev: true /blakejs/1.2.1: resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} @@ -2220,15 +2582,8 @@ packages: browser-readablestream-to-it: 1.0.3 dev: true - /bluebird/3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: true - /bn.js/4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - - /bn.js/5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true /borc/3.0.0: @@ -2236,7 +2591,7 @@ packages: engines: {node: '>=4'} hasBin: true dependencies: - bignumber.js: 9.1.0 + bignumber.js: 9.1.1 buffer: 6.0.3 commander: 2.20.3 ieee754: 1.2.1 @@ -2250,23 +2605,6 @@ packages: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - - /braces/2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color dev: true /braces/3.0.2: @@ -2278,6 +2616,7 @@ packages: /brorand/1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + dev: true /browser-or-node/2.0.0: resolution: {integrity: sha512-3Lrks/Okgof+/cRguUNG+qRXSeq79SO3hY4QrXJayJofwJwHiGC0qi99uDjsfTwULUFSr1OGVsBkdIkygKjTUA==} @@ -2289,70 +2628,15 @@ packages: resolution: {integrity: sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==} dev: true - /browserify-aes/1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} - dependencies: - buffer-xor: 1.0.3 - cipher-base: 1.0.4 - create-hash: 1.2.0 - evp_bytestokey: 1.0.3 - inherits: 2.0.4 - safe-buffer: 5.2.1 - dev: true - - /browserify-cipher/1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} - dependencies: - browserify-aes: 1.2.0 - browserify-des: 1.0.2 - evp_bytestokey: 1.0.3 - dev: true - - /browserify-des/1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} - dependencies: - cipher-base: 1.0.4 - des.js: 1.0.1 - inherits: 2.0.4 - safe-buffer: 5.2.1 - dev: true - - /browserify-rsa/4.1.0: - resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} - dependencies: - bn.js: 5.2.1 - randombytes: 2.1.0 - dev: true - - /browserify-sign/4.2.1: - resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} - dependencies: - bn.js: 5.2.1 - browserify-rsa: 4.1.0 - create-hash: 1.2.0 - create-hmac: 1.1.7 - elliptic: 6.5.4 - inherits: 2.0.4 - parse-asn1: 5.1.6 - readable-stream: 3.6.0 - safe-buffer: 5.2.1 - dev: true - - /browserify-zlib/0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - dependencies: - pako: 1.0.11 - dev: true - - /browserslist/4.21.4: - resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} + /browserslist/4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001441 - electron-to-chromium: 1.4.284 - node-releases: 2.0.6 - update-browserslist-db: 1.0.10_browserslist@4.21.4 + caniuse-lite: 1.0.30001450 + electron-to-chromium: 1.4.285 + node-releases: 2.0.9 + update-browserslist-db: 1.0.10_browserslist@4.21.5 dev: true /bs-logger/0.2.6: @@ -2380,18 +2664,6 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /buffer-xor/1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - dev: true - - /buffer/4.9.2: - resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - isarray: 1.0.0 - dev: true - /buffer/5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: @@ -2404,44 +2676,19 @@ packages: base64-js: 1.5.1 ieee754: 1.2.1 - /builtin-status-codes/3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - dev: true - - /cacache/12.0.4: - resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} + /busboy/1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} dependencies: - bluebird: 3.7.2 - chownr: 1.1.4 - figgy-pudding: 3.5.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - infer-owner: 1.0.4 - lru-cache: 5.1.1 - mississippi: 3.0.0 - mkdirp: 0.5.6 - move-concurrently: 1.0.1 - promise-inflight: 1.0.1_bluebird@3.7.2 - rimraf: 2.7.1 - ssri: 6.0.2 - unique-filename: 1.1.1 - y18n: 4.0.3 - dev: true + streamsearch: 1.1.0 + dev: false - /cache-base/1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} + /byte-access/1.0.1: + resolution: {integrity: sha512-GKYa+lvxnzhgHWj9X+LCsQ4s2/C5uvib573eAOiQKywXMkzFFErY2+yQdzmdE5iWVpmqecsRx3bOtOY4/1eINw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - dev: true + uint8arraylist: 2.4.3 + dev: false /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -2457,12 +2704,13 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001441: - resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==} + /caniuse-lite/1.0.30001450: + resolution: {integrity: sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==} dev: true /caseless/0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -2486,56 +2734,9 @@ packages: engines: {node: '>=10'} dev: true - /chokidar/2.1.8: - resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies - dependencies: - anymatch: 2.0.0 - async-each: 1.0.3 - braces: 2.3.2 - glob-parent: 3.1.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 4.0.3 - normalize-path: 3.0.0 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - upath: 1.2.0 - optionalDependencies: - fsevents: 1.2.13 - transitivePeerDependencies: - - supports-color - dev: true - optional: true - - /chokidar/3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - requiresBuild: true - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - optional: true - - /chownr/1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: true - - /chrome-trace-event/1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} - dev: true - - /ci-info/3.3.2: - resolution: {integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==} + /ci-info/3.7.1: + resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==} + engines: {node: '>=8'} dev: true /cids/1.1.9: @@ -2546,13 +2747,7 @@ packages: multibase: 4.0.6 multicodec: 3.2.1 multihashes: 4.0.3 - uint8arrays: 3.1.0 - - /cipher-base/1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 + uint8arrays: 3.1.1 dev: true /cjs-module-lexer/1.2.2: @@ -2561,38 +2756,22 @@ packages: /class-is/1.1.0: resolution: {integrity: sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==} - - /class-utils/0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 dev: true /clean-stack/2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} + dev: true - /cliui/7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 dev: true - /clone-deep/4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - dev: true - /co/4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -2602,14 +2781,6 @@ packages: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true - /collection-visit/1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - /color-convert/1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -2631,114 +2802,36 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /colorette/2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true - /combined-stream/1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 + dev: true /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true - /commander/7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: true - - /commander/9.4.1: - resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} - engines: {node: ^12.20.0 || >=14} - dev: true - - /commondir/1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - - /component-emitter/1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - dev: true - /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - /concat-stream/1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.7 - typedarray: 0.0.6 dev: true - /console-browserify/1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true - /constants-browserify/1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - dev: true - - /convert-source-map/1.8.0: - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} - dependencies: - safe-buffer: 5.1.2 - dev: true - - /copy-concurrently/1.0.5: - resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} - dependencies: - aproba: 1.2.0 - fs-write-stream-atomic: 1.0.10 - iferr: 0.1.5 - mkdirp: 0.5.6 - rimraf: 2.7.1 - run-queue: 1.0.3 - dev: true - - /copy-descriptor/0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} + /convert-source-map/2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true /core-util-is/1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - - /create-ecdh/4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} - dependencies: - bn.js: 4.12.0 - elliptic: 6.5.4 - dev: true - - /create-hash/1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - dependencies: - cipher-base: 1.0.4 - inherits: 2.0.4 - md5.js: 1.3.5 - ripemd160: 2.0.2 - sha.js: 2.4.11 - dev: true - - /create-hmac/1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - dependencies: - cipher-base: 1.0.4 - create-hash: 1.2.0 - inherits: 2.0.4 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 dev: true /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} @@ -2748,35 +2841,17 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /crypto-browserify/3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} - dependencies: - browserify-cipher: 1.0.1 - browserify-sign: 4.2.1 - create-ecdh: 4.0.4 - create-hash: 1.2.0 - create-hmac: 1.1.7 - diffie-hellman: 5.0.3 - inherits: 2.0.4 - pbkdf2: 3.1.2 - public-encrypt: 4.0.3 - randombytes: 2.1.0 - randomfill: 1.0.4 - dev: true - - /cyclist/1.0.1: - resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} - dev: true - /dashdash/1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} dependencies: assert-plus: 1.0.0 + dev: true - /data-uri-to-buffer/4.0.0: - resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} + /data-uri-to-buffer/4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} + dev: true /datastore-core/7.0.3: resolution: {integrity: sha512-DmPsUux63daOfCszxLkcp6LjdJ0k/BQNhIMtoAi5mbraYQnEQkFtKORmTu6XmDX6ujbtaBkeuJAiCBNI7MZklw==} @@ -2792,21 +2867,31 @@ packages: it-pipe: 1.1.0 it-pushable: 1.4.2 it-take: 1.0.2 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 transitivePeerDependencies: - supports-color - - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 dev: true + /datastore-core/8.0.4: + resolution: {integrity: sha512-oBA6a024NFXJOTu+w9nLAimfy4wCYUhdE/5XQGtdKt1BmCVtPYW10GORvVT3pdZBcse6k/mVcBl+hjkXIlm65A==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@libp2p/logger': 2.0.5 + err-code: 3.0.1 + interface-datastore: 7.0.4 + it-all: 2.0.0 + it-drain: 2.0.0 + it-filter: 2.0.0 + it-map: 2.0.0 + it-merge: 2.0.0 + it-pipe: 2.0.5 + it-pushable: 3.1.2 + it-take: 2.0.0 + uint8arrays: 4.0.3 + transitivePeerDependencies: + - supports-color + dev: false + /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -2818,17 +2903,12 @@ packages: dependencies: ms: 2.1.2 - /decode-uri-component/0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} - engines: {node: '>=0.10'} - dev: true - /dedent/0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true - /deepmerge/4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + /deepmerge/4.3.0: + resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} engines: {node: '>=0.10.0'} dev: true @@ -2838,37 +2918,14 @@ packages: dependencies: execa: 5.1.1 - /define-property/0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.6 - dev: true - - /define-property/1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - dev: true - - /define-property/2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 - dev: true + /default-import/1.1.5: + resolution: {integrity: sha512-aaJ6uzZlmaEcN1U8yvtiyV7MG3/zZQf1XtGSW5dTfAVvfk0VZuriJelXxVL9a0ni42vMkhjWcztFfpIhwFcfOQ==} + engines: {node: '>=14'} + dev: false /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - - /des.js/1.0.1: - resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 dev: true /detect-newline/3.1.0: @@ -2886,56 +2943,55 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true + /diff-sequences/29.3.1: + resolution: {integrity: sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - - /diffie-hellman/5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} - dependencies: - bn.js: 4.12.0 - miller-rabin: 4.0.1 - randombytes: 2.1.0 dev: true - /dns-over-http-resolver/1.2.3_node-fetch@3.2.10: + /dns-over-http-resolver/1.2.3_node-fetch@3.3.0: resolution: {integrity: sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==} dependencies: debug: 4.3.4 - native-fetch: 3.0.0_node-fetch@3.2.10 + native-fetch: 3.0.0_node-fetch@3.3.0 receptacle: 1.3.2 transitivePeerDependencies: - node-fetch - supports-color - - /domain-browser/1.2.0: - resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} - engines: {node: '>=0.4', npm: '>=1.2'} dev: true - /duplexify/3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + /dns-over-http-resolver/2.1.1: + resolution: {integrity: sha512-Lm/eXB7yAQLJ5WxlBGwYfBY7utduXPZykcSmcG6K7ozM0wrZFvxZavhT6PqI0kd/5CUTfev/RrEFQqyU4CGPew==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 2.3.7 - stream-shift: 1.0.1 - dev: true + debug: 4.3.4 + native-fetch: 4.0.2_undici@5.16.0 + receptacle: 1.3.2 + undici: 5.16.0 + transitivePeerDependencies: + - supports-color + dev: false /ecc-jsbn/0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 + dev: true - /electron-fetch/1.7.4: - resolution: {integrity: sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw==} + /electron-fetch/1.9.1: + resolution: {integrity: sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==} engines: {node: '>=6'} dependencies: encoding: 0.1.13 + dev: true - /electron-to-chromium/1.4.284: - resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} + /electron-to-chromium/1.4.285: + resolution: {integrity: sha512-47o4PPgxfU1KMNejz+Dgaodf7YTcg48uOfV1oM6cs3adrl2+7R+dHkt3Jpxqo0LRCbGJEzTKMUt0RdvByb/leg==} dev: true /elliptic/6.5.4: @@ -2948,77 +3004,75 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 + dev: true /emittery/0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} engines: {node: '>=12'} dev: true + /emittery/0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emojis-list/3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - dev: true - /encoding/0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} dependencies: iconv-lite: 0.6.3 + dev: true /end-of-stream/1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 - /enhanced-resolve/4.5.0: - resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} - engines: {node: '>=6.9.0'} - dependencies: - graceful-fs: 4.2.10 - memory-fs: 0.5.0 - tapable: 1.1.3 - dev: true - - /enhanced-resolve/5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 - dev: true - - /envinfo/7.8.1: - resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} - engines: {node: '>=4'} - hasBin: true - dev: true - /err-code/3.0.1: resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} - /errno/0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} - hasBin: true - dependencies: - prr: 1.0.1 - dev: true - /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /es-module-lexer/0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true - /es6-promisify/7.0.0: resolution: {integrity: sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==} engines: {node: '>=6'} + dev: true + + /esbuild/0.16.7: + resolution: {integrity: sha512-P6OBFYFSQOGzfApqCeYKqfKRRbCIRsdppTXFo4aAvtiW3o8TTyiIplBvHJI171saPAiy3WlawJHCveJVIOIx1A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.16.7 + '@esbuild/android-arm64': 0.16.7 + '@esbuild/android-x64': 0.16.7 + '@esbuild/darwin-arm64': 0.16.7 + '@esbuild/darwin-x64': 0.16.7 + '@esbuild/freebsd-arm64': 0.16.7 + '@esbuild/freebsd-x64': 0.16.7 + '@esbuild/linux-arm': 0.16.7 + '@esbuild/linux-arm64': 0.16.7 + '@esbuild/linux-ia32': 0.16.7 + '@esbuild/linux-loong64': 0.16.7 + '@esbuild/linux-mips64el': 0.16.7 + '@esbuild/linux-ppc64': 0.16.7 + '@esbuild/linux-riscv64': 0.16.7 + '@esbuild/linux-s390x': 0.16.7 + '@esbuild/linux-x64': 0.16.7 + '@esbuild/netbsd-x64': 0.16.7 + '@esbuild/openbsd-x64': 0.16.7 + '@esbuild/sunos-x64': 0.16.7 + '@esbuild/win32-arm64': 0.16.7 + '@esbuild/win32-ia32': 0.16.7 + '@esbuild/win32-x64': 0.16.7 /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -3035,22 +3089,6 @@ packages: engines: {node: '>=8'} dev: true - /eslint-scope/4.0.3: - resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==} - engines: {node: '>=4.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /esm/3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} @@ -3062,21 +3100,8 @@ packages: hasBin: true dev: true - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse/5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true /event-iterator/2.0.0: @@ -3094,13 +3119,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - /evp_bytestokey/1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - dependencies: - md5.js: 1.3.5 - safe-buffer: 5.2.1 - dev: true - /execa/5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -3120,21 +3138,6 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expand-brackets/2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /expect/28.1.3: resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -3146,46 +3149,29 @@ packages: jest-util: 28.1.3 dev: true - /extend-shallow/2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} + /expect/29.4.1: + resolution: {integrity: sha512-OKrGESHOaMxK3b6zxIq9SOW8kEXztKff/Dvg88j4xIJxur1hspEbedVkR3GpHe5LO+WB2Qw7OWN0RMTdp6as5A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - is-extendable: 0.1.1 - dev: true - - /extend-shallow/3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 + '@jest/expect-utils': 29.4.1 + jest-get-type: 29.2.0 + jest-matcher-utils: 29.4.1 + jest-message-util: 29.4.1 + jest-util: 29.4.1 dev: true /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - - /extglob/2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color dev: true /extsprintf/1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} + dev: true /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true /fast-extend/1.0.2: resolution: {integrity: sha512-XXA9RmlPatkFKUzqVZAFth18R4Wo+Xug/S+C7YlYA3xrXwfPlW3dqNwOb4hvQo7wZJ2cNDYhrYuPzVOfHy5/uQ==} @@ -3195,14 +3181,10 @@ packages: /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - /fastest-levenshtein/1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} dev: true - /fb-watchman/2.0.1: - resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} + /fb-watchman/2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 dev: true @@ -3213,23 +3195,10 @@ packages: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 - - /figgy-pudding/3.5.2: - resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} dev: true /file-uri-to-path/1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - requiresBuild: true - - /fill-range/4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 dev: true /fill-range/7.0.1: @@ -3239,22 +3208,6 @@ packages: to-regex-range: 5.0.1 dev: true - /find-cache-dir/2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} - dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 - dev: true - - /find-up/3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: true - /find-up/4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -3263,20 +3216,9 @@ packages: path-exists: 4.0.0 dev: true - /flush-write-stream/1.1.1: - resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.7 - dev: true - - /for-in/1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: true - /forever-agent/0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true /form-data/2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} @@ -3285,6 +3227,7 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: true /form-data/4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} @@ -3300,20 +3243,12 @@ packages: engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 - - /fragment-cache/0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 dev: true - /from2/2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.7 - dev: true + /freeport-promise/2.0.0: + resolution: {integrity: sha512-dwWpT1DdQcwrhmRwnDnPM/ZFny+FtzU+k50qF2eid3KxaQDsMiBrwo1i0G3qSugkN5db6Cb0zgfc68QeTOpEFg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /fs-constants/1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -3321,31 +3256,10 @@ packages: /fs-monkey/0.3.3: resolution: {integrity: sha512-FNUvuTAJ3CqCQb5ELn+qCbGR/Zllhf2HtwsdAtBi59s1WeCjKMT81fHcSu7dwIskqGVK+MmOrb7VOBlq3/SItw==} - /fs-write-stream-atomic/1.0.10: - resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==} - dependencies: - graceful-fs: 4.2.10 - iferr: 0.1.5 - imurmurhash: 0.1.4 - readable-stream: 2.3.7 - dev: true - /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents/1.2.13: - resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} - engines: {node: '>= 4.0'} - os: [darwin] - deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. - requiresBuild: true - dependencies: - bindings: 1.5.0 - nan: 2.16.0 - dev: true - optional: true - /fsevents/2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -3370,6 +3284,11 @@ packages: /get-iterator/1.0.2: resolution: {integrity: sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==} + dev: true + + /get-iterator/2.0.0: + resolution: {integrity: sha512-BDJawD5PU2gZv6Vlp8O28H4GnZcsr3h9gZUvnAP5xXP3WOy/QAoOsyMepSkw21jur+4t5Vppde72ChjhTIzxzg==} + dev: false /get-package-type/0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} @@ -3380,34 +3299,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - /get-value/2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - dev: true - /getpass/0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} dependencies: assert-plus: 1.0.0 - - /glob-parent/3.1.0: - resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} - dependencies: - is-glob: 3.1.0 - path-dirname: 1.0.2 - dev: true - optional: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - optional: true - - /glob-to-regexp/0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true /glob/7.2.3: @@ -3426,6 +3321,10 @@ packages: engines: {node: '>=4'} dev: true + /globrex/0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true + /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true @@ -3433,6 +3332,7 @@ packages: /har-schema/2.0.0: resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} engines: {node: '>=4'} + dev: true /har-validator/5.1.5: resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} @@ -3441,6 +3341,7 @@ packages: dependencies: ajv: 6.12.6 har-schema: 2.0.0 + dev: true /has-flag/3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -3452,37 +3353,6 @@ packages: engines: {node: '>=8'} dev: true - /has-value/0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value/1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values/0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: true - - /has-values/1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -3490,20 +3360,12 @@ packages: function-bind: 1.1.1 dev: true - /hash-base/3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.0 - safe-buffer: 5.2.1 - dev: true - /hash.js/1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 + dev: true /hashlru/2.3.0: resolution: {integrity: sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==} @@ -3514,6 +3376,7 @@ packages: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 + dev: true /html-escaper/2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -3526,9 +3389,6 @@ packages: assert-plus: 1.0.0 jsprim: 1.4.2 sshpk: 1.17.0 - - /https-browserify/1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} dev: true /human-signals/2.1.0: @@ -3540,14 +3400,11 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: true /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /iferr/0.1.5: - resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==} - dev: true - /import-local/3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -3565,9 +3422,6 @@ packages: /indent-string/4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - - /infer-owner/1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: true /inflight/1.0.6: @@ -3577,14 +3431,6 @@ packages: wrappy: 1.0.2 dev: true - /inherits/2.0.1: - resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} - dev: true - - /inherits/2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - dev: true - /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -3608,7 +3454,17 @@ packages: dependencies: interface-store: 2.0.2 nanoid: 3.3.4 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 + dev: true + + /interface-datastore/7.0.4: + resolution: {integrity: sha512-Q8LZS/jfFFHz6XyZazLTAc078SSCoa27ZPBOfobWdpDiFO7FqPA2yskitUJIhaCgxNK8C+/lMBUTBNfVIDvLiw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + interface-store: 3.0.4 + nanoid: 4.0.0 + uint8arrays: 4.0.3 + dev: false /interface-ipld-format/1.0.1: resolution: {integrity: sha512-WV/ar+KQJVoQpqRDYdo7YPGYIUHJxCuOEhdvsRpzLqoOIVCqPKdMMYmsLL1nCRsF3yYNio+PAJbCKiv6drrEAg==} @@ -3625,16 +3481,12 @@ packages: /interface-store/2.0.2: resolution: {integrity: sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==} - - /interpret/2.2.0: - resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} - engines: {node: '>= 0.10'} dev: true - /interpret/3.1.1: - resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} - engines: {node: '>=10.13.0'} - dev: true + /interface-store/3.0.4: + resolution: {integrity: sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /ip-address/8.1.0: resolution: {integrity: sha512-Wz91gZKpNKoXtqvY8ScarKYwhXoK4r/b5QuT+uywe/azv0/nUCo7Bh0IRRI7F9DHR06kJNWtzMGLIbXavngbKA==} @@ -3642,29 +3494,36 @@ packages: dependencies: jsbn: 1.1.0 sprintf-js: 1.1.2 + dev: true /ip-regex/4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} + dev: true + + /ip-regex/5.0.0: + resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false /ipaddr.js/2.0.1: resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} - /ipfs-core-types/0.5.2_node-fetch@3.2.10: + /ipfs-core-types/0.5.2_node-fetch@3.3.0: resolution: {integrity: sha512-DOQeL+GFGYMTlnbdtMeBzvfVnyAalSgCfPr8XUCI+FVBZZWwzkt5jZZzGDmF87HVRrMR3FuVyBKZj772mcXKyQ==} dependencies: cids: 1.1.9 interface-datastore: 4.0.2 ipld-block: 0.11.1 - multiaddr: 9.0.2_node-fetch@3.2.10 + multiaddr: 9.0.2_node-fetch@3.3.0 multibase: 4.0.6 transitivePeerDependencies: - node-fetch - supports-color dev: true - /ipfs-core-utils/0.8.3_node-fetch@3.2.10: + /ipfs-core-utils/0.8.3_node-fetch@3.3.0: resolution: {integrity: sha512-PY7PkCgCtVYtNOe1C3ew1+5D9NqXqizb886R/lyGWe+KsmWtBQkQIk0ZIDwKyHGvG2KA2QQeIDzdOmzBQBJtHQ==} dependencies: any-signal: 2.1.2 @@ -3672,14 +3531,14 @@ packages: browser-readablestream-to-it: 1.0.3 cids: 1.1.9 err-code: 3.0.1 - ipfs-core-types: 0.5.2_node-fetch@3.2.10 + ipfs-core-types: 0.5.2_node-fetch@3.3.0 ipfs-unixfs: 4.0.3 ipfs-utils: 8.1.6 it-all: 1.0.6 it-map: 1.0.6 it-peekable: 1.0.3 - multiaddr: 9.0.2_node-fetch@3.2.10 - multiaddr-to-uri: 7.0.0_node-fetch@3.2.10 + multiaddr: 9.0.2_node-fetch@3.3.0 + multiaddr-to-uri: 7.0.0_node-fetch@3.3.0 parse-duration: 1.0.2 timeout-abort-controller: 1.1.1 uint8arrays: 2.1.10 @@ -3688,7 +3547,7 @@ packages: - supports-color dev: true - /ipfs-http-client/50.1.2_node-fetch@3.2.10: + /ipfs-http-client/50.1.2_node-fetch@3.3.0: resolution: {integrity: sha512-ZbJlED4wqwFXQFVB9FQDs20ygdq7O/zSq4AvO9KRAmkqUj2TsCWCteUz2fBMnGWLh2tExxeSl/rQbHbJptb8JQ==} engines: {node: '>=14.0.0', npm: '>=3.0.0'} dependencies: @@ -3697,8 +3556,8 @@ packages: cids: 1.1.9 debug: 4.3.4 form-data: 4.0.0 - ipfs-core-types: 0.5.2_node-fetch@3.2.10 - ipfs-core-utils: 0.8.3_node-fetch@3.2.10 + ipfs-core-types: 0.5.2_node-fetch@3.3.0 + ipfs-core-utils: 0.8.3_node-fetch@3.3.0 ipfs-unixfs: 4.0.3 ipfs-utils: 8.1.6 ipld-block: 0.11.1 @@ -3710,7 +3569,7 @@ packages: it-tar: 3.0.0 it-to-stream: 1.0.0 merge-options: 3.0.4 - multiaddr: 9.0.2_node-fetch@3.2.10 + multiaddr: 9.0.2_node-fetch@3.3.0 multibase: 4.0.6 multicodec: 3.2.1 multihashes: 4.0.3 @@ -3738,7 +3597,7 @@ packages: abort-controller: 3.0.0 any-signal: 2.1.2 buffer: 6.0.3 - electron-fetch: 1.7.4 + electron-fetch: 1.9.1 err-code: 3.0.1 is-electron: 2.2.1 iso-url: 1.2.1 @@ -3753,23 +3612,29 @@ packages: stream-to-it: 0.2.4 dev: true - /ipfs-utils/9.0.7: - resolution: {integrity: sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==} + /ipfs-utils/9.0.14: + resolution: {integrity: sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: any-signal: 3.0.1 + browser-readablestream-to-it: 1.0.3 buffer: 6.0.3 - electron-fetch: 1.7.4 + electron-fetch: 1.9.1 err-code: 3.0.1 is-electron: 2.2.1 iso-url: 1.2.1 + it-all: 1.0.6 it-glob: 1.0.2 it-to-stream: 1.0.0 merge-options: 3.0.4 nanoid: 3.3.4 - native-fetch: 3.0.0_hmwa7nplpltavckpkeobtw6pv4 - node-fetch: /@achingbrain/node-fetch/2.6.7 - react-native-fetch-api: 2.0.0 + native-fetch: 3.0.0_node-fetch@2.6.9 + node-fetch: 2.6.9 + react-native-fetch-api: 3.0.0 stream-to-it: 0.2.4 + transitivePeerDependencies: + - encoding + dev: true /ipld-block/0.11.1: resolution: {integrity: sha512-sDqqLqD5qh4QzGq6ssxLHUCnH4emCf/8F8IwjQM2cjEEIEHMUj57XhNYgmGbemdYPznUhffxFGEHsruh5+HQRw==} @@ -3816,111 +3681,28 @@ packages: multihashing-async: 2.1.4 dev: true - /is-accessor-descriptor/0.1.6: - resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-accessor-descriptor/1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-binary-path/1.0.1: - resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} - engines: {node: '>=0.10.0'} - dependencies: - binary-extensions: 1.13.1 - dev: true - optional: true - - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - optional: true - - /is-buffer/1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true - /is-buffer/2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} + dev: true /is-circular/1.0.2: resolution: {integrity: sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==} dev: true - /is-core-module/2.10.0: - resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 dev: true - /is-data-descriptor/0.1.4: - resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-data-descriptor/1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - - /is-descriptor/0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true - - /is-descriptor/1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true - /is-electron/2.2.1: resolution: {integrity: sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==} - /is-extendable/0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: true - - /is-extendable/1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - optional: true - /is-fullwidth-code-point/3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -3931,38 +3713,21 @@ packages: engines: {node: '>=6'} dev: true - /is-glob/3.1.0: - resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - optional: true - - /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - optional: true - /is-ip/3.1.0: resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} engines: {node: '>=8'} dependencies: ip-regex: 4.3.0 + dev: true /is-loopback-addr/1.0.1: resolution: {integrity: sha512-DhWU/kqY7X2F6KrrVTu7mHlbd2Pbo4D1YkAzasBMjQs6lJAoefxaA6m6CpSX0K6pjt9D0b9PNFI5zduy/vzOYw==} - - /is-number/3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 dev: true + /is-loopback-addr/2.0.1: + resolution: {integrity: sha512-SEsepLbdWFb13B6U0tt6dYcUM0iK/U7XOC43N70Z4Qb88WpNtp+ospyNI9ddpqncs7Z7brAEsVBTQpaqSNntIw==} + dev: false + /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -3976,32 +3741,12 @@ packages: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} - /is-plain-object/2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} /is-typedarray/1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - /is-windows/1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true - - /is-wsl/1.1.0: - resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} - engines: {node: '>=4'} - dev: true - - /isarray/1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true /isexe/2.0.0: @@ -4019,37 +3764,27 @@ packages: dependencies: events: 3.3.0 readable-stream: 3.6.0 + dev: true /iso-url/1.2.1: resolution: {integrity: sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==} engines: {node: '>=12'} - /isobject/2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - - /isobject/3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - dev: true - /isstream/0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true /istanbul-lib-coverage/3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} dev: true - /istanbul-lib-instrument/5.2.0: - resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==} + /istanbul-lib-instrument/5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.18.13 - '@babel/parser': 7.20.7 + '@babel/core': 7.20.12 + '@babel/parser': 7.20.15 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -4087,30 +3822,69 @@ packages: /it-all/1.0.6: resolution: {integrity: sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==} + dev: true + + /it-all/2.0.0: + resolution: {integrity: sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false + + /it-batched-bytes/1.0.0: + resolution: {integrity: sha512-OfztV9UHQmoZ6u5F4y+YOI1Z+5JAhkv3Gexc1a0B7ikcVXc3PFSKlEnHv79u+Yp/h23o3tsF9hHAhuqgHCYT2Q==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-stream-types: 1.0.5 + p-defer: 4.0.0 + uint8arraylist: 2.4.3 + dev: false /it-buffer/0.1.3: resolution: {integrity: sha512-9a2/9SYVwG7bcn3tpRDR4bXbtuMLXnDK48KVC+GXiQg97ZOOdWz2nIITBsOQ19b+gj01Rw8RNwtiLDLI8P8oiQ==} dependencies: - bl: 5.0.0 + bl: 5.1.0 buffer: 6.0.3 + dev: true /it-concat/2.0.0: resolution: {integrity: sha512-jchrEB3fHlUENWkVJRmbFJ1A7gcjJDmwiolQsHhVC14DpUIbX8fgr3SOC7XNE5OoUUQNL6/RaMCPChkPemyQUw==} dependencies: - bl: 5.0.0 + bl: 5.1.0 dev: true /it-drain/1.0.5: resolution: {integrity: sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==} + dev: true + + /it-drain/2.0.0: + resolution: {integrity: sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /it-filter/1.0.3: resolution: {integrity: sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==} + dev: true + + /it-filter/2.0.0: + resolution: {integrity: sha512-E68+zzoNNI7MxdH1T4lUTgwpCyEnymlH349Qg2mcvsqLmYRkaZLM4NfZZ0hUuH7/5DkWXubQSDOYH396va8mpg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /it-first/1.0.7: resolution: {integrity: sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==} + /it-first/2.0.0: + resolution: {integrity: sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false + /it-foreach/0.1.1: resolution: {integrity: sha512-ZLxL651N5w5SL/EIIcrXELgYrrkuEKj/TErG93C4lr6lNZziKsf338ljSG85PjQfu7Frg/1wESl5pLrPSFXI9g==} + dev: true + + /it-foreach/1.0.0: + resolution: {integrity: sha512-2j5HK1P6aMwEvgL6K5nzUwOk+81B/mjt05PxiSspFEKwJnqy1LfJYlLLS6llBoM+NdoUxf6EsBCHidFGmsXvhw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /it-glob/0.0.14: resolution: {integrity: sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw==} @@ -4124,6 +3898,7 @@ packages: dependencies: '@types/minimatch': 3.0.5 minimatch: 3.1.2 + dev: true /it-handshake/2.0.0: resolution: {integrity: sha512-K4q+mz8aLlCK3vTjtgNdHC9c/JbuOATsfogarjMsLcBZC5vYfKbX3Gq3AWcCdjIsIrPqzTlhPKSxl64LJkrt2w==} @@ -4131,6 +3906,18 @@ packages: it-pushable: 1.4.2 it-reader: 3.0.0 p-defer: 3.0.0 + dev: true + + /it-handshake/4.1.2: + resolution: {integrity: sha512-Q/EvrB4KWIX5+/wO7edBK3l79Vh28+iWPGZvZSSqwAtOJnHZIvywC+JUbiXPRJVXfICBJRqFETtIJcvrqWL2Zw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-pushable: 3.1.2 + it-reader: 6.0.2 + it-stream-types: 1.0.5 + p-defer: 4.0.0 + uint8arraylist: 2.4.3 + dev: false /it-last/1.0.6: resolution: {integrity: sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==} @@ -4139,22 +3926,57 @@ packages: /it-length-prefixed/5.0.3: resolution: {integrity: sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==} dependencies: - bl: 5.0.0 + bl: 5.1.0 buffer: 6.0.3 varint: 6.0.0 + dev: true + + /it-length-prefixed/8.0.4: + resolution: {integrity: sha512-5OJ1lxH+IaqJB7lxe8IAIwt9UfSfsmjKJoAI/RO9djYoBDt1Jfy9PeVHUmOfqhqyu/4kJvWBFAJUaG1HhLQ12A==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + err-code: 3.0.1 + it-stream-types: 1.0.5 + uint8-varint: 1.0.4 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + dev: false /it-map/1.0.6: resolution: {integrity: sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==} + dev: true + + /it-map/2.0.0: + resolution: {integrity: sha512-mLgtk/NZaN7NZ06iLrMXCA6jjhtZO0vZT5Ocsp31H+nsGI18RSPVmUbFyA1sWx7q+g92J22Sixya7T2QSSAwfA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /it-merge/1.0.4: resolution: {integrity: sha512-DcL6GksTD2HQ7+5/q3JznXaLNfwjyG3/bObaF98da+oHfUiPmdo64oJlT9J8R8G5sJRU7thwaY5zxoAKCn7FJw==} dependencies: it-pushable: 1.4.2 + dev: true + + /it-merge/2.0.0: + resolution: {integrity: sha512-mH4bo/ZrMoU+Wlu7ZuYPNNh9oWZ/GvYbeXZ0zll97+Rp6H4jFu98iu6v9qqXDz//RUjdO9zGh8awzMfOElsjpA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-pushable: 3.1.2 + dev: false /it-pair/1.0.0: resolution: {integrity: sha512-9raOiDu5OAuDOahtMtapKQDrQTxBfzlzrNcB6o7JARHkt+7Bb1dMkW/TpYdAjBJE77KH3e2zGzwpGUP9tXbLww==} dependencies: get-iterator: 1.0.2 + dev: true + + /it-pair/2.0.3: + resolution: {integrity: sha512-heCgsbYscFCQY5YvltlGT9tjgLGYo7NxPEoJyl55X4BD2KOXpTyuwOhPLWhi9Io0y6+4ZUXCkyaQXIB6Y8xhRw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-stream-types: 1.0.5 + p-defer: 4.0.0 + dev: false /it-pb-rpc/0.1.13: resolution: {integrity: sha512-aZ4FNJsDgNepVVTmYXgXbQabIiOQyqYWUhdfovaHDcPSM5KjegwJihJEWMJjMyj+oLSKcZl0vmHgHxXWJ9/ufw==} @@ -4162,6 +3984,17 @@ packages: is-buffer: 2.0.5 it-handshake: 2.0.0 it-length-prefixed: 5.0.3 + dev: true + + /it-pb-stream/2.0.3: + resolution: {integrity: sha512-nuJzftDqk52gZmVD6T0sIKggXMhBkLSAFCD1OecxqGTVwk2wuDYY0ZHpcXZJuHty3kIuLY4xlWZrnDH9efV4YA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-handshake: 4.1.2 + it-length-prefixed: 8.0.4 + it-stream-types: 1.0.5 + uint8arraylist: 2.4.3 + dev: false /it-peekable/1.0.3: resolution: {integrity: sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==} @@ -4169,29 +4002,73 @@ packages: /it-pipe/1.1.0: resolution: {integrity: sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==} + dev: true + + /it-pipe/2.0.5: + resolution: {integrity: sha512-y85nW1N6zoiTnkidr2EAyC+ZVzc7Mwt2p+xt2a2ooG1ThFakSpNw1Kxm+7F13Aivru96brJhjQVRQNU+w0yozw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-merge: 2.0.0 + it-pushable: 3.1.2 + it-stream-types: 1.0.5 + dev: false /it-pushable/1.4.2: resolution: {integrity: sha512-vVPu0CGRsTI8eCfhMknA7KIBqqGFolbRx+1mbQ6XuZ7YCz995Qj7L4XUviwClFunisDq96FdxzF5FnAbw15afg==} dependencies: fast-fifo: 1.1.0 + dev: true + + /it-pushable/3.1.2: + resolution: {integrity: sha512-zU9FbeoGT0f+yobwm8agol2OTMXbq4ZSWLEi7hug6TEZx4qVhGhGyp31cayH04aBYsIoO2Nr5kgMjH/oWj2BJQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /it-reader/3.0.0: resolution: {integrity: sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ==} dependencies: - bl: 5.0.0 + bl: 5.1.0 + dev: true + + /it-reader/6.0.2: + resolution: {integrity: sha512-rQdVyml+r/2v8PQsPfJgf626tAkbA7NW1EF6zuucT2Ryy1U6YJtSuCJL8fKuDOyiR/mLzbfP0QQJlSeeoLph2A==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-stream-types: 1.0.5 + uint8arraylist: 2.4.3 + dev: false /it-sort/1.0.1: resolution: {integrity: sha512-c+C48cP7XMMebB9irLrJs2EmpLILId8NYSojqAqN8etE8ienx0azBgaKvZHYH1DkerqIul0Fl2FqISu2BZgTEQ==} dependencies: it-all: 1.0.6 + dev: true + + /it-sort/2.0.0: + resolution: {integrity: sha512-yeAE97b5PEjCrWFUiNyR90eJdGslj8FB3cjT84rsc+mzx9lxPyR2zJkYB9ZOJoWE5MMebxqcQCLRT3OSlzo7Zg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + it-all: 2.0.0 + dev: false + + /it-stream-types/1.0.5: + resolution: {integrity: sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /it-take/1.0.2: resolution: {integrity: sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==} + dev: true + + /it-take/2.0.0: + resolution: {integrity: sha512-lN3diSTomOvYBk2K0LHAgrQ52DlQfvq8tH/+HLAFpX8Q3JwBkr/BPJEi3Z3Lf8jMmN1KOCBXvt5sXa3eW9vUmg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /it-tar/3.0.0: resolution: {integrity: sha512-VhD1Hnx4IXDcQgYJnJgltkn+w5F8kiJaB46lqovh+YWfty2JGW7i40QQjWbSvcg1QfaU8is8AVX8xwx/Db9oOg==} dependencies: - bl: 5.0.0 + bl: 5.1.0 buffer: 6.0.3 iso-constants: 0.1.2 it-concat: 2.0.0 @@ -4208,6 +4085,7 @@ packages: p-defer: 3.0.0 p-fifo: 1.0.0 readable-stream: 3.6.0 + dev: true /it-ws/4.0.0: resolution: {integrity: sha512-XmTzpMkevc6rUboy73r0CCNhciMmL/Yxir9O6FujRwdrjysztqLBQ1Xkr4CpY2m7BVSCObKotaCWJeZ29lOXRA==} @@ -4219,6 +4097,21 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate + dev: true + + /it-ws/5.0.6: + resolution: {integrity: sha512-TEEJQaGtkxgP/nGVq8dq48nPT85Afu8kwwvtDFLj4rQLWRhZcb26RWdXLdn9qhXkWPiWbK5H7JWBW1Bebj/SuQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + event-iterator: 2.0.0 + iso-url: 1.2.1 + it-stream-types: 1.0.5 + uint8arrays: 4.0.3 + ws: 8.12.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false /jest-changed-files/28.1.3: resolution: {integrity: sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==} @@ -4228,6 +4121,14 @@ packages: p-limit: 3.1.0 dev: true + /jest-changed-files/29.4.0: + resolution: {integrity: sha512-rnI1oPxgFghoz32Y8eZsGJMjW54UlqT17ycQeCEktcxxwqqKdlj9afl8LNeO0Pbu+h2JQHThQP0BzS67eTRx4w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + p-limit: 3.1.0 + dev: true + /jest-circus/28.1.3: resolution: {integrity: sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4236,7 +4137,7 @@ packages: '@jest/expect': 28.1.3 '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -4250,37 +4151,36 @@ packages: p-limit: 3.1.0 pretty-format: 28.1.3 slash: 3.0.0 - stack-utils: 2.0.5 + stack-utils: 2.0.6 transitivePeerDependencies: - supports-color dev: true - /jest-cli/28.1.3_4echt27za7uk6ezjshmbxcfmgy: - resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + /jest-circus/29.4.1: + resolution: {integrity: sha512-v02NuL5crMNY4CGPHBEflLzl4v91NFb85a+dH9a1pUNx6Xjggrd8l9pPy4LZ1VYNRXlb+f65+7O/MSIbLir6pA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/core': 28.1.3_ts-node@10.9.1 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.4.1 + '@jest/expect': 29.4.1 + '@jest/test-result': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.10 - import-local: 3.1.0 - jest-config: 28.1.3_4echt27za7uk6ezjshmbxcfmgy - jest-util: 28.1.3 - jest-validate: 28.1.3 - prompts: 2.4.2 - yargs: 17.5.1 + co: 4.6.0 + dedent: 0.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.4.1 + jest-matcher-utils: 29.4.1 + jest-message-util: 29.4.1 + jest-runtime: 29.4.1 + jest-snapshot: 29.4.1 + jest-util: 29.4.1 + p-limit: 3.1.0 + pretty-format: 29.4.1 + slash: 3.0.0 + stack-utils: 2.0.6 transitivePeerDependencies: - - '@types/node' - supports-color - - ts-node dev: true /jest-cli/28.1.3_@types+node@16.11.59: @@ -4304,16 +4204,16 @@ packages: jest-util: 28.1.3 jest-validate: 28.1.3 prompts: 2.4.2 - yargs: 17.5.1 + yargs: 17.6.2 transitivePeerDependencies: - '@types/node' - supports-color - ts-node dev: true - /jest-cli/28.1.3_gsb7asu77en4txj3es3i65pxci: - resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-cli/29.4.1_@types+node@16.11.59: + resolution: {integrity: sha512-jz7GDIhtxQ37M+9dlbv5K+/FVcIo1O/b1sX3cJgzlQUf/3VG25nvuWzlDC4F1FLLzUThJeWLu8I7JF9eWpuURQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -4321,64 +4221,24 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3_ts-node@10.9.1 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/core': 29.4.1 + '@jest/test-result': 29.4.1 + '@jest/types': 29.4.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 28.1.3_gsb7asu77en4txj3es3i65pxci - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-config: 29.4.1_@types+node@16.11.59 + jest-util: 29.4.1 + jest-validate: 29.4.1 prompts: 2.4.2 - yargs: 17.5.1 + yargs: 17.6.2 transitivePeerDependencies: - '@types/node' - supports-color - ts-node dev: true - /jest-config/28.1.3_4echt27za7uk6ezjshmbxcfmgy: - resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.18.13 - '@jest/test-sequencer': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 16.11.59 - babel-jest: 28.1.3_@babel+core@7.18.13 - chalk: 4.1.2 - ci-info: 3.3.2 - deepmerge: 4.2.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 - jest-get-type: 28.0.2 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-runner: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 28.1.3 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.1_f4s53rsdbgkmxc2oaa23drhnsy - transitivePeerDependencies: - - supports-color - dev: true - /jest-config/28.1.3_@types+node@16.11.59: resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4391,14 +4251,14 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@jest/test-sequencer': 28.1.3 '@jest/types': 28.1.3 '@types/node': 16.11.59 - babel-jest: 28.1.3_@babel+core@7.18.13 + babel-jest: 28.1.3_@babel+core@7.20.12 chalk: 4.1.2 - ci-info: 3.3.2 - deepmerge: 4.2.2 + ci-info: 3.7.1 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 jest-circus: 28.1.3 @@ -4418,7 +4278,7 @@ packages: - supports-color dev: true - /jest-config/28.1.3_@types+node@18.7.14: + /jest-config/28.1.3_@types+node@18.11.18: resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: @@ -4430,14 +4290,14 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@jest/test-sequencer': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.7.14 - babel-jest: 28.1.3_@babel+core@7.18.13 + '@types/node': 18.11.18 + babel-jest: 28.1.3_@babel+core@7.20.12 chalk: 4.1.2 - ci-info: 3.3.2 - deepmerge: 4.2.2 + ci-info: 3.7.1 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 jest-circus: 28.1.3 @@ -4457,9 +4317,9 @@ packages: - supports-color dev: true - /jest-config/28.1.3_gsb7asu77en4txj3es3i65pxci: - resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-config/29.4.1_@types+node@16.11.59: + resolution: {integrity: sha512-g7p3q4NuXiM4hrS4XFATTkd+2z0Ml2RhFmFPM8c3WyKwVDNszbl4E7cV7WIx1YZeqqCtqbtTtZhGZWJlJqngzg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -4469,30 +4329,68 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.18.13 - '@jest/test-sequencer': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 - babel-jest: 28.1.3_@babel+core@7.18.13 + '@babel/core': 7.20.12 + '@jest/test-sequencer': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 16.11.59 + babel-jest: 29.4.1_@babel+core@7.20.12 chalk: 4.1.2 - ci-info: 3.3.2 - deepmerge: 4.2.2 + ci-info: 3.7.1 + deepmerge: 4.3.0 glob: 7.2.3 graceful-fs: 4.2.10 - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 - jest-get-type: 28.0.2 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-runner: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-circus: 29.4.1 + jest-environment-node: 29.4.1 + jest-get-type: 29.2.0 + jest-regex-util: 29.2.0 + jest-resolve: 29.4.1 + jest-runner: 29.4.1 + jest-util: 29.4.1 + jest-validate: 29.4.1 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 28.1.3 + pretty-format: 29.4.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-config/29.4.1_@types+node@18.11.18: + resolution: {integrity: sha512-g7p3q4NuXiM4hrS4XFATTkd+2z0Ml2RhFmFPM8c3WyKwVDNszbl4E7cV7WIx1YZeqqCtqbtTtZhGZWJlJqngzg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.20.12 + '@jest/test-sequencer': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + babel-jest: 29.4.1_@babel+core@7.20.12 + chalk: 4.1.2 + ci-info: 3.7.1 + deepmerge: 4.3.0 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 29.4.1 + jest-environment-node: 29.4.1 + jest-get-type: 29.2.0 + jest-regex-util: 29.2.0 + jest-resolve: 29.4.1 + jest-runner: 29.4.1 + jest-util: 29.4.1 + jest-validate: 29.4.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.4.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1_apbkdfxvcdmborgupeskcsfbo4 transitivePeerDependencies: - supports-color dev: true @@ -4517,6 +4415,16 @@ packages: pretty-format: 28.1.3 dev: true + /jest-diff/29.4.1: + resolution: {integrity: sha512-uazdl2g331iY56CEyfbNA0Ut7Mn2ulAG5vUaEHXycf1L6IPyuImIxSz4F0VYBKi7LYIuxOwTZzK3wh5jHzASMw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.3.1 + jest-get-type: 29.2.0 + pretty-format: 29.4.1 + dev: true + /jest-docblock/28.1.1: resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4524,6 +4432,13 @@ packages: detect-newline: 3.1.0 dev: true + /jest-docblock/29.2.0: + resolution: {integrity: sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + /jest-each/28.1.3: resolution: {integrity: sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4535,6 +4450,17 @@ packages: pretty-format: 28.1.3 dev: true + /jest-each/29.4.1: + resolution: {integrity: sha512-QlYFiX3llJMWUV0BtWht/esGEz9w+0i7BHwODKCze7YzZzizgExB9MOfiivF/vVT0GSQ8wXLhvHXh3x2fVD4QQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.4.1 + chalk: 4.1.2 + jest-get-type: 29.2.0 + jest-util: 29.4.1 + pretty-format: 29.4.1 + dev: true + /jest-environment-node/28.1.3: resolution: {integrity: sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4542,11 +4468,23 @@ packages: '@jest/environment': 28.1.3 '@jest/fake-timers': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 jest-mock: 28.1.3 jest-util: 28.1.3 dev: true + /jest-environment-node/29.4.1: + resolution: {integrity: sha512-x/H2kdVgxSkxWAIlIh9MfMuBa0hZySmfsC5lCsWmWr6tZySP44ediRKDUiNggX/eHLH7Cd5ZN10Rw+XF5tXsqg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.4.1 + '@jest/fake-timers': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + jest-mock: 29.4.1 + jest-util: 29.4.1 + dev: true + /jest-get-type/27.5.1: resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -4557,15 +4495,20 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true + /jest-get-type/29.2.0: + resolution: {integrity: sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + /jest-haste-map/28.1.3: resolution: {integrity: sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/graceful-fs': 4.1.5 - '@types/node': 18.7.14 - anymatch: 3.1.2 - fb-watchman: 2.0.1 + '@types/graceful-fs': 4.1.6 + '@types/node': 18.11.18 + anymatch: 3.1.3 + fb-watchman: 2.0.2 graceful-fs: 4.2.10 jest-regex-util: 28.0.2 jest-util: 28.1.3 @@ -4576,6 +4519,25 @@ packages: fsevents: 2.3.2 dev: true + /jest-haste-map/29.4.1: + resolution: {integrity: sha512-imTjcgfVVTvg02khXL11NNLTx9ZaofbAWhilrMg/G8dIkp+HYCswhxf0xxJwBkfhWb3e8dwbjuWburvxmcr58w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.4.1 + '@types/graceful-fs': 4.1.6 + '@types/node': 18.11.18 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.10 + jest-regex-util: 29.2.0 + jest-util: 29.4.1 + jest-worker: 29.4.1 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /jest-leak-detector/28.1.3: resolution: {integrity: sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4584,6 +4546,14 @@ packages: pretty-format: 28.1.3 dev: true + /jest-leak-detector/29.4.1: + resolution: {integrity: sha512-akpZv7TPyGMnH2RimOCgy+hPmWZf55EyFUvymQ4LMsQP8xSPlZumCPtXGoDhFNhUE2039RApZkTQDKU79p/FiQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.2.0 + pretty-format: 29.4.1 + dev: true + /jest-matcher-utils/27.5.1: resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -4604,6 +4574,16 @@ packages: pretty-format: 28.1.3 dev: true + /jest-matcher-utils/29.4.1: + resolution: {integrity: sha512-k5h0u8V4nAEy6lSACepxL/rw78FLDkBnXhZVgFneVpnJONhb2DhZj/Gv4eNe+1XqQ5IhgUcqj745UwH0HJmMnA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.4.1 + jest-get-type: 29.2.0 + pretty-format: 29.4.1 + dev: true + /jest-message-util/28.1.3: resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4616,7 +4596,22 @@ packages: micromatch: 4.0.5 pretty-format: 28.1.3 slash: 3.0.0 - stack-utils: 2.0.5 + stack-utils: 2.0.6 + dev: true + + /jest-message-util/29.4.1: + resolution: {integrity: sha512-H4/I0cXUaLeCw6FM+i4AwCnOwHRgitdaUFOdm49022YD5nfyr8C/DrbXOBEyJaj+w/y0gGJ57klssOaUiLLQGQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.18.6 + '@jest/types': 29.4.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.10 + micromatch: 4.0.5 + pretty-format: 29.4.1 + slash: 3.0.0 + stack-utils: 2.0.6 dev: true /jest-mock/28.1.3: @@ -4624,11 +4619,20 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 dev: true - /jest-pnp-resolver/1.2.2_jest-resolve@28.1.3: - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} + /jest-mock/29.4.1: + resolution: {integrity: sha512-MwA4hQ7zBOcgVCVnsM8TzaFLVUD/pFWTfbkY953Y81L5ret3GFRZtmPmRFAjKQSdCKoJvvqOu6Bvfpqlwwb0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + jest-util: 29.4.1 + dev: true + + /jest-pnp-resolver/1.2.3_jest-resolve@28.1.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: jest-resolve: '*' @@ -4639,11 +4643,28 @@ packages: jest-resolve: 28.1.3 dev: true + /jest-pnp-resolver/1.2.3_jest-resolve@29.4.1: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.4.1 + dev: true + /jest-regex-util/28.0.2: resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true + /jest-regex-util/29.2.0: + resolution: {integrity: sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + /jest-resolve-dependencies/28.1.3: resolution: {integrity: sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4654,6 +4675,16 @@ packages: - supports-color dev: true + /jest-resolve-dependencies/29.4.1: + resolution: {integrity: sha512-Y3QG3M1ncAMxfjbYgtqNXC5B595zmB6e//p/qpA/58JkQXu/IpLDoLeOa8YoYfsSglBKQQzNUqtfGJJT/qLmJg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.2.0 + jest-snapshot: 29.4.1 + transitivePeerDependencies: + - supports-color + dev: true + /jest-resolve/28.1.3: resolution: {integrity: sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4661,11 +4692,26 @@ packages: chalk: 4.1.2 graceful-fs: 4.2.10 jest-haste-map: 28.1.3 - jest-pnp-resolver: 1.2.2_jest-resolve@28.1.3 + jest-pnp-resolver: 1.2.3_jest-resolve@28.1.3 jest-util: 28.1.3 jest-validate: 28.1.3 resolve: 1.22.1 - resolve.exports: 1.1.0 + resolve.exports: 1.1.1 + slash: 3.0.0 + dev: true + + /jest-resolve/29.4.1: + resolution: {integrity: sha512-j/ZFNV2lm9IJ2wmlq1uYK0Y/1PiyDq9g4HEGsNTNr3viRbJdV+8Lf1SXIiLZXFvyiisu0qUyIXGBnw+OKWkJwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.10 + jest-haste-map: 29.4.1 + jest-pnp-resolver: 1.2.3_jest-resolve@29.4.1 + jest-util: 29.4.1 + jest-validate: 29.4.1 + resolve: 1.22.1 + resolve.exports: 2.0.0 slash: 3.0.0 dev: true @@ -4678,7 +4724,7 @@ packages: '@jest/test-result': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 chalk: 4.1.2 emittery: 0.10.2 graceful-fs: 4.2.10 @@ -4698,6 +4744,35 @@ packages: - supports-color dev: true + /jest-runner/29.4.1: + resolution: {integrity: sha512-8d6XXXi7GtHmsHrnaqBKWxjKb166Eyj/ksSaUYdcBK09VbjPwIgWov1VwSmtupCIz8q1Xv4Qkzt/BTo3ZqiCeg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.4.1 + '@jest/environment': 29.4.1 + '@jest/test-result': 29.4.1 + '@jest/transform': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.10 + jest-docblock: 29.2.0 + jest-environment-node: 29.4.1 + jest-haste-map: 29.4.1 + jest-leak-detector: 29.4.1 + jest-message-util: 29.4.1 + jest-resolve: 29.4.1 + jest-runtime: 29.4.1 + jest-util: 29.4.1 + jest-watcher: 29.4.1 + jest-worker: 29.4.1 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + /jest-runtime/28.1.3: resolution: {integrity: sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4728,21 +4803,52 @@ packages: - supports-color dev: true + /jest-runtime/29.4.1: + resolution: {integrity: sha512-UXTMU9uKu2GjYwTtoAw5rn4STxWw/nadOfW7v1sx6LaJYa3V/iymdCLQM6xy3+7C6mY8GfX22vKpgxY171UIoA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.4.1 + '@jest/fake-timers': 29.4.1 + '@jest/globals': 29.4.1 + '@jest/source-map': 29.2.0 + '@jest/test-result': 29.4.1 + '@jest/transform': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + chalk: 4.1.2 + cjs-module-lexer: 1.2.2 + collect-v8-coverage: 1.0.1 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-haste-map: 29.4.1 + jest-message-util: 29.4.1 + jest-mock: 29.4.1 + jest-regex-util: 29.2.0 + jest-resolve: 29.4.1 + jest-snapshot: 29.4.1 + jest-util: 29.4.1 + semver: 7.3.8 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /jest-snapshot/28.1.3: resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@babel/core': 7.18.13 - '@babel/generator': 7.20.7 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.18.13 - '@babel/traverse': 7.20.10 + '@babel/core': 7.20.12 + '@babel/generator': 7.20.14 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12 + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 '@jest/expect-utils': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 - '@types/babel__traverse': 7.18.0 - '@types/prettier': 2.7.0 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.13 + '@types/babel__traverse': 7.18.3 + '@types/prettier': 2.7.2 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12 chalk: 4.1.2 expect: 28.1.3 graceful-fs: 4.2.10 @@ -4759,14 +4865,46 @@ packages: - supports-color dev: true + /jest-snapshot/29.4.1: + resolution: {integrity: sha512-l4iV8EjGgQWVz3ee/LR9sULDk2pCkqb71bjvlqn+qp90lFwpnulHj4ZBT8nm1hA1C5wowXLc7MGnw321u0tsYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.20.12 + '@babel/generator': 7.20.14 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + '@jest/expect-utils': 29.4.1 + '@jest/transform': 29.4.1 + '@jest/types': 29.4.1 + '@types/babel__traverse': 7.18.3 + '@types/prettier': 2.7.2 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12 + chalk: 4.1.2 + expect: 29.4.1 + graceful-fs: 4.2.10 + jest-diff: 29.4.1 + jest-get-type: 29.2.0 + jest-haste-map: 29.4.1 + jest-matcher-utils: 29.4.1 + jest-message-util: 29.4.1 + jest-util: 29.4.1 + natural-compare: 1.4.0 + pretty-format: 29.4.1 + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + dev: true + /jest-util/27.5.1: resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.7.14 + '@types/node': 18.11.18 chalk: 4.1.2 - ci-info: 3.3.2 + ci-info: 3.7.1 graceful-fs: 4.2.10 picomatch: 2.3.1 dev: true @@ -4776,9 +4914,21 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 chalk: 4.1.2 - ci-info: 3.3.2 + ci-info: 3.7.1 + graceful-fs: 4.2.10 + picomatch: 2.3.1 + dev: true + + /jest-util/29.4.1: + resolution: {integrity: sha512-bQy9FPGxVutgpN4VRc0hk6w7Hx/m6L53QxpDreTZgJd9gfx/AV2MjyPde9tGyZRINAUrSv57p2inGBu2dRLmkQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + chalk: 4.1.2 + ci-info: 3.7.1 graceful-fs: 4.2.10 picomatch: 2.3.1 dev: true @@ -4795,13 +4945,25 @@ packages: pretty-format: 28.1.3 dev: true + /jest-validate/29.4.1: + resolution: {integrity: sha512-qNZXcZQdIQx4SfUB/atWnI4/I2HUvhz8ajOSYUu40CSmf9U5emil8EDHgE7M+3j9/pavtk3knlZBDsgFvv/SWw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.4.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.2.0 + leven: 3.1.0 + pretty-format: 29.4.1 + dev: true + /jest-watcher/28.1.3: resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -4809,41 +4971,37 @@ packages: string-length: 4.0.2 dev: true - /jest-worker/27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + /jest-watcher/29.4.1: + resolution: {integrity: sha512-vFOzflGFs27nU6h8dpnVRER3O2rFtL+VMEwnG0H3KLHcllLsU8y9DchSh0AL/Rg5nN1/wSiQ+P4ByMGpuybaVw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.7.14 - merge-stream: 2.0.0 - supports-color: 8.1.1 + '@jest/test-result': 29.4.1 + '@jest/types': 29.4.1 + '@types/node': 18.11.18 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.4.1 + string-length: 4.0.2 dev: true /jest-worker/28.1.3: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 18.7.14 + '@types/node': 18.11.18 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest/28.1.0_4echt27za7uk6ezjshmbxcfmgy: - resolution: {integrity: sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + /jest-worker/29.4.1: + resolution: {integrity: sha512-O9doU/S1EBe+yp/mstQ0VpPwpv0Clgn68TkNwGxL6/usX/KUW9Arnn4ag8C3jc6qHcXznhsT5Na1liYzAsuAbQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/core': 28.1.3_ts-node@10.9.1 - import-local: 3.1.0 - jest-cli: 28.1.3_4echt27za7uk6ezjshmbxcfmgy - transitivePeerDependencies: - - '@types/node' - - supports-color - - ts-node + '@types/node': 18.11.18 + jest-util: 29.4.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 dev: true /jest/28.1.0_@types+node@16.11.59: @@ -4865,9 +5023,9 @@ packages: - ts-node dev: true - /jest/28.1.0_gsb7asu77en4txj3es3i65pxci: - resolution: {integrity: sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest/29.4.1_@types+node@16.11.59: + resolution: {integrity: sha512-cknimw7gAXPDOmj0QqztlxVtBVCw2lYY9CeIE5N6kD+kET1H4H79HSNISJmijb1HF+qk+G+ploJgiDi5k/fRlg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -4875,9 +5033,10 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3_ts-node@10.9.1 + '@jest/core': 29.4.1 + '@jest/types': 29.4.1 import-local: 3.1.0 - jest-cli: 28.1.3_gsb7asu77en4txj3es3i65pxci + jest-cli: 29.4.1_@types+node@16.11.59 transitivePeerDependencies: - '@types/node' - supports-color @@ -4887,9 +5046,6 @@ packages: /js-base64/3.7.2: resolution: {integrity: sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ==} - /js-base64/3.7.3: - resolution: {integrity: sha512-PAr6Xg2jvd7MCR6Ld9Jg3BmTcjYsHEBx1VlwEwULb/qowPf5VD9kEMagj23Gm7JRnSvE/Da/57nChZjnvL8v6A==} - /js-sha3/0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} dev: true @@ -4908,6 +5064,7 @@ packages: /jsbn/0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true /jsbn/1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} @@ -4918,22 +5075,21 @@ packages: hasBin: true dev: true - /json-parse-better-errors/1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true /json-schema/0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true /json-stringify-safe/5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true /json-text-sequence/0.3.0: resolution: {integrity: sha512-7khKIYPKwXQem4lWXfpIN/FEnhztCeRPSxH4qm3fVlqulwujrRDD54xAwDDn/qVKpFtV550+QAkcWJcufzqQuA==} @@ -4942,15 +5098,8 @@ packages: '@sovpro/delimited-stream': 1.1.0 dev: true - /json5/1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} - hasBin: true - dependencies: - minimist: 1.2.6 - dev: true - - /json5/2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true dev: true @@ -4963,32 +5112,10 @@ packages: extsprintf: 1.3.0 json-schema: 0.4.0 verror: 1.10.0 + dev: true /keypair/1.0.4: resolution: {integrity: sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==} - - /kind-of/3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true - - /kind-of/6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} dev: true /kleur/3.0.3: @@ -5009,13 +5136,14 @@ packages: is-typedarray: 1.0.0 iso-random-stream: 2.0.2 keypair: 1.0.4 - multiformats: 9.9.0 + multiformats: 9.6.5 node-forge: 0.10.0 pem-jwk: 2.0.0 protobufjs: 6.11.3 secp256k1: 4.0.3 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 ursa-optional: 0.10.2 + dev: true /libp2p-crypto/0.20.0: resolution: {integrity: sha512-WgIW9rYcWaO/5j2T6NW3R6Q46yvp2ZfFErqRMbi4/pOTL3T7+OROYpL/1iWVksWkXyurU/t2qFsIijWMxR5C4Q==} @@ -5024,29 +5152,31 @@ packages: err-code: 3.0.1 iso-random-stream: 2.0.2 keypair: 1.0.4 - multiformats: 9.9.0 + multiformats: 9.6.5 noble-ed25519: 1.2.6 noble-secp256k1: 1.2.14 node-forge: 0.10.0 pem-jwk: 2.0.0 protobufjs: 6.11.3 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 ursa-optional: 0.10.2 + dev: true /libp2p-crypto/0.21.2: resolution: {integrity: sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g==} engines: {node: '>=12.0.0'} dependencies: - '@noble/ed25519': 1.6.1 - '@noble/secp256k1': 1.6.3 + '@noble/ed25519': 1.7.1 + '@noble/secp256k1': 1.7.1 err-code: 3.0.1 iso-random-stream: 2.0.2 - multiformats: 9.9.0 + multiformats: 9.6.5 node-forge: 1.3.1 protobufjs: 6.11.3 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 + dev: true - /libp2p-interfaces/4.0.6_node-fetch@3.2.10: + /libp2p-interfaces/4.0.6_node-fetch@3.3.0: resolution: {integrity: sha512-3KjzNEIWhi+VoOamLvgKKUE/xqwxSw/JYqsBnfMhAWVRvRtosROtVT03wci2XbuuowCYw+/hEX1xKJIR1w5n0A==} dependencies: abortable-iterator: 3.0.2 @@ -5056,21 +5186,22 @@ packages: it-pipe: 1.1.0 it-pushable: 1.4.2 libp2p-crypto: 0.21.2 - multiaddr: 10.0.1_node-fetch@3.2.10 - multiformats: 9.9.0 + multiaddr: 10.0.1_node-fetch@3.3.0 + multiformats: 9.6.5 p-queue: 6.6.2 peer-id: 0.16.0 protobufjs: 6.11.3 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 transitivePeerDependencies: - node-fetch - supports-color + dev: true /libp2p-mplex/0.10.7: resolution: {integrity: sha512-21VV0DZWuOsHgitWy1GZD1M/kki3a/hVoAJ5QC48p01JNSK5W8gxRiZtq7cCGJ/xNpbQxvMlMtS5eq8CFRlysg==} dependencies: abortable-iterator: 3.0.2 - bl: 5.0.0 + bl: 5.1.0 debug: 4.3.4 err-code: 3.0.1 it-pipe: 1.1.0 @@ -5078,8 +5209,9 @@ packages: varint: 6.0.0 transitivePeerDependencies: - supports-color + dev: true - /libp2p-utils/0.4.1_node-fetch@3.2.10: + /libp2p-utils/0.4.1_node-fetch@3.3.0: resolution: {integrity: sha512-kq/US2unamiyY+YwP47dO1uqpAdcbdYI2Fzi9JIEhjfPBaD1MR/uyQ/YP7ABthl3EaxAjIQYd1TVp85d6QKAtQ==} dependencies: abortable-iterator: 3.0.2 @@ -5087,34 +5219,37 @@ packages: err-code: 3.0.1 ip-address: 8.1.0 is-loopback-addr: 1.0.1 - multiaddr: 10.0.1_node-fetch@3.2.10 + multiaddr: 10.0.1_node-fetch@3.3.0 private-ip: 2.3.4 transitivePeerDependencies: - node-fetch - supports-color + dev: true - /libp2p-websockets/0.16.2_node-fetch@3.2.10: + /libp2p-websockets/0.16.2_node-fetch@3.3.0: resolution: {integrity: sha512-QGfo8jX1Ks16yi8C67CCyMW7k9cfCYiQ0lzKVJBud0fV3ymbMO2L8gzU6iXUUZTHILo8ka26zKhwQ4lmUMI+nA==} dependencies: abortable-iterator: 3.0.2 class-is: 1.1.0 debug: 4.3.4 err-code: 3.0.1 - ipfs-utils: 9.0.7 + ipfs-utils: 9.0.14 it-ws: 4.0.0 - libp2p-utils: 0.4.1_node-fetch@3.2.10 - mafmt: 10.0.0_node-fetch@3.2.10 - multiaddr: 10.0.1_node-fetch@3.2.10 - multiaddr-to-uri: 8.0.0_node-fetch@3.2.10 + libp2p-utils: 0.4.1_node-fetch@3.3.0 + mafmt: 10.0.0_node-fetch@3.3.0 + multiaddr: 10.0.1_node-fetch@3.3.0 + multiaddr-to-uri: 8.0.0_node-fetch@3.3.0 p-defer: 3.0.0 p-timeout: 4.1.0 transitivePeerDependencies: - bufferutil + - encoding - node-fetch - supports-color - utf-8-validate + dev: true - /libp2p/0.36.2_node-fetch@3.2.10: + /libp2p/0.36.2_node-fetch@3.3.0: resolution: {integrity: sha512-UpNYBMQVivMu56zoibdGitopv39uBBAybIBOEGWmFy/I2NnTVGUutLPrxo47AuN2kntYgo/TNJfW+PpswUgSaw==} engines: {node: '>=15.0.0'} dependencies: @@ -5122,7 +5257,7 @@ packages: abortable-iterator: 3.0.2 aggregate-error: 3.1.0 any-signal: 3.0.1 - bignumber.js: 9.1.0 + bignumber.js: 9.1.1 class-is: 1.1.0 datastore-core: 7.0.3 debug: 4.3.4 @@ -5145,13 +5280,13 @@ packages: it-sort: 1.0.1 it-take: 1.0.2 libp2p-crypto: 0.21.2 - libp2p-interfaces: 4.0.6_node-fetch@3.2.10 - libp2p-utils: 0.4.1_node-fetch@3.2.10 - mafmt: 10.0.0_node-fetch@3.2.10 + libp2p-interfaces: 4.0.6_node-fetch@3.3.0 + libp2p-utils: 0.4.1_node-fetch@3.3.0 + mafmt: 10.0.0_node-fetch@3.3.0 merge-options: 3.0.4 mortice: 2.0.1 - multiaddr: 10.0.1_node-fetch@3.2.10 - multiformats: 9.9.0 + multiaddr: 10.0.1_node-fetch@3.3.0 + multiformats: 9.6.5 multistream-select: 3.0.2 mutable-proxy: 1.0.0 nat-api: 0.3.1 @@ -5168,54 +5303,95 @@ packages: set-delayed-interval: 1.0.0 streaming-iterables: 6.2.0 timeout-abort-controller: 3.0.0 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 varint: 6.0.0 wherearewe: 1.0.2 xsalsa20: 1.2.0 transitivePeerDependencies: - node-fetch - supports-color + dev: true + + /libp2p/0.42.2: + resolution: {integrity: sha512-arTOCJEEmAFw5HjlXdULVAFs7Y/dWZmgX/qN4SzuxtSkB0pa+fqn/DIbIfpBi2BuY+QozvnARPF1xJtSdqfqJQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + '@achingbrain/nat-port-mapper': 1.0.7 + '@libp2p/crypto': 1.0.8_uint8arraylist@2.4.3 + '@libp2p/interface-address-manager': 2.0.4 + '@libp2p/interface-connection': 3.0.8 + '@libp2p/interface-connection-encrypter': 3.0.6 + '@libp2p/interface-connection-manager': 1.3.7 + '@libp2p/interface-content-routing': 2.0.1 + '@libp2p/interface-dht': 2.0.1 + '@libp2p/interface-libp2p': 1.1.1 + '@libp2p/interface-metrics': 4.0.5 + '@libp2p/interface-peer-discovery': 1.0.5 + '@libp2p/interface-peer-id': 2.0.1 + '@libp2p/interface-peer-info': 1.0.8 + '@libp2p/interface-peer-routing': 1.0.7 + '@libp2p/interface-peer-store': 1.2.8 + '@libp2p/interface-pubsub': 3.0.6 + '@libp2p/interface-registrar': 2.0.8 + '@libp2p/interface-stream-muxer': 3.0.5 + '@libp2p/interface-transport': 2.1.1 + '@libp2p/interfaces': 3.3.1 + '@libp2p/logger': 2.0.5 + '@libp2p/multistream-select': 3.1.2 + '@libp2p/peer-collections': 3.0.0 + '@libp2p/peer-id': 2.0.1 + '@libp2p/peer-id-factory': 2.0.1 + '@libp2p/peer-record': 5.0.0 + '@libp2p/peer-store': 6.0.0 + '@libp2p/tracked-map': 3.0.2 + '@libp2p/utils': 3.0.4 + '@multiformats/mafmt': 11.0.3 + '@multiformats/multiaddr': 11.3.0 + abortable-iterator: 4.0.2 + any-signal: 3.0.1 + datastore-core: 8.0.4 + err-code: 3.0.1 + events: 3.3.0 + hashlru: 2.3.0 + interface-datastore: 7.0.4 + it-all: 2.0.0 + it-drain: 2.0.0 + it-filter: 2.0.0 + it-first: 2.0.0 + it-foreach: 1.0.0 + it-handshake: 4.1.2 + it-length-prefixed: 8.0.4 + it-map: 2.0.0 + it-merge: 2.0.0 + it-pair: 2.0.3 + it-pipe: 2.0.5 + it-sort: 2.0.0 + it-stream-types: 1.0.5 + merge-options: 3.0.4 + multiformats: 11.0.1 + node-forge: 1.3.1 + p-fifo: 1.0.0 + p-retry: 5.1.2 + p-settle: 5.1.0 + private-ip: 3.0.0 + protons-runtime: 4.0.2_uint8arraylist@2.4.3 + rate-limiter-flexible: 2.4.1 + retimer: 3.0.0 + sanitize-filename: 1.6.3 + set-delayed-interval: 1.0.0 + timeout-abort-controller: 3.0.0 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + wherearewe: 2.0.1 + xsalsa20: 1.2.0 + transitivePeerDependencies: + - supports-color + dev: false /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /loader-runner/2.4.0: - resolution: {integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==} - engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} - dev: true - - /loader-runner/4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - dev: true - - /loader-utils/1.4.2: - resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} - engines: {node: '>=4.0.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 1.0.1 - dev: true - - /loader-utils/2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.1 - dev: true - - /locate-path/3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - dev: true - /locate-path/5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -5227,6 +5403,10 @@ packages: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: false + /loglevel/1.8.0: resolution: {integrity: sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==} engines: {node: '>= 0.6.0'} @@ -5239,6 +5419,19 @@ packages: /long/4.0.0: resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + dev: true + + /long/5.2.1: + resolution: {integrity: sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==} + dev: false + + /longbits/1.1.0: + resolution: {integrity: sha512-22U2exkkYy7sr7nuQJYx2NEZ2kEMsC69+BxM5h8auLvkVIJa+LwAB5mFIExnuW2dFuYXFOWsFMKXjaWiq/htYQ==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + byte-access: 1.0.1 + uint8arraylist: 2.4.3 + dev: false /lru-cache/5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -5253,20 +5446,20 @@ packages: yallist: 4.0.0 dev: true - /mafmt/10.0.0_node-fetch@3.2.10: + /mafmt/10.0.0_node-fetch@3.3.0: resolution: {integrity: sha512-K1bziJOXcnepfztu+2Xy9FLKVLaFMDuspmiyJIYRxnO0WOxFSV7XKSdMxMrVZxcvg1+YjlTIvSGTImUHU2k4Aw==} dependencies: - multiaddr: 10.0.1_node-fetch@3.2.10 + multiaddr: 10.0.1_node-fetch@3.3.0 transitivePeerDependencies: - node-fetch - supports-color + dev: true - /make-dir/2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} + /magic-string/0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} dependencies: - pify: 4.0.1 - semver: 5.7.1 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /make-dir/3.1.0: @@ -5278,6 +5471,7 @@ packages: /make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true /makeerror/1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -5285,47 +5479,12 @@ packages: tmpl: 1.0.5 dev: true - /map-cache/0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: true - - /map-visit/1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true - - /md5.js/1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - dependencies: - hash-base: 3.1.0 - inherits: 2.0.4 - safe-buffer: 5.2.1 - dev: true - /memfs/3.0.4: resolution: {integrity: sha512-OcZEzwX9E5AoY8SXjuAvw0DbIAYwUzV/I236I8Pqvrlv7sL/Y0E9aRCon05DhaV8pg1b32uxj76RgW0s5xjHBA==} dependencies: fast-extend: 1.0.2 fs-monkey: 0.3.3 - /memory-fs/0.4.1: - resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==} - dependencies: - errno: 0.1.8 - readable-stream: 2.3.7 - dev: true - - /memory-fs/0.5.0: - resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} - engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} - dependencies: - errno: 0.1.8 - readable-stream: 2.3.7 - dev: true - /merge-options/3.0.4: resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} engines: {node: '>=10'} @@ -5335,27 +5494,6 @@ packages: /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - /micromatch/3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /micromatch/4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -5364,23 +5502,17 @@ packages: picomatch: 2.3.1 dev: true - /miller-rabin/4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true - dependencies: - bn.js: 4.12.0 - brorand: 1.1.0 - dev: true - /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + dev: true /mime-types/2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 + dev: true /mimic-fn/2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} @@ -5388,47 +5520,20 @@ packages: /minimalistic-assert/1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true /minimalistic-crypto-utils/1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + dev: true /minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - - /minimist/1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - - /mississippi/3.0.0: - resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==} - engines: {node: '>=4.0.0'} - dependencies: - concat-stream: 1.6.2 - duplexify: 3.7.1 - end-of-stream: 1.4.4 - flush-write-stream: 1.1.1 - from2: 2.3.0 - parallel-transform: 1.2.0 - pump: 3.0.0 - pumpify: 1.5.1 - stream-each: 1.2.3 - through2: 2.0.5 dev: true - /mixin-deep/1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true - - /mkdirp/0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.6 + /minimist/1.2.7: + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} dev: true /mortice/2.0.1: @@ -5438,21 +5543,17 @@ packages: observable-webworkers: 1.0.0 p-queue: 6.6.2 promise-timeout: 1.3.0 + dev: true - /move-concurrently/1.0.1: - resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} + /mortice/3.0.1: + resolution: {integrity: sha512-eyDUsl1nCR9+JtNksKnaESLP9MgAXCA4w1LTtsmOSQNsThnv++f36rrBu5fC/fdGIwTJZmbiaR/QewptH93pYA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - aproba: 1.2.0 - copy-concurrently: 1.0.5 - fs-write-stream-atomic: 1.0.10 - mkdirp: 0.5.6 - rimraf: 2.7.1 - run-queue: 1.0.3 - dev: true - - /ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true + nanoid: 4.0.0 + observable-webworkers: 2.0.1 + p-queue: 7.3.0 + p-timeout: 6.1.0 + dev: false /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -5460,45 +5561,47 @@ packages: /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /multiaddr-to-uri/7.0.0_node-fetch@3.2.10: + /multiaddr-to-uri/7.0.0_node-fetch@3.3.0: resolution: {integrity: sha512-VbscDpLcbV0m25tJqfnZSfbjVUuNlPa4BbD5l/7me1t0lc3SWI0XAoO5E/PNJF0e1qUlbdq7yjVFEQjUT+9r0g==} deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri dependencies: - multiaddr: 9.0.2_node-fetch@3.2.10 + multiaddr: 9.0.2_node-fetch@3.3.0 transitivePeerDependencies: - node-fetch - supports-color dev: true - /multiaddr-to-uri/8.0.0_node-fetch@3.2.10: + /multiaddr-to-uri/8.0.0_node-fetch@3.3.0: resolution: {integrity: sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==} deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr-to-uri dependencies: - multiaddr: 10.0.1_node-fetch@3.2.10 + multiaddr: 10.0.1_node-fetch@3.3.0 transitivePeerDependencies: - node-fetch - supports-color + dev: true - /multiaddr/10.0.1_node-fetch@3.2.10: + /multiaddr/10.0.1_node-fetch@3.3.0: resolution: {integrity: sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==} deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr dependencies: - dns-over-http-resolver: 1.2.3_node-fetch@3.2.10 + dns-over-http-resolver: 1.2.3_node-fetch@3.3.0 err-code: 3.0.1 is-ip: 3.1.0 - multiformats: 9.9.0 - uint8arrays: 3.1.0 + multiformats: 9.6.5 + uint8arrays: 3.1.1 varint: 6.0.0 transitivePeerDependencies: - node-fetch - supports-color + dev: true - /multiaddr/9.0.2_node-fetch@3.2.10: + /multiaddr/9.0.2_node-fetch@3.3.0: resolution: {integrity: sha512-YFaEb9t4yXSbaGksSEdg+Kn2U02s7w4wXUgyEMQmPxFJj7CfVHY10WOsScAX/rK6Soa15S1zXYadqH9TtlVreQ==} deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr dependencies: cids: 1.1.9 - dns-over-http-resolver: 1.2.3_node-fetch@3.2.10 + dns-over-http-resolver: 1.2.3_node-fetch@3.3.0 err-code: 3.0.1 is-ip: 3.1.0 multibase: 4.0.6 @@ -5515,28 +5618,38 @@ packages: deprecated: This module has been superseded by the multiformats module dependencies: '@multiformats/base-x': 4.0.1 + dev: true /multicodec/3.2.1: resolution: {integrity: sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==} deprecated: This module has been superseded by the multiformats module dependencies: - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 varint: 6.0.0 + dev: true + + /multiformats/10.0.3: + resolution: {integrity: sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false + + /multiformats/11.0.1: + resolution: {integrity: sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /multiformats/9.6.5: resolution: {integrity: sha512-vMwf/FUO+qAPvl3vlSZEgEVFY/AxeZq5yg761ScF3CZsXgmTi/HGkicUiNN0CI4PW8FiY2P0OLklOcmQjdQJhw==} dev: true - /multiformats/9.9.0: - resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} - /multihashes/4.0.3: resolution: {integrity: sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==} engines: {node: '>=12.0.0', npm: '>=6.0.0'} dependencies: multibase: 4.0.6 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 varint: 5.0.2 + dev: true /multihashing-async/2.1.4: resolution: {integrity: sha512-sB1MiQXPSBTNRVSJc2zM157PXgDtud2nMFUEIvBrsq5Wv96sUclMRK/ecjoP1T/W61UJBqt4tCTwMkUpt2Gbzg==} @@ -5547,14 +5660,14 @@ packages: js-sha3: 0.8.0 multihashes: 4.0.3 murmurhash3js-revisited: 3.0.0 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 dev: true /multistream-select/3.0.2: resolution: {integrity: sha512-ICGA8DAviZj6Xo1NkaRV3J38M+tFDoWiGtO1ksluyMnskAsdGjAzocg806OzpQPivNGWWboX3CrFT2Tk4UdYXA==} dependencies: abortable-iterator: 3.0.2 - bl: 5.0.0 + bl: 5.1.0 debug: 4.3.4 err-code: 3.0.1 it-first: 1.0.7 @@ -5563,9 +5676,10 @@ packages: it-pipe: 1.1.0 it-reader: 3.0.0 p-defer: 3.0.0 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 transitivePeerDependencies: - supports-color + dev: true /murmurhash3js-revisited/3.0.0: resolution: {integrity: sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==} @@ -5575,35 +5689,24 @@ packages: /mutable-proxy/1.0.0: resolution: {integrity: sha512-4OvNRr1DJpy2QuDUV74m+BWZ//n4gG4bmd21MzDSPqHEidIDWqwyOjcadU1LBMO3vXYGurVKjfBrxrSQIHFu9A==} engines: {node: '>=6.X.X', npm: '>=3.X.X'} + dev: true - /nan/2.16.0: - resolution: {integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==} - requiresBuild: true + /nan/2.17.0: + resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} + dev: true /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - - /nanomatch/1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color dev: true + /nanoid/4.0.0: + resolution: {integrity: sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==} + engines: {node: ^14 || ^16 || >=18} + hasBin: true + dev: false + /nat-api/0.3.1: resolution: {integrity: sha512-5cyLugEkXnKSKSvVjKjxxPMLDnkwY3boZLbATWwiGJ4T/3UvIpiQmzb2RqtxxEFcVo/7PwsHPGN0MosopONO8Q==} engines: {node: '>=10.0.0'} @@ -5616,6 +5719,7 @@ packages: xml2js: 0.1.14 transitivePeerDependencies: - supports-color + dev: true /native-abort-controller/1.0.4_abort-controller@3.0.0: resolution: {integrity: sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==} @@ -5631,22 +5735,36 @@ packages: node-fetch: '*' dependencies: node-fetch: /@achingbrain/node-fetch/2.6.7 + dev: true - /native-fetch/3.0.0_node-fetch@3.2.10: + /native-fetch/3.0.0_node-fetch@2.6.9: resolution: {integrity: sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==} peerDependencies: node-fetch: '*' dependencies: - node-fetch: 3.2.10 + node-fetch: 2.6.9 + dev: true + + /native-fetch/3.0.0_node-fetch@3.3.0: + resolution: {integrity: sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==} + peerDependencies: + node-fetch: '*' + dependencies: + node-fetch: 3.3.0 + dev: true + + /native-fetch/4.0.2_undici@5.16.0: + resolution: {integrity: sha512-4QcVlKFtv2EYVS5MBgsGX5+NWKtbDbIECdUXDBGDMAZXq3Jkv9zf+y8iS7Ub8fEdga3GpYeazp9gauNqXHJOCg==} + peerDependencies: + undici: '*' + dependencies: + undici: 5.16.0 + dev: false /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /neo-async/2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true - /netmask/2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} @@ -5654,82 +5772,65 @@ packages: /noble-ed25519/1.2.6: resolution: {integrity: sha512-zfnWqg9FVMp8CnzUpAjbt1nDXpDjCvxYiCXdnW1mY8zQHw/6twUlkFm14VPdojVzc0kcd+i9zT79+26GcNbsuQ==} deprecated: Switch to namespaced @noble/ed25519 for security and feature updates + dev: true /noble-secp256k1/1.2.14: resolution: {integrity: sha512-GSCXyoZBUaaPwVWdYncMEmzlSUjF9J/YeEHpklYJCyg8wPuJP3NzDx0BkiwArzINkdX2HJHvUJhL6vVWPOQQcg==} deprecated: Switch to namespaced @noble/secp256k1 for security and feature updates + dev: true /node-addon-api/2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + dev: true /node-domexception/1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} + dev: true - /node-fetch/3.2.10: - resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} + /node-fetch/2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + + /node-fetch/3.3.0: + resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - data-uri-to-buffer: 4.0.0 + data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + dev: true /node-forge/0.10.0: resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==} engines: {node: '>= 6.0.0'} + dev: true /node-forge/1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - /node-gyp-build/4.5.0: - resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==} + /node-gyp-build/4.6.0: + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true + dev: true /node-int64/0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-libs-browser/2.2.1: - resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} - dependencies: - assert: 1.5.0 - browserify-zlib: 0.2.0 - buffer: 4.9.2 - console-browserify: 1.2.0 - constants-browserify: 1.0.0 - crypto-browserify: 3.12.0 - domain-browser: 1.2.0 - events: 3.3.0 - https-browserify: 1.0.0 - os-browserify: 0.3.0 - path-browserify: 0.0.1 - process: 0.11.10 - punycode: 1.4.1 - querystring-es3: 0.2.1 - readable-stream: 2.3.7 - stream-browserify: 2.0.2 - stream-http: 2.8.3 - string_decoder: 1.3.0 - timers-browserify: 2.0.12 - tty-browserify: 0.0.0 - url: 0.11.0 - util: 0.11.1 - vm-browserify: 1.1.2 + /node-releases/2.0.9: + resolution: {integrity: sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==} dev: true - /node-releases/2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} - dev: true - - /normalize-path/2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - dependencies: - remove-trailing-separator: 1.1.0 - dev: true - optional: true - /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -5743,33 +5844,6 @@ packages: /oauth-sign/0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - - /object-assign/4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true - - /object-copy/0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true - - /object-visit/1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /object.pick/1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 dev: true /observable-fns/0.6.1: @@ -5777,6 +5851,12 @@ packages: /observable-webworkers/1.0.0: resolution: {integrity: sha512-+cECwCR8IEh8UY5nefQVLO9Cydqpk1izO+o7BABmKjXfJZyEOzBWY3ss5jbOPM6KmEa9aQExvAtTW6tVTOsNAQ==} + dev: true + + /observable-webworkers/2.0.1: + resolution: {integrity: sha512-JI1vB0u3pZjoQKOK1ROWzp0ygxSi7Yb0iR+7UNsw4/Zn4cQ0P3R7XL38zac/Dy2tEA7Lg88/wIJTjF8vYXZ0uw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dev: false /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -5789,25 +5869,28 @@ packages: dependencies: mimic-fn: 2.1.0 - /os-browserify/0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - dev: true - /p-any/3.0.0: resolution: {integrity: sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==} engines: {node: '>=10'} dependencies: p-cancelable: 2.1.1 p-some: 5.0.0 + dev: true /p-cancelable/2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} + dev: true /p-defer/3.0.0: resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} engines: {node: '>=8'} + /p-defer/4.0.0: + resolution: {integrity: sha512-Vb3QRvQ0Y5XnF40ZUWW7JfLogicVh/EnA5gBIvKDJoYpeI82+1E3AlB9yOcKFS0AhHrWVnAQO39fbR0G99IVEQ==} + engines: {node: '>=12'} + dev: false + /p-fifo/1.0.0: resolution: {integrity: sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==} dependencies: @@ -5817,12 +5900,14 @@ packages: /p-finally/1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} + dev: true /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 + dev: true /p-limit/3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} @@ -5831,12 +5916,12 @@ packages: yocto-queue: 0.1.0 dev: true - /p-locate/3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + /p-limit/4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - p-limit: 2.3.0 - dev: true + yocto-queue: 1.0.0 + dev: false /p-locate/4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} @@ -5851,10 +5936,25 @@ packages: dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 + dev: true + + /p-queue/7.3.0: + resolution: {integrity: sha512-5fP+yVQ0qp0rEfZoDTlP2c3RYBgxvRsw30qO+VtPPc95lyvSG+x6USSh1TuLB4n96IO6I8/oXQGsTgtna4q2nQ==} + engines: {node: '>=12'} + dependencies: + eventemitter3: 4.0.7 + p-timeout: 5.1.0 + dev: false /p-reflect/2.1.0: resolution: {integrity: sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==} engines: {node: '>=8'} + dev: true + + /p-reflect/3.1.0: + resolution: {integrity: sha512-3sG3UlpisPSaX+o7u2q01hIQmrpkvdl5GSO1ZwL7pfc5kHB2bPF0eFNCfYTrW1/LTUdgmPwBAvmT0Zr8eSmaAQ==} + engines: {node: '>=12'} + dev: false /p-retry/4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} @@ -5862,6 +5962,15 @@ packages: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 + dev: true + + /p-retry/5.1.2: + resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + '@types/retry': 0.12.1 + retry: 0.13.1 + dev: false /p-settle/4.1.1: resolution: {integrity: sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==} @@ -5869,6 +5978,15 @@ packages: dependencies: p-limit: 2.3.0 p-reflect: 2.1.0 + dev: true + + /p-settle/5.1.0: + resolution: {integrity: sha512-ujR6UFfh09ziOKyC5aaJak5ZclsjlLw57SYtFZg6yllMofyygnaibQRZ4jf6QPWqoOCGUXyb1cxUKELeAyKO7g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-limit: 4.0.0 + p-reflect: 3.1.0 + dev: false /p-some/5.0.0: resolution: {integrity: sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==} @@ -5876,42 +5994,38 @@ packages: dependencies: aggregate-error: 3.1.0 p-cancelable: 2.1.1 + dev: true /p-timeout/3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} dependencies: p-finally: 1.0.0 + dev: true /p-timeout/4.1.0: resolution: {integrity: sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==} engines: {node: '>=10'} + dev: true + + /p-timeout/5.1.0: + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} + dev: false + + /p-timeout/6.1.0: + resolution: {integrity: sha512-s0y6Le9QYGELLzNpFIt6h8B2DHTVUDLStvxtvRMSKNKeuNVVWby2dZ+pIJpW4/pWr5a3s8W85wBNtc0ZA+lzCg==} + engines: {node: '>=14.16'} + dev: false /p-try/2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + dev: true /pako/1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - /parallel-transform/1.2.0: - resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} - dependencies: - cyclist: 1.0.1 - inherits: 2.0.4 - readable-stream: 2.3.7 - dev: true - - /parse-asn1/5.1.6: - resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} - dependencies: - asn1.js: 5.4.1 - browserify-aes: 1.2.0 - evp_bytestokey: 1.0.3 - pbkdf2: 3.1.2 - safe-buffer: 5.2.1 - dev: true - /parse-duration/1.0.2: resolution: {integrity: sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==} dev: true @@ -5926,28 +6040,9 @@ packages: lines-and-columns: 1.2.4 dev: true - /pascalcase/0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: true - - /path-browserify/0.0.1: - resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} - dev: true - /path-browserify/1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - /path-dirname/1.0.2: - resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} - dev: true - optional: true - - /path-exists/3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true - /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -5966,17 +6061,6 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /pbkdf2/3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} - dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - dev: true - /peer-id/0.15.4: resolution: {integrity: sha512-MDoBIMZYwQIAHaZQUwsIcvoFgdbIl5GtZMwSkXpIYvc5v0TSDv+u8WsTKrKt2Vv28tHFFDJQdVzu3T4qTPzK+w==} engines: {node: '>=14.0.0'} @@ -5984,10 +6068,11 @@ packages: dependencies: class-is: 1.1.0 libp2p-crypto: 0.20.0 - minimist: 1.2.6 - multiformats: 9.9.0 + minimist: 1.2.7 + multiformats: 9.6.5 protobufjs: 6.11.3 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 + dev: true /peer-id/0.16.0: resolution: {integrity: sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ==} @@ -5995,9 +6080,10 @@ packages: dependencies: class-is: 1.1.0 libp2p-crypto: 0.21.2 - multiformats: 9.9.0 + multiformats: 9.6.5 protobufjs: 6.11.3 - uint8arrays: 3.1.0 + uint8arrays: 3.1.1 + dev: true /pem-jwk/2.0.0: resolution: {integrity: sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==} @@ -6005,9 +6091,11 @@ packages: hasBin: true dependencies: asn1.js: 5.4.1 + dev: true /performance-now/2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -6018,23 +6106,11 @@ packages: engines: {node: '>=8.6'} dev: true - /pify/4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true - /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: true - /pkg-dir/3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} - dependencies: - find-up: 3.0.0 - dev: true - /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -6045,9 +6121,13 @@ packages: /platform/1.3.6: resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} - /posix-character-classes/0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 dev: true /pretty-format/27.5.1: @@ -6069,6 +6149,15 @@ packages: react-is: 18.2.0 dev: true + /pretty-format/29.4.1: + resolution: {integrity: sha512-dt/Z761JUVsrIKaY215o1xQJBGlSmTx/h4cSqXqjHLnU1+Kt+mavVE7UgqJJO5ukx5HjSswHfmXz4LjS2oIJfg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.4.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + /private-ip/2.3.4: resolution: {integrity: sha512-ts/YFVwfBeLq61f9+KsOhXW6RH0wvY0gU50R6QZYzgFhggyyLK6WDFeYdjfi/HMnBm2hecLvsR3PB3JcRxDk+A==} dependencies: @@ -6076,29 +6165,26 @@ packages: ipaddr.js: 2.0.1 is-ip: 3.1.0 netmask: 2.0.2 - - /process-nextick-args/2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true + /private-ip/3.0.0: + resolution: {integrity: sha512-HkMBs4nMtrP+cvcw0bDi2BAZIGgiKI4Zq8Oc+dMqNBpHS8iGL4+WO/pRtc8Bwnv9rjnV0QwMDwEBymFtqv7Kww==} + engines: {node: '>=14.16'} + dependencies: + '@chainsafe/is-ip': 2.0.1 + ip-regex: 5.0.0 + ipaddr.js: 2.0.1 + netmask: 2.0.2 + dev: false + /process/0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - dev: true - - /promise-inflight/1.0.1_bluebird@3.7.2: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dependencies: - bluebird: 3.7.2 - dev: true + dev: false /promise-timeout/1.3.0: resolution: {integrity: sha512-5yANTE0tmi5++POym6OgtFmwfDvOXABD9oj/jLQr5GPEyuNEb7jH4wbbANJceJid49jwhi1RddxnhnEAb/doqg==} + dev: true /prompts/2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} @@ -6124,74 +6210,51 @@ packages: '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 - '@types/node': 18.7.14 + '@types/node': 18.11.18 long: 4.0.0 - - /prr/1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true + /protobufjs/7.2.1: + resolution: {integrity: sha512-L3pCItypTnPK27+CS8nuhZMYtsY+i8dqdq2vZsYHlG17CnWp1DWPQ/sos0vOKrj1fHEAzo3GBqSHLaeZyKUCDA==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 18.11.18 + long: 5.2.1 + dev: false + + /protons-runtime/4.0.2_uint8arraylist@2.4.3: + resolution: {integrity: sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + peerDependencies: + uint8arraylist: ^2.3.2 + dependencies: + protobufjs: 7.2.1 + uint8arraylist: 2.4.3 + dev: false + /psl/1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - - /public-encrypt/4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - dependencies: - bn.js: 4.12.0 - browserify-rsa: 4.1.0 - create-hash: 1.2.0 - parse-asn1: 5.1.6 - randombytes: 2.1.0 - safe-buffer: 5.2.1 dev: true - /pump/2.0.1: - resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - - /pumpify/1.5.1: - resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} - dependencies: - duplexify: 3.7.1 - inherits: 2.0.4 - pump: 2.0.1 - dev: true - - /punycode/1.3.2: - resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} - dev: true - - /punycode/1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: true - - /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + /punycode/2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} + dev: true /qs/6.5.3: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} - - /querystring-es3/0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} - dev: true - - /querystring/0.2.0: - resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: true /randombytes/2.1.0: @@ -6205,6 +6268,10 @@ packages: randombytes: 2.1.0 safe-buffer: 5.2.1 + /rate-limiter-flexible/2.4.1: + resolution: {integrity: sha512-dgH4T44TzKVO9CLArNto62hJOwlWJMLUjVVr/ii0uUzZXEXthDNr7/yefW5z/1vvHAfycc1tnuiYyNJ8CTRB3g==} + dev: false + /react-is/17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true @@ -6217,17 +6284,12 @@ packages: resolution: {integrity: sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw==} dependencies: p-defer: 3.0.0 + dev: true - /readable-stream/2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + /react-native-fetch-api/3.0.0: + resolution: {integrity: sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==} dependencies: - core-util-is: 1.0.2 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 + p-defer: 3.0.0 dev: true /readable-stream/3.6.0: @@ -6238,75 +6300,18 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readdirp/2.2.1: - resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} - engines: {node: '>=0.10'} - dependencies: - graceful-fs: 4.2.10 - micromatch: 3.1.10 - readable-stream: 2.3.7 - transitivePeerDependencies: - - supports-color - dev: true - optional: true - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - optional: true - /receptacle/1.3.2: resolution: {integrity: sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==} dependencies: ms: 2.1.3 - /rechoir/0.7.1: - resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} - engines: {node: '>= 0.10'} - dependencies: - resolve: 1.22.1 - dev: true - - /rechoir/0.8.0: - resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} - engines: {node: '>= 10.13.0'} - dependencies: - resolve: 1.22.1 - dev: true - - /regex-not/1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true - - /remove-trailing-separator/1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: true - optional: true - - /repeat-element/1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true - - /repeat-string/1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true - /request/2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 dependencies: aws-sign2: 0.7.0 - aws4: 1.11.0 + aws4: 1.12.0 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -6325,6 +6330,7 @@ packages: tough-cookie: 2.5.0 tunnel-agent: 0.6.0 uuid: 3.4.0 + dev: true /require-directory/2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} @@ -6343,13 +6349,13 @@ packages: engines: {node: '>=8'} dev: true - /resolve-url/0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated + /resolve.exports/1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} dev: true - /resolve.exports/1.1.0: - resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} + /resolve.exports/2.0.0: + resolution: {integrity: sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg==} engines: {node: '>=10'} dev: true @@ -6357,16 +6363,11 @@ packages: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: - is-core-module: 2.10.0 + is-core-module: 2.11.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true - /ret/0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true - /retimer/2.0.0: resolution: {integrity: sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==} dev: true @@ -6378,13 +6379,6 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - /rimraf/2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -6392,46 +6386,25 @@ packages: glob: 7.2.3 dev: true - /ripemd160/2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - dependencies: - hash-base: 3.1.0 - inherits: 2.0.4 - dev: true - - /run-queue/1.0.3: - resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==} - dependencies: - aproba: 1.2.0 + /rollup/3.12.1: + resolution: {integrity: sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 dev: true /rxjs/7.5.5: resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} dependencies: - tslib: 2.4.0 - dev: false - - /rxjs/7.5.6: - resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} - dependencies: - tslib: 2.4.0 - dev: true - - /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true + tslib: 2.5.0 /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex/1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - dependencies: - ret: 0.1.15 - dev: true - /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true /sanitize-filename/1.6.3: resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} @@ -6441,24 +6414,6 @@ packages: /sax/1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - /schema-utils/1.0.0: - resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} - engines: {node: '>= 4'} - dependencies: - ajv: 6.12.6 - ajv-errors: 1.0.1_ajv@6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 - dev: true - - /schema-utils/3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/json-schema': 7.0.11 - ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 - dev: true - /secp256k1/4.0.3: resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} engines: {node: '>=10.0.0'} @@ -6466,11 +6421,7 @@ packages: dependencies: elliptic: 6.5.4 node-addon-api: 2.0.2 - node-gyp-build: 4.5.0 - - /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true + node-gyp-build: 4.6.0 dev: true /semver/6.3.0: @@ -6486,50 +6437,9 @@ packages: lru-cache: 6.0.0 dev: true - /serialize-javascript/4.0.0: - resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} - dependencies: - randombytes: 2.1.0 - dev: true - - /serialize-javascript/6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - dependencies: - randombytes: 2.1.0 - dev: true - /set-delayed-interval/1.0.0: resolution: {integrity: sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw==} - /set-value/2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - - /setimmediate/1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: true - - /sha.js/2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - dev: true - - /shallow-clone/3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - dependencies: - kind-of: 6.0.3 - dev: true - /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -6552,51 +6462,9 @@ packages: engines: {node: '>=8'} dev: true - /snapdragon-node/2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: true - - /snapdragon-util/3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /snapdragon/0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /source-list-map/2.0.1: - resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} - dev: true - - /source-map-resolve/0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 dev: true /source-map-support/0.5.13: @@ -6606,35 +6474,11 @@ packages: source-map: 0.6.1 dev: true - /source-map-support/0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map-url/0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true - - /source-map/0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true - /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /split-string/3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: true - /sprintf-js/1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true @@ -6656,11 +6500,6 @@ packages: jsbn: 0.1.1 safer-buffer: 2.1.2 tweetnacl: 0.14.5 - - /ssri/6.0.2: - resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} - dependencies: - figgy-pudding: 3.5.2 dev: true /stable/0.1.8: @@ -6668,57 +6507,28 @@ packages: deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' dev: true - /stack-utils/2.0.5: - resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + /stack-utils/2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true - /static-extend/0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: true - - /stream-browserify/2.0.2: - resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.7 - dev: true - - /stream-each/1.2.3: - resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} - dependencies: - end-of-stream: 1.4.4 - stream-shift: 1.0.1 - dev: true - - /stream-http/2.8.3: - resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} - dependencies: - builtin-status-codes: 3.0.0 - inherits: 2.0.4 - readable-stream: 2.3.7 - to-arraybuffer: 1.0.1 - xtend: 4.0.2 - dev: true - - /stream-shift/1.0.1: - resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} - dev: true - /stream-to-it/0.2.4: resolution: {integrity: sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==} dependencies: get-iterator: 1.0.2 + dev: true /streaming-iterables/6.2.0: resolution: {integrity: sha512-3AYC8oB60WyD1ic7uHmN/vm2oRGzRnQ3XFBl/bFMDi1q1+nc5/vjMmiE4vroIya3jG59t87VpyAj/iXYxyw9AA==} engines: {node: '>=10'} + dev: true + + /streamsearch/1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false /string-length/4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} @@ -6737,12 +6547,6 @@ packages: strip-ansi: 6.0.1 dev: true - /string_decoder/1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - dependencies: - safe-buffer: 5.1.2 - dev: true - /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: @@ -6790,8 +6594,8 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks/2.2.0: - resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} + /supports-hyperlinks/2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 @@ -6803,16 +6607,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /tapable/1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} - engines: {node: '>=6'} - dev: true - - /tapable/2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true - /tar-stream/2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -6828,71 +6622,7 @@ packages: engines: {node: '>=8'} dependencies: ansi-escapes: 4.3.2 - supports-hyperlinks: 2.2.0 - dev: true - - /terser-webpack-plugin/1.4.5_webpack@4.46.0: - resolution: {integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==} - engines: {node: '>= 6.9.0'} - peerDependencies: - webpack: ^4.0.0 - dependencies: - cacache: 12.0.4 - find-cache-dir: 2.1.0 - is-wsl: 1.1.0 - schema-utils: 1.0.0 - serialize-javascript: 4.0.0 - source-map: 0.6.1 - terser: 4.8.1 - webpack: 4.46.0_webpack-cli@4.10.0 - webpack-sources: 1.4.3 - worker-farm: 1.7.0 - dev: true - - /terser-webpack-plugin/5.3.6_webpack@5.75.0: - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.15 - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.0 - terser: 5.16.1 - webpack: 5.75.0_webpack-cli@5.0.1 - dev: true - - /terser/4.8.1: - resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - acorn: 8.8.0 - commander: 2.20.3 - source-map: 0.6.1 - source-map-support: 0.5.13 - dev: true - - /terser/5.16.1: - resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.0 - commander: 2.20.3 - source-map-support: 0.5.21 + supports-hyperlinks: 2.3.0 dev: true /test-exclude/6.0.0: @@ -6916,13 +6646,6 @@ packages: transitivePeerDependencies: - supports-color - /through2/2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - dependencies: - readable-stream: 2.3.7 - xtend: 4.0.2 - dev: true - /timeout-abort-controller/1.1.1: resolution: {integrity: sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==} dependencies: @@ -6935,13 +6658,6 @@ packages: dependencies: retimer: 3.0.0 - /timers-browserify/2.0.12: - resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} - engines: {node: '>=0.6.0'} - dependencies: - setimmediate: 1.0.5 - dev: true - /tiny-worker/2.3.0: resolution: {integrity: sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==} requiresBuild: true @@ -6953,30 +6669,11 @@ packages: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true - /to-arraybuffer/1.0.1: - resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} - dev: true - /to-fast-properties/2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} dev: true - /to-object-path/0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /to-regex-range/2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: true - /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -6984,29 +6681,24 @@ packages: is-number: 7.0.0 dev: true - /to-regex/3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - /tough-cookie/2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} engines: {node: '>=0.8'} dependencies: psl: 1.9.0 - punycode: 2.1.1 + punycode: 2.3.0 + dev: true + + /tr46/0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true /truncate-utf8-bytes/1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} dependencies: utf8-byte-length: 1.0.4 - /ts-jest/27.1.5_vibqa5hxa5biq5fwuxzv5iobty: + /ts-jest/27.1.5_2g5e7lwqsvuxdxojhdo55sfvve: resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -7027,20 +6719,21 @@ packages: esbuild: optional: true dependencies: - '@types/jest': 28.1.0 + '@babel/core': 7.20.12 + '@types/jest': 29.4.0 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 28.1.0_gsb7asu77en4txj3es3i65pxci + jest: 29.4.1_@types+node@16.11.59 jest-util: 27.5.1 - json5: 2.2.1 + json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.3.8 - typescript: 4.6.4 + typescript: 4.7.4 yargs-parser: 20.2.9 dev: true - /ts-jest/28.0.2_qah6rulmyywoowvfc5owcdakum: + /ts-jest/28.0.2_x4jxemvix5u5qh7s2uiphct2vm: resolution: {integrity: sha512-IOZMb3D0gx6IHO9ywPgiQxJ3Zl4ECylEFwoVpENB55aTn5sdO0Ptyx/7noNBxAaUff708RqQL4XBNxxOVjY0vQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true @@ -7061,13 +6754,14 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.18.13 + '@babel/core': 7.20.12 '@types/jest': 28.1.0 bs-logger: 0.2.6 + esbuild: 0.16.7 fast-json-stable-stringify: 2.1.0 jest: 28.1.0_@types+node@16.11.59 jest-util: 28.1.3 - json5: 2.2.1 + json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.3.8 @@ -7075,73 +6769,41 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-jest/28.0.2_vibqa5hxa5biq5fwuxzv5iobty: - resolution: {integrity: sha512-IOZMb3D0gx6IHO9ywPgiQxJ3Zl4ECylEFwoVpENB55aTn5sdO0Ptyx/7noNBxAaUff708RqQL4XBNxxOVjY0vQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /ts-jest/29.0.5_knhdxpg4pvwuf6vrybjt5d2q5i: + resolution: {integrity: sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' - '@types/jest': ^27.0.0 - babel-jest: ^28.0.0 + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 esbuild: '*' - jest: ^28.0.0 + jest: ^29.0.0 typescript: '>=4.3' peerDependenciesMeta: '@babel/core': optional: true - '@types/jest': + '@jest/types': optional: true babel-jest: optional: true esbuild: optional: true dependencies: - '@types/jest': 28.1.0 + '@babel/core': 7.20.12 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 28.1.0_gsb7asu77en4txj3es3i65pxci - jest-util: 28.1.3 - json5: 2.2.1 + jest: 29.4.1_@types+node@16.11.59 + jest-util: 29.4.1 + json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.3.8 - typescript: 4.6.4 - yargs-parser: 20.2.9 - dev: true - - /ts-loader/8.4.0_hrl2l4xchpnd6hlkqocppvpxx4: - resolution: {integrity: sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==} - engines: {node: '>=10.0.0'} - peerDependencies: - typescript: '*' - webpack: '*' - dependencies: - chalk: 4.1.2 - enhanced-resolve: 4.5.0 - loader-utils: 2.0.4 - micromatch: 4.0.5 - semver: 7.3.8 typescript: 4.7.4 - webpack: 4.46.0_webpack-cli@4.10.0 + yargs-parser: 21.1.1 dev: true - /ts-loader/8.4.0_l2co7ao223gzrfox7yaiyzd7wu: - resolution: {integrity: sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==} - engines: {node: '>=10.0.0'} - peerDependencies: - typescript: '*' - webpack: '*' - dependencies: - chalk: 4.1.2 - enhanced-resolve: 4.5.0 - loader-utils: 2.0.4 - micromatch: 4.0.5 - semver: 7.3.8 - typescript: 4.7.4 - webpack: 5.75.0_webpack-cli@5.0.1 - dev: true - - /ts-node/10.9.1_apbkdfxvcdmborgupeskcsfbo4: + /ts-node/10.9.1_nv75g3i7xuh23du6z7qul3uiqi: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -7160,65 +6822,46 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.7.14 - acorn: 8.8.0 + '@types/node': 18.11.18 + acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.6.4 + typescript: 4.7.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /ts-node/10.9.1_f4s53rsdbgkmxc2oaa23drhnsy: - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 16.11.59 - acorn: 8.8.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.6.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - /ts-pattern/3.3.3: resolution: {integrity: sha512-Z5EFi6g6wyX3uDFHqxF5W5c5h663oZg9O6aOiAT7fqNu0HPSfCxtHzrQ7SblTy738Mrg2Ezorky8H5aUOm8Pvg==} - /tslib/2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - - /tty-browserify/0.0.0: - resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} + /tsconfck/2.0.2_typescript@4.7.4: + resolution: {integrity: sha512-H3DWlwKpow+GpVLm/2cpmok72pwRr1YFROV3YzAmvzfGFiC1zEM/mc9b7+1XnrxuXtEbhJ7xUSIqjPFbedp7aQ==} + engines: {node: ^14.13.1 || ^16 || >=18, pnpm: ^7.18.0} + hasBin: true + peerDependencies: + typescript: ^4.3.5 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 4.7.4 dev: true + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tunnel-agent/0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 + dev: true /tweetnacl/0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true /type-detect/4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} @@ -7230,78 +6873,66 @@ packages: engines: {node: '>=10'} dev: true - /typedarray/0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true - - /typescript/4.6.4: - resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} - engines: {node: '>=4.2.0'} - hasBin: true - /typescript/4.7.4: resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} engines: {node: '>=4.2.0'} hasBin: true dev: true + /uint8-varint/1.0.4: + resolution: {integrity: sha512-FHnaReHRIM7kHe/Ms0I2KGkuSY4o7ouhUJGJeiFEuYWGvBt4Y64+BJ3mV6DqmyYtYTZj4Pz8K/BmViSNFLRrVw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + byte-access: 1.0.1 + longbits: 1.1.0 + uint8arraylist: 2.4.3 + uint8arrays: 4.0.3 + dev: false + + /uint8arraylist/2.4.3: + resolution: {integrity: sha512-oEVZr4/GrH87K0kjNce6z8pSCzLEPqHNLNR5sj8cJOySrTP8Vb/pMIbZKLJGhQKxm1TiZ31atNrpn820Pyqpow==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + uint8arrays: 4.0.3 + dev: false + /uint8arrays/2.1.10: resolution: {integrity: sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==} dependencies: - multiformats: 9.9.0 + multiformats: 9.6.5 dev: true - /uint8arrays/3.1.0: - resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==} + /uint8arrays/3.1.1: + resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==} dependencies: - multiformats: 9.9.0 - - /union-value/1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 + multiformats: 9.6.5 dev: true - /unique-filename/1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + /uint8arrays/4.0.3: + resolution: {integrity: sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - unique-slug: 2.0.2 - dev: true + multiformats: 11.0.1 + dev: false - /unique-slug/2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + /undici/5.16.0: + resolution: {integrity: sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==} + engines: {node: '>=12.18'} dependencies: - imurmurhash: 0.1.4 - dev: true + busboy: 1.6.0 + dev: false /unordered-array-remove/1.0.2: resolution: {integrity: sha512-45YsfD6svkgaCBNyvD+dFHm4qFX9g3wRSIVgWVPtm2OCnphvPxzJoe20ATsiNpNJrmzHifnxm+BN5F7gFT/4gw==} - - /unset-value/1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 dev: true - /upath/1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - dev: true - optional: true - - /update-browserslist-db/1.0.10_browserslist@4.21.4: + /update-browserslist-db/1.0.10_browserslist@4.21.5: resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.4 + browserslist: 4.21.5 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -7309,18 +6940,7 @@ packages: /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.1.1 - - /urix/0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - - /url/0.11.0: - resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} - dependencies: - punycode: 1.3.2 - querystring: 0.2.0 + punycode: 2.3.0 dev: true /ursa-optional/0.10.2: @@ -7329,11 +6949,7 @@ packages: requiresBuild: true dependencies: bindings: 1.5.0 - nan: 2.16.0 - - /use/3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} + nan: 2.17.0 dev: true /utf8-byte-length/1.0.4: @@ -7342,22 +6958,11 @@ packages: /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /util/0.10.3: - resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} - dependencies: - inherits: 2.0.1 - dev: true - - /util/0.11.1: - resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} - dependencies: - inherits: 2.0.3 - dev: true - /uuid/3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true + dev: true /uuid/8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} @@ -7365,18 +6970,20 @@ packages: /v8-compile-cache-lib/3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true /v8-to-istanbul/9.0.1: resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.17 '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.8.0 + convert-source-map: 1.9.0 dev: true /varint/5.0.2: resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} + dev: true /varint/6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} @@ -7388,9 +6995,62 @@ packages: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 + dev: true - /vm-browserify/1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + /vite-plugin-replace/0.1.1_vite@4.0.4: + resolution: {integrity: sha512-v+okl3JNt2pf1jDYijw+WPVt6h9FWa/atTi+qnSFBqmKThLTDhlesx0r3bh+oFPmxRJmis5tNx9HtN6lGFoqWg==} + peerDependencies: + vite: ^2 + dependencies: + vite: 4.0.4_@types+node@16.11.59 + dev: true + + /vite-tsconfig-paths/4.0.3_trrwuuiz4f5khno7hdf3cjz2ky: + resolution: {integrity: sha512-gRO2Q/tOkV+9kMht5tz90+IaEKvW2zCnvwJV3tp2ruPNZOTM5rF+yXorJT4ggmAMYEaJ3nyXjx5P5jY5FwiZ+A==} + peerDependencies: + vite: '>2.0.0-0' + dependencies: + debug: 4.3.4 + globrex: 0.1.2 + tsconfck: 2.0.2_typescript@4.7.4 + vite: 4.0.4_@types+node@16.11.59 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /vite/4.0.4_@types+node@16.11.59: + resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 16.11.59 + esbuild: 0.16.7 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.12.1 + optionalDependencies: + fsevents: 2.3.2 dev: true /walker/1.0.8: @@ -7399,208 +7059,20 @@ packages: makeerror: 1.0.12 dev: true - /watchpack-chokidar2/2.0.1: - resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==} - requiresBuild: true - dependencies: - chokidar: 2.1.8 - transitivePeerDependencies: - - supports-color - dev: true - optional: true - - /watchpack/1.7.5: - resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==} - dependencies: - graceful-fs: 4.2.10 - neo-async: 2.6.2 - optionalDependencies: - chokidar: 3.5.3 - watchpack-chokidar2: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /watchpack/2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - dev: true - /web-streams-polyfill/3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} - - /webpack-cli/4.10.0_webpack@4.46.0: - resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - '@webpack-cli/generators': '*' - '@webpack-cli/migrate': '*' - webpack: 4.x.x || 5.x.x - webpack-bundle-analyzer: '*' - webpack-dev-server: '*' - peerDependenciesMeta: - '@webpack-cli/generators': - optional: true - '@webpack-cli/migrate': - optional: true - webpack-bundle-analyzer: - optional: true - webpack-dev-server: - optional: true - dependencies: - '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0_dfxgqfcw6epibhmjfd2ethbqbi - '@webpack-cli/info': 1.5.0_webpack-cli@4.10.0 - '@webpack-cli/serve': 1.7.0_webpack-cli@4.10.0 - colorette: 2.0.19 - commander: 7.2.0 - cross-spawn: 7.0.3 - fastest-levenshtein: 1.0.16 - import-local: 3.1.0 - interpret: 2.2.0 - rechoir: 0.7.1 - webpack: 4.46.0_webpack-cli@4.10.0 - webpack-merge: 5.8.0 dev: true - /webpack-cli/5.0.1_webpack@5.75.0: - resolution: {integrity: sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==} - engines: {node: '>=14.15.0'} - hasBin: true - peerDependencies: - '@webpack-cli/generators': '*' - webpack: 5.x.x - webpack-bundle-analyzer: '*' - webpack-dev-server: '*' - peerDependenciesMeta: - '@webpack-cli/generators': - optional: true - webpack-bundle-analyzer: - optional: true - webpack-dev-server: - optional: true - dependencies: - '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq - '@webpack-cli/info': 2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq - '@webpack-cli/serve': 2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq - colorette: 2.0.19 - commander: 9.4.1 - cross-spawn: 7.0.3 - envinfo: 7.8.1 - fastest-levenshtein: 1.0.16 - import-local: 3.1.0 - interpret: 3.1.1 - rechoir: 0.8.0 - webpack: 5.75.0_webpack-cli@5.0.1 - webpack-merge: 5.8.0 + /webidl-conversions/3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true - /webpack-merge/5.8.0: - resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} - engines: {node: '>=10.0.0'} + /whatwg-url/5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: - clone-deep: 4.0.1 - wildcard: 2.0.0 - dev: true - - /webpack-sources/1.4.3: - resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} - dependencies: - source-list-map: 2.0.1 - source-map: 0.6.1 - dev: true - - /webpack-sources/3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true - - /webpack/4.46.0_webpack-cli@4.10.0: - resolution: {integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==} - engines: {node: '>=6.11.5'} - hasBin: true - peerDependencies: - webpack-cli: '*' - webpack-command: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - webpack-command: - optional: true - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-module-context': 1.9.0 - '@webassemblyjs/wasm-edit': 1.9.0 - '@webassemblyjs/wasm-parser': 1.9.0 - acorn: 6.4.2 - ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 - chrome-trace-event: 1.0.3 - enhanced-resolve: 4.5.0 - eslint-scope: 4.0.3 - json-parse-better-errors: 1.0.2 - loader-runner: 2.4.0 - loader-utils: 1.4.2 - memory-fs: 0.4.1 - micromatch: 3.1.10 - mkdirp: 0.5.6 - neo-async: 2.6.2 - node-libs-browser: 2.2.1 - schema-utils: 1.0.0 - tapable: 1.1.3 - terser-webpack-plugin: 1.4.5_webpack@4.46.0 - watchpack: 1.7.5 - webpack-cli: 4.10.0_webpack@4.46.0 - webpack-sources: 1.4.3 - transitivePeerDependencies: - - supports-color - dev: true - - /webpack/5.75.0_webpack-cli@5.0.1: - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.0 - acorn-import-assertions: 1.8.0_acorn@8.8.0 - browserslist: 4.21.4 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.6_webpack@5.75.0 - watchpack: 2.4.0 - webpack-cli: 5.0.1_webpack@5.75.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js + tr46: 0.0.3 + webidl-conversions: 3.0.1 dev: true /wherearewe/1.0.2: @@ -7608,6 +7080,14 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: is-electron: 2.2.1 + dev: true + + /wherearewe/2.0.1: + resolution: {integrity: sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + dependencies: + is-electron: 2.2.1 + dev: false /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -7616,16 +7096,6 @@ packages: dependencies: isexe: 2.0.0 - /wildcard/2.0.0: - resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} - dev: true - - /worker-farm/1.7.0: - resolution: {integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==} - dependencies: - errno: 0.1.8 - dev: true - /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -7646,6 +7116,14 @@ packages: signal-exit: 3.0.7 dev: true + /write-file-atomic/5.0.0: + resolution: {integrity: sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + /ws/7.5.9: resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} @@ -7657,24 +7135,43 @@ packages: optional: true utf-8-validate: optional: true + dev: true + + /ws/8.12.0: + resolution: {integrity: sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false /xml2js/0.1.14: resolution: {integrity: sha512-pbdws4PPPNc1HPluSUKamY4GWMk592K7qwcj6BExbVOhhubub8+pMda/ql68b6L3luZs/OGjGSB5goV7SnmgnA==} dependencies: sax: 1.2.4 + dev: true + + /xml2js/0.4.23: + resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} + engines: {node: '>=4.0.0'} + dependencies: + sax: 1.2.4 + xmlbuilder: 11.0.1 + dev: false + + /xmlbuilder/11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + dev: false /xsalsa20/1.2.0: resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - - /y18n/4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true - /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -7698,11 +7195,11 @@ packages: engines: {node: '>=12'} dev: true - /yargs/17.5.1: - resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} + /yargs/17.6.2: + resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} engines: {node: '>=12'} dependencies: - cliui: 7.0.4 + cliui: 8.0.1 escalade: 3.1.1 get-caller-file: 2.0.5 require-directory: 2.1.1 @@ -7714,8 +7211,14 @@ packages: /yn/3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} + dev: true /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + /yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: false diff --git a/packages/marine/worker-script/tsconfig.json b/tsconfig.json similarity index 53% rename from packages/marine/worker-script/tsconfig.json rename to tsconfig.json index 63fa4675..b5bac564 100644 --- a/packages/marine/worker-script/tsconfig.json +++ b/tsconfig.json @@ -2,17 +2,13 @@ "compilerOptions": { "lib": ["es2015", "dom"], "outDir": "./dist/", - "target": "es5", - "module": "commonjs", - "allowJs": true, - "strict": true, - "esModuleInterop": true, + "target": "ESNext", + "module": "ESNext", "skipLibCheck": true, + "strict": true, "forceConsistentCasingInFileNames": true, + "allowJs": true, "declaration": true, - "declarationMap": false, - "sourceMap": false - }, - "exclude": ["node_modules", "dist"], - "include": ["src"] + "moduleResolution": "nodenext" + } }