From 9e67989c33f965bccb5dede53785a55fb1933316 Mon Sep 17 00:00:00 2001 From: Bart Tadych Date: Mon, 4 Jul 2022 14:18:19 +0200 Subject: [PATCH] feat(cdn builds): usage in browsers via a script tag (#469) * CDN build work in progress * rollup configuration for CDN deploy. * umd + esm builds. * fixes for 3 tests. * replace ky by axios. * eslint fixed. * node test app. * readme update. * changeset. * package.json fix after merge. * run_scripts.sh * small fixes. * reduce the size of the packages. * reduce the size of the packages. Co-authored-by: Shalom Ogunshola --- .changeset/modern-roses-live.md | 14 + .changeset/shaggy-apes-invite.md | 5 + .editorconfig | 16 + .eslintrc.js | 2 +- README.md | 40 +- demos/test-app-all/package.json | 6 +- demos/test-app-all/src/App.tsx | 2 + demos/test-app-all/src/Core.tsx | 2 +- demos/test-app-all/src/Evm.tsx | 2 +- demos/test-app-all/src/EvmApi.tsx | 490 +++++----- demos/test-app-all/src/Server.tsx | 2 +- demos/test-cdn/.gitignore | 2 + demos/test-cdn/.prettierrc.js | 3 + demos/test-cdn/cypress.config.js | 8 + .../cypress/e2e/reference-tests.cy.js | 9 + demos/test-cdn/package.json | 16 + demos/test-cdn/public/demo.esm.html | 47 + demos/test-cdn/public/demo.js | 65 ++ demos/test-cdn/public/demo.umd.html | 26 + demos/test-cdn/public/env.example.js | 4 + .../test-cdn/public/reference-tests.umd.html | 29 + demos/test-cdn/public/reference-tests.umd.js | 56 ++ demos/test-node/.env.example | 2 + demos/test-node/.gitignore | 2 + demos/test-node/.prettierrc.js | 3 + demos/test-node/package.json | 17 + demos/test-node/src/main.ts | 42 + demos/test-node/tsconfig.json | 12 + package.json | 12 +- packages/core/package.json | 16 +- packages/core/rollup.config.js | 4 + .../core/src/controllers/AxiosRetry.test.ts | 120 +++ packages/core/src/controllers/AxiosRetry.ts | 38 + .../core/src/controllers/RequestController.ts | 178 ++-- packages/evm/package.json | 11 +- packages/evm/rollup.config.js | 4 + .../evm/src/chainMethods/executeFunction.ts | 2 +- packages/evmApi/package.json | 12 +- packages/evmApi/rollup.config.js | 4 + .../evmApi/src/resolvers/PaginatedResolver.ts | 10 +- packages/evmApi/src/resolvers/Resolver.ts | 21 +- .../EvmConnectorUtils/package.json | 11 +- .../EvmConnectorUtils/rollup.config.js | 4 + .../EvmMetamaskConnector/package.json | 11 +- .../EvmMetamaskConnector/rollup.config.js | 4 + .../EvmWalletconnectConnector/package.json | 15 +- .../rollup.config.js | 44 +- .../src/EvmWalletConnectConnector.ts | 8 +- .../walletConnectWrapper/.prettierignore | 8 + .../walletConnectWrapper/.prettierrc.js | 3 + .../walletConnectWrapper/README.md | 5 + .../walletConnectWrapper/index.d.ts | 7 + .../walletConnectWrapper/package.json | 28 + .../walletConnectWrapper/src/index.js | 16 + .../walletConnectWrapper/webpack.config.js | 20 + packages/integration/package.json | 1 - .../test/evmApi/endpointWeights.test.ts | 2 +- .../integration/test/evmApi/getBlock.test.ts | 6 +- .../test/evmApi/web3ApiVersion.test.ts | 2 +- packages/moralis/package.json | 13 +- packages/moralis/rollup.config.js | 4 + packages/moralis/src/index.ts | 18 +- packages/server/package.json | 11 +- packages/server/rollup.config.js | 4 + .../server/src/AuthMethods/handleSignIn.ts | 2 +- .../server/src/AuthMethods/handleSignUp.ts | 2 +- packages/server/src/utils/setUserData.ts | 2 +- rollup.config.js | 114 +++ run_scripts.sh | 20 + yarn.lock | 890 +++++++++++++++--- 70 files changed, 2075 insertions(+), 556 deletions(-) create mode 100644 .changeset/modern-roses-live.md create mode 100644 .changeset/shaggy-apes-invite.md create mode 100644 .editorconfig create mode 100644 demos/test-cdn/.gitignore create mode 100644 demos/test-cdn/.prettierrc.js create mode 100644 demos/test-cdn/cypress.config.js create mode 100644 demos/test-cdn/cypress/e2e/reference-tests.cy.js create mode 100644 demos/test-cdn/package.json create mode 100644 demos/test-cdn/public/demo.esm.html create mode 100644 demos/test-cdn/public/demo.js create mode 100644 demos/test-cdn/public/demo.umd.html create mode 100644 demos/test-cdn/public/env.example.js create mode 100644 demos/test-cdn/public/reference-tests.umd.html create mode 100644 demos/test-cdn/public/reference-tests.umd.js create mode 100644 demos/test-node/.env.example create mode 100644 demos/test-node/.gitignore create mode 100644 demos/test-node/.prettierrc.js create mode 100644 demos/test-node/package.json create mode 100644 demos/test-node/src/main.ts create mode 100644 demos/test-node/tsconfig.json create mode 100644 packages/core/rollup.config.js create mode 100644 packages/core/src/controllers/AxiosRetry.test.ts create mode 100644 packages/core/src/controllers/AxiosRetry.ts create mode 100644 packages/evm/rollup.config.js create mode 100644 packages/evmApi/rollup.config.js create mode 100644 packages/evmConnectors/EvmConnectorUtils/rollup.config.js create mode 100644 packages/evmConnectors/EvmMetamaskConnector/rollup.config.js create mode 100644 packages/evmConnectors/walletConnectWrapper/.prettierignore create mode 100644 packages/evmConnectors/walletConnectWrapper/.prettierrc.js create mode 100644 packages/evmConnectors/walletConnectWrapper/README.md create mode 100644 packages/evmConnectors/walletConnectWrapper/index.d.ts create mode 100644 packages/evmConnectors/walletConnectWrapper/package.json create mode 100644 packages/evmConnectors/walletConnectWrapper/src/index.js create mode 100644 packages/evmConnectors/walletConnectWrapper/webpack.config.js create mode 100644 packages/moralis/rollup.config.js create mode 100644 packages/server/rollup.config.js create mode 100644 rollup.config.js create mode 100644 run_scripts.sh diff --git a/.changeset/modern-roses-live.md b/.changeset/modern-roses-live.md new file mode 100644 index 0000000000..3bd60cc499 --- /dev/null +++ b/.changeset/modern-roses-live.md @@ -0,0 +1,14 @@ +--- +'@moralisweb3/core': patch +'@moralisweb3/evm': patch +'@moralisweb3/evm-api': patch +'@moralisweb3/evm-connector-utils': patch +'@moralisweb3/evm-metamask-connector': patch +'@moralisweb3/evm-wallet-connect-connector': patch +'@moralisweb3/wallet-connect-wrapper': patch +'@moralisweb3/integration': patch +'moralis': patch +'@moralisweb3/server': patch +--- + +CommonJS/UMD/ESM builds. diff --git a/.changeset/shaggy-apes-invite.md b/.changeset/shaggy-apes-invite.md new file mode 100644 index 0000000000..60081184e7 --- /dev/null +++ b/.changeset/shaggy-apes-invite.md @@ -0,0 +1,5 @@ +--- +'@moralisweb3/core': patch +--- + +Replaced HTTP client `ky` by `axios`. diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..1f6a9303e8 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +tab_width = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +indent_style = space +max_line_length = off +trim_trailing_whitespace = false diff --git a/.eslintrc.js b/.eslintrc.js index 9447f36e6b..8ef99b5819 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,7 +2,7 @@ module.exports = { parser: '@typescript-eslint/parser', plugins: ['@typescript-eslint'], extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], - ignorePatterns: ['**/__tests__/**/*', '**/lib/**/*', '**/lib.esm/**/*', '**/*.test.ts'], + ignorePatterns: ['**/__tests__/**/*', '**/lib/**/*', '**/lib.esm/**/*', '**/*.test.ts', '**/dist/**/*'], env: { browser: true, es6: true, diff --git a/README.md b/README.md index d74b16c6f3..4b25445a45 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,11 @@ Current Features in this alpha build: - [x] Authenticate to the server via password - [x] Evm transfer, and executeFunction utilities - [x] EvmApi +- [x] Usage in browsers via a script tag Coming up: - [ ] Connect to an Evm network with other connectors -- [ ] Usage in browsers via a script tag - [ ] Support for NodeJs - [ ] Support for react-native - [ ] Solana support @@ -89,31 +89,59 @@ Install the package via `npm`: npm install moralis ``` -or `yarn` +or `yarn`: ```shell yarn add moralis ``` +Import Moralis: + +```js +import Moralis from 'moralis'; +``` + #### Browser (UMD) If you want to use a pre-compiled file from unpkg: -TODO +```html + + +``` #### Browser (ESM) Or if you prefer the more modern EsModule build: -TODO +```html + + +``` + +⚠ Import maps are [not well supported](https://caniuse.com/import-maps) by modern browsers yet. We don't recommend using it for a production. #### 2. Initialise Moralis After your dependency is added, you simply need to initialize moralis via the `start` method: ```javascript -import { Moralis } from 'moralis'; - Moralis.start({ serverUrl: '', appId: '', diff --git a/demos/test-app-all/package.json b/demos/test-app-all/package.json index 1cf60af512..4bf966f0cf 100644 --- a/demos/test-app-all/package.json +++ b/demos/test-app-all/package.json @@ -1,5 +1,5 @@ { - "name": "@morlaisweb3/test-app-all", + "name": "@moralisweb3/test-app-all", "version": "2.0.0-alpha.1", "private": true, "dependencies": { @@ -20,6 +20,7 @@ "start": "craco start", "dev": "craco start", "build": "craco build", + "build:dev": "craco build", "eject": "craco eject", "format": "prettier . '**/*.+(js|ts|json)' --write", "format:check": "prettier . '**/*.+(js|ts|json)' --check", @@ -45,6 +46,7 @@ }, "devDependencies": { "@types/eslint": "^8.4.1", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "eslint-config-react-app": "^6.0.0" } } diff --git a/demos/test-app-all/src/App.tsx b/demos/test-app-all/src/App.tsx index 923f4fe886..ad3220dc2c 100644 --- a/demos/test-app-all/src/App.tsx +++ b/demos/test-app-all/src/App.tsx @@ -15,6 +15,8 @@ Moralis.start({ defaultEvmApiChain: 'eth', }); +console.log('Moralis started', Moralis.Core.config.get('serverUrl')); + function App() { return (
diff --git a/demos/test-app-all/src/Core.tsx b/demos/test-app-all/src/Core.tsx index 7f4eace52e..cb297947fd 100644 --- a/demos/test-app-all/src/Core.tsx +++ b/demos/test-app-all/src/Core.tsx @@ -1,4 +1,4 @@ -import { Moralis } from 'moralis'; +import Moralis from 'moralis'; import MoralisCore from '@moralisweb3/core'; import Server from '@moralisweb3/server'; import EvmApi from '@moralisweb3/evm-api'; diff --git a/demos/test-app-all/src/Evm.tsx b/demos/test-app-all/src/Evm.tsx index ca9398172e..a8f4c42f31 100644 --- a/demos/test-app-all/src/Evm.tsx +++ b/demos/test-app-all/src/Evm.tsx @@ -1,4 +1,4 @@ -import { Moralis } from 'moralis'; +import Moralis from 'moralis'; import { Erc20Value, EvmNative } from '@moralisweb3/core'; import WalletConnectConnector from '@moralisweb3/evm-wallet-connect-connector'; import MetamaskConnector from '@moralisweb3/evm-metamask-connector'; diff --git a/demos/test-app-all/src/EvmApi.tsx b/demos/test-app-all/src/EvmApi.tsx index 3599c48df7..6ee060c472 100644 --- a/demos/test-app-all/src/EvmApi.tsx +++ b/demos/test-app-all/src/EvmApi.tsx @@ -389,20 +389,20 @@ export const EvmApi = () => { onClick={() => { Moralis.EvmApi.native .getContractEvents({ - chain: "eth", - address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", - topic: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - limit: 3, - abi: { - anonymous: false, - inputs: [ - { indexed: true, name: "from", type: "address" }, - { indexed: true, name: "to", type: "address" }, - { indexed: false, name: "value", type: "uint256" }, - ], - name: "Transfer", - type: "event", - }, + chain: 'eth', + address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', + topic: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', + limit: 3, + abi: { + anonymous: false, + inputs: [ + { indexed: true, name: 'from', type: 'address' }, + { indexed: true, name: 'to', type: 'address' }, + { indexed: false, name: 'value', type: 'uint256' }, + ], + name: 'Transfer', + type: 'event', + }, }) .then(console.log); }} @@ -414,232 +414,231 @@ export const EvmApi = () => { onClick={() => { Moralis.EvmApi.native .runContractFunction({ - - address: "0xecc7f044aa1ce2ad9d2453b01b8732a051213ecf", - functionName: "totalSupply", - chain: "rinkeby", - abi: [ - { - constant: true, - inputs: [], - name: "name", - outputs: [ - { - name: "", - type: "string", - }, - ], - payable: false, - stateMutability: "view", - type: "function", - }, - { - constant: false, - inputs: [ - { - name: "_spender", - type: "address", - }, - { - name: "_value", - type: "uint256", - }, - ], - name: "approve", - outputs: [ - { - name: "", - type: "bool", - }, - ], - payable: false, - stateMutability: "nonpayable", - type: "function", - }, - { - constant: true, - inputs: [], - name: "totalSupply", - outputs: [ - { - name: "", - type: "uint256", - }, - ], - payable: false, - stateMutability: "view", - type: "function", - }, - { - constant: false, - inputs: [ - { - name: "_from", - type: "address", - }, - { - name: "_to", - type: "address", - }, - { - name: "_value", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [ - { - name: "", - type: "bool", - }, - ], - payable: false, - stateMutability: "nonpayable", - type: "function", - }, - { - constant: true, - inputs: [], - name: "decimals", - outputs: [ - { - name: "", - type: "uint8", - }, - ], - payable: false, - stateMutability: "view", - type: "function", - }, - { - constant: true, - inputs: [ - { - name: "_owner", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - name: "balance", - type: "uint256", - }, - ], - payable: false, - stateMutability: "view", - type: "function", - }, - { - constant: true, - inputs: [], - name: "symbol", - outputs: [ - { - name: "", - type: "string", - }, - ], - payable: false, - stateMutability: "view", - type: "function", - }, - { - constant: false, - inputs: [ - { - name: "_to", - type: "address", - }, - { - name: "_value", - type: "uint256", - }, - ], - name: "transfer", - outputs: [ - { - name: "", - type: "bool", - }, - ], - payable: false, - stateMutability: "nonpayable", - type: "function", - }, - { - constant: true, - inputs: [ - { - name: "_owner", - type: "address", - }, - { - name: "_spender", - type: "address", - }, - ], - name: "allowance", - outputs: [ - { - name: "", - type: "uint256", - }, - ], - payable: false, - stateMutability: "view", - type: "function", - }, - { - payable: true, - stateMutability: "payable", - type: "fallback", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: "owner", - type: "address", - }, - { - indexed: true, - name: "spender", - type: "address", - }, - { - indexed: false, - name: "value", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: "from", - type: "address", - }, - { - indexed: true, - name: "to", - type: "address", - }, - { - indexed: false, - name: "value", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - ], + address: '0xecc7f044aa1ce2ad9d2453b01b8732a051213ecf', + functionName: 'totalSupply', + chain: 'rinkeby', + abi: [ + { + constant: true, + inputs: [], + name: 'name', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_spender', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'totalSupply', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'decimals', + outputs: [ + { + name: '', + type: 'uint8', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + name: 'balance', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'symbol', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_to', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'transfer', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + { + name: '_spender', + type: 'address', + }, + ], + name: 'allowance', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + payable: true, + stateMutability: 'payable', + type: 'fallback', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'owner', + type: 'address', + }, + { + indexed: true, + name: 'spender', + type: 'address', + }, + { + indexed: false, + name: 'value', + type: 'uint256', + }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'from', + type: 'address', + }, + { + indexed: true, + name: 'to', + type: 'address', + }, + { + indexed: false, + name: 'value', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + ], }) .then(console.log); }} @@ -652,11 +651,12 @@ export const EvmApi = () => { Moralis.EvmApi.storage .uploadFolder({ abi: [ - { - path: "moralis/logo.jpg", - content: "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3" - } - ] + { + path: 'moralis/logo.jpg', + content: + 'iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3', + }, + ], }) .then(console.log); }} diff --git a/demos/test-app-all/src/Server.tsx b/demos/test-app-all/src/Server.tsx index c36505deaf..b996518782 100644 --- a/demos/test-app-all/src/Server.tsx +++ b/demos/test-app-all/src/Server.tsx @@ -1,5 +1,5 @@ import { AuthMethod } from '@moralisweb3/server'; -import { Moralis } from 'moralis'; +import Moralis from 'moralis'; export const Server = () => { return ( diff --git a/demos/test-cdn/.gitignore b/demos/test-cdn/.gitignore new file mode 100644 index 0000000000..8c61613e76 --- /dev/null +++ b/demos/test-cdn/.gitignore @@ -0,0 +1,2 @@ +cypress/screenshots/ +public/env.js diff --git a/demos/test-cdn/.prettierrc.js b/demos/test-cdn/.prettierrc.js new file mode 100644 index 0000000000..eaa2f420ff --- /dev/null +++ b/demos/test-cdn/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + ...require('../../.prettierrc'), +}; diff --git a/demos/test-cdn/cypress.config.js b/demos/test-cdn/cypress.config.js new file mode 100644 index 0000000000..d428e914ce --- /dev/null +++ b/demos/test-cdn/cypress.config.js @@ -0,0 +1,8 @@ +const { defineConfig } = require('cypress'); + +module.exports = defineConfig({ + e2e: { + supportFile: false, + baseUrl: 'http://localhost:10101', + }, +}); diff --git a/demos/test-cdn/cypress/e2e/reference-tests.cy.js b/demos/test-cdn/cypress/e2e/reference-tests.cy.js new file mode 100644 index 0000000000..da4117fd48 --- /dev/null +++ b/demos/test-cdn/cypress/e2e/reference-tests.cy.js @@ -0,0 +1,9 @@ +describe('reference-tests', () => { + it('all UMD tests passed', () => { + cy.visit('/demos/test-cdn/public/reference-tests.umd.html'); + + cy.get('[test-id=result]', { + timeout: 2000, + }).should('have.value', 'Passed'); + }); +}); diff --git a/demos/test-cdn/package.json b/demos/test-cdn/package.json new file mode 100644 index 0000000000..51cd0b5f15 --- /dev/null +++ b/demos/test-cdn/package.json @@ -0,0 +1,16 @@ +{ + "name": "@moralisweb3/test-cdn", + "version": "2.0.0-alpha.1", + "scripts": { + "serve": "http-server ../../ -c-1 -p 10101", + "cypress": "cypress run --config video=false", + "e2e": "start-server-and-test serve http://localhost:10101 cypress", + "format": "prettier . '**/*.+(js|ts|json)' --write", + "format:check": "prettier . '**/*.+(js|ts|json)' --check" + }, + "devDependencies": { + "cypress": "^10.2.0", + "http-server": "^14.1.1", + "start-server-and-test": "^1.14.0" + } +} diff --git a/demos/test-cdn/public/demo.esm.html b/demos/test-cdn/public/demo.esm.html new file mode 100644 index 0000000000..8e72fe8af9 --- /dev/null +++ b/demos/test-cdn/public/demo.esm.html @@ -0,0 +1,47 @@ + + + + + + + Demo - Moralis Test CDN + + + + + + + + + + +

Demo ESM - Moralis CDN

+ +

Warning: this demo uses <script type="importmap"> which is supported only by modern browsers.

+ +
+ + + diff --git a/demos/test-cdn/public/demo.js b/demos/test-cdn/public/demo.js new file mode 100644 index 0000000000..00d7f616cf --- /dev/null +++ b/demos/test-cdn/public/demo.js @@ -0,0 +1,65 @@ +/* eslint-disable no-console */ + +function initMoralis() { + Moralis.Evm.connectors.register(WalletConnectConnector); + + Moralis.start({ + serverUrl: MORALIS_SERVER_URL, + appId: MORALIS_APP_ID, + }); +} + +function appendButton(label, handler) { + const demo = document.getElementById('demo'); + const button = document.createElement('button'); + button.innerText = label; + button.addEventListener('click', async () => { + try { + const result = await handler(); + console.log('result', result ?? 'undefined'); + } catch (e) { + console.error('error', e); + } + }); + demo.appendChild(button); +} + +function initDemo() { + appendButton('Evm.connect / metamask', () => { + return Moralis.Evm.connect('metamask', {}); + }); + + appendButton('Evm.connect / walletConnect', () => { + return Moralis.Evm.connect('wallet-connect', {}); + }); + + appendButton('Evm.transferNative', () => { + return Moralis.Evm.transferNative({ + to: '0x295522b61890c3672D12eFbFf4358a6411CE996F', + value: '0.001', + }); + }); + + appendButton('EvmApi.info.web3ApiVersion', () => { + return Moralis.EvmApi.info.web3ApiVersion(); + }); + + appendButton('EvmApi.native.getBlock', () => { + return Moralis.EvmApi.native.getBlock({ + blockNumberOrHash: '1000000', + }); + }); + + appendButton('Server.authenticate', () => { + return Moralis.Server.authenticate('evm', { connector: 'metamask', silent: false }); + }); + + appendButton('Server.fetchIPFS', () => { + return Moralis.Server.fetchIPFS('QmUfpsyqc4hwozotRo4woyi5fJqvfcej5GcFvKiWoY6xr6'); + }); +} + +window.addEventListener('load', () => { + initMoralis(); + initDemo(); +}); diff --git a/demos/test-cdn/public/demo.umd.html b/demos/test-cdn/public/demo.umd.html new file mode 100644 index 0000000000..28b9a04874 --- /dev/null +++ b/demos/test-cdn/public/demo.umd.html @@ -0,0 +1,26 @@ + + + + + + + Demo - Moralis Test CDN + + + + + + + + + + +

Demo UMD - Moralis CDN

+ +
+ + + diff --git a/demos/test-cdn/public/env.example.js b/demos/test-cdn/public/env.example.js new file mode 100644 index 0000000000..092f223700 --- /dev/null +++ b/demos/test-cdn/public/env.example.js @@ -0,0 +1,4 @@ +// Create `env.js` by using this example. + +window.MORALIS_SERVER_URL = 'replace_me'; +window.MORALIS_APP_ID = 'replace_me'; diff --git a/demos/test-cdn/public/reference-tests.umd.html b/demos/test-cdn/public/reference-tests.umd.html new file mode 100644 index 0000000000..6c656ce710 --- /dev/null +++ b/demos/test-cdn/public/reference-tests.umd.html @@ -0,0 +1,29 @@ + + + + + + + Reference Tests - Moralis CDN + + + + + + + + + + + +

Reference Tests - Moralis CDN

+ + Result: + +
+ + + + diff --git a/demos/test-cdn/public/reference-tests.umd.js b/demos/test-cdn/public/reference-tests.umd.js new file mode 100644 index 0000000000..a03919f723 --- /dev/null +++ b/demos/test-cdn/public/reference-tests.umd.js @@ -0,0 +1,56 @@ +class Logger { + constructor(element) { + this.element = element; + } + + write(color, text) { + const item = document.createElement('div'); + item.style.color = color; + item.innerText = text; + this.element.appendChild(item); + } + + log(text) { + this.write('gray', text); + } + + error(text) { + this.write('red', text); + } +} + +document.addEventListener('DOMContentLoaded', () => { + const logger = new Logger(document.getElementById('log')); + const result = document.querySelector('input[test-id=result]'); + + let passed = true; + + function test(expression) { + try { + const instance = new Function('return ' + expression)(); + if (!instance) { + throw new Error('Value cannot be null or undefined'); + } + logger.log(`${expression} = ${typeof instance}`); + } catch (e) { + passed = false; + logger.error(e + ` (${expression})`); + } + } + + test('Moralis'); + test('Moralis.start'); + test('Moralis.Core'); + test('Moralis.Core.name'); + test('Moralis.Server'); + test('Moralis.Server.name'); + test('Moralis.Evm'); + test('Moralis.Evm.name'); + test('Moralis.EvmApi'); + test('Moralis.EvmApi.name'); + + test('WalletConnectConnector'); + test('WalletConnectConnector.name'); + + result.value = passed ? 'Passed' : 'Error'; +}); diff --git a/demos/test-node/.env.example b/demos/test-node/.env.example new file mode 100644 index 0000000000..6e480832c2 --- /dev/null +++ b/demos/test-node/.env.example @@ -0,0 +1,2 @@ +MORALIS_SERVER_URL=replace_me +MORALIS_APP_ID=replace_me diff --git a/demos/test-node/.gitignore b/demos/test-node/.gitignore new file mode 100644 index 0000000000..d5e60da7ea --- /dev/null +++ b/demos/test-node/.gitignore @@ -0,0 +1,2 @@ +build/ +.env diff --git a/demos/test-node/.prettierrc.js b/demos/test-node/.prettierrc.js new file mode 100644 index 0000000000..eaa2f420ff --- /dev/null +++ b/demos/test-node/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + ...require('../../.prettierrc'), +}; diff --git a/demos/test-node/package.json b/demos/test-node/package.json new file mode 100644 index 0000000000..643afa1fd6 --- /dev/null +++ b/demos/test-node/package.json @@ -0,0 +1,17 @@ +{ + "name": "@moralisweb3/test-node", + "author": "Moralis", + "version": "2.0.0-alpha.1", + "license": "MIT", + "scripts": { + "build": "tsc", + "build:dev": "tsc", + "start": "node build/main.js", + "format": "prettier . 'src/**/*.+(js|ts|json)' --write", + "format:check": "prettier . 'src/**/*.+(js|ts|json)' --check" + }, + "dependencies": { + "moralis": "^2.0.0-alpha.1", + "dotenv": "^16.0.1" + } +} diff --git a/demos/test-node/src/main.ts b/demos/test-node/src/main.ts new file mode 100644 index 0000000000..9b8e27d2d2 --- /dev/null +++ b/demos/test-node/src/main.ts @@ -0,0 +1,42 @@ +/* eslint-disable no-console */ +import Moralis from 'moralis'; +import dotenv from 'dotenv'; + +function readEnv(): { [key: string]: string } { + return dotenv.config().parsed as { [key: string]: string }; +} + +async function test(key: string, getValue: () => Promise) { + try { + const value = await getValue(); + console.log(`✅ ${key} = ${JSON.stringify(value)}`); + } catch (e) { + console.error(`❌ ${key} = ${e}`); + } +} + +async function main() { + const env = readEnv(); + console.info('🔥 test-node'); + + Moralis.start({ + serverUrl: env['MORALIS_SERVER_URL'], + appId: env['MORALIS_APP_ID'], + }); + + await test('Api version', () => { + return Moralis.EvmApi.info.web3ApiVersion(); + }); + + await test('Resolve address', () => { + return Moralis.EvmApi.resolve.resolveAddress({ + address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', + }); + }); + + await test('IPFS file', () => { + return Moralis.Server.fetchIPFS('QmUfpsyqc4hwozotRo4woyi5fJqvfcej5GcFvKiWoY6xr6'); + }); +} + +main(); diff --git a/demos/test-node/tsconfig.json b/demos/test-node/tsconfig.json new file mode 100644 index 0000000000..ac797bbf6f --- /dev/null +++ b/demos/test-node/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2017", + "outDir": "build", + "strict": true, + "esModuleInterop": true, + "moduleResolution": "node", + "lib": ["es2017"] + }, + "include": ["src"] +} diff --git a/package.json b/package.json index e33599b871..0541e634a1 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,16 @@ "devDependencies": { "@changesets/changelog-github": "^0.4.4", "@changesets/cli": "^2.22.0", + "@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-commonjs": "^22.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.3.0", - "@types/eslint": "^8.4.1", - "@types/estree": "^0.0.51", - "@types/jest": "^27.4.0", + "@rollup/plugin-replace": "^4.0.0", "@typescript-eslint/eslint-plugin": "^5.30.0", "@typescript-eslint/parser": "^5.30.0", + "eslint": "^8.17.0", + "@types/estree": "^0.0.51", + "@types/jest": "^27.4.0", "add": "^2.0.6", "cross-env": "^7.0.3", "jest": "28", @@ -28,12 +30,14 @@ "rollup-plugin-node-polyfills": "^0.2.1", "rollup-plugin-peer-deps-external": "^2.2.4", "rollup-plugin-typescript2": "^0.31.2", + "rollup-plugin-uglify": "^6.0.4", "ts-jest": "^28.0.3", "typescript": "^4.5.5", "yarn": "^1.22.17" }, "scripts": { - "build": "yarn nx run-many --target=build --all --exclude=@morlaisweb3/test-app-all", + "build": "bash run_scripts.sh build", + "build:dev": "bash run_scripts.sh build:dev", "dev": "yarn nx run-many --target=dev --all", "lint": "yarn nx run-many --target=lint --all", "clean": "yarn nx run-many --target=clean --all", diff --git a/packages/core/package.json b/packages/core/package.json index 2f3948af72..d1d18d953b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -7,6 +7,11 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "test": "yarn jest --runInBand --detectOpenHandles --forceExit", "test:ci": "yarn test --ci", @@ -16,11 +21,11 @@ "format:check": "prettier . '**/*.+(js|ts|json)' --check", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", - "dev": "tsc --watch" + "build": "rollup -c", + "build:dev": "dev=true rollup -c", + "dev": "rollup -c --watch" }, "devDependencies": { - "eslint": "^8.7.0", "prettier": "^2.5.1", "typed-emitter": "^2.1.0", "typescript": "^4.5.5" @@ -29,8 +34,9 @@ "@ethersproject/address": "^5.6.0", "@ethersproject/bignumber": "^5.6.0", "@ethersproject/units": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", "@xstate/fsm": "^2.0.0", - "ky": "^0.30.0", - "ky-universal": "^0.10.1" + "eventemitter3": "^4.0.7", + "axios": "^0.27.2" } } diff --git a/packages/core/rollup.config.js b/packages/core/rollup.config.js new file mode 100644 index 0000000000..ef3e292ec8 --- /dev/null +++ b/packages/core/rollup.config.js @@ -0,0 +1,4 @@ +import packageJson from './package.json'; +import { commonJs, esm } from '../../rollup.config'; + +export default [commonJs(packageJson), esm(packageJson)]; diff --git a/packages/core/src/controllers/AxiosRetry.test.ts b/packages/core/src/controllers/AxiosRetry.test.ts new file mode 100644 index 0000000000..2131903866 --- /dev/null +++ b/packages/core/src/controllers/AxiosRetry.test.ts @@ -0,0 +1,120 @@ +import axios, { AxiosError, AxiosResponse } from 'axios'; +import { AxiosRetry, AxiosRetryConfig } from './AxiosRetry'; + +describe('AxiosRetry', () => { + function createResponse(data: string, status: number): AxiosResponse { + return { + config: {}, + data, + headers: {}, + status, + statusText: '?', + }; + } + + function spyAxios(throwErrorUntilAttempt: number, errorResponseStatus?: number) { + let attempt = 0; + return jest.spyOn(axios, 'request').mockImplementation(async () => { + try { + if (attempt < throwErrorUntilAttempt) { + throw new AxiosError( + `Request ${attempt}`, + 'Error', + {}, + {}, + createResponse('Error', errorResponseStatus || 444), + ); + } + return createResponse('Success', 200); + } finally { + attempt++; + } + }); + } + + function createRetryConfig(maxAttempts: number): AxiosRetryConfig { + return { + maxAttempts, + allowedMethods: ['GET'], + allowedResponseStatuses: [444], + }; + } + + // tests + + it('should not retry when first request is success', async () => { + const axiosSpy = spyAxios(0); + const retryConfig = createRetryConfig(1); + + const response = await AxiosRetry.request(retryConfig, { + method: 'GET', + url: 'https://localhost/a.json', + }); + + expect(axiosSpy).toBeCalledTimes(1); + expect(response.status).toEqual(200); + expect(response.data).toEqual('Success'); + axiosSpy.mockRestore(); + }); + + it('should throw error when limit is over', async () => { + const axiosSpy = spyAxios(999); + const retryConfig = createRetryConfig(3); + + await expect(async () => { + await AxiosRetry.request(retryConfig, { + method: 'GET', + url: 'https://localhost/a.json', + }); + }).rejects.toThrowError('Request 2'); + + axiosSpy.mockRestore(); + }); + + it('should not retry when the method is not included in allowedMethods', async () => { + const axiosSpy = spyAxios(3); + const retryConfig = createRetryConfig(4); + + await expect(async () => { + await AxiosRetry.request(retryConfig, { + method: 'POST', + url: 'https://localhost/a.json', + }); + }).rejects.toThrowError('Request 0'); + + axiosSpy.mockRestore(); + }); + + it('should not retry when response status is not included in allowedResponseStatuses', async () => { + const axiosSpy = spyAxios(3, 500); + const retryConfig = createRetryConfig(4); + + await expect(async () => { + await AxiosRetry.request(retryConfig, { + method: 'GET', + url: 'https://localhost/a.json', + }); + }).rejects.toThrowError('Request 0'); + + axiosSpy.mockRestore(); + }); + + it('should retry', async () => { + const axiosSpy = spyAxios(3); + const beforeRetrySpy = jest.fn(() => {}); + + const retryConfig = createRetryConfig(4); + retryConfig.beforeRetry = beforeRetrySpy; + + const response = await AxiosRetry.request(retryConfig, { + method: 'get', + url: 'https://localhost/a.json', + }); + + expect(axiosSpy).toBeCalledTimes(4); + expect(beforeRetrySpy).toBeCalledTimes(3); + expect(response.status).toEqual(200); + expect(response.data).toEqual('Success'); + axiosSpy.mockRestore(); + }); +}); diff --git a/packages/core/src/controllers/AxiosRetry.ts b/packages/core/src/controllers/AxiosRetry.ts new file mode 100644 index 0000000000..4f47715775 --- /dev/null +++ b/packages/core/src/controllers/AxiosRetry.ts @@ -0,0 +1,38 @@ +import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios'; + +export interface AxiosRetryConfig { + maxAttempts: number; + allowedMethods: string[]; + allowedResponseStatuses: number[]; + beforeRetry?: (attempt: number, error: AxiosError) => void; +} + +export class AxiosRetry { + public static async request( + retryConfig: AxiosRetryConfig, + requestConfig: AxiosRequestConfig, + ): Promise> { + for (let attempt = 1; ; attempt++) { + try { + return await axios.request(requestConfig); + } catch (e) { + if (attempt >= retryConfig.maxAttempts) { + throw e; + } + if (!requestConfig.method || !retryConfig.allowedMethods.includes(requestConfig.method.toUpperCase())) { + throw e; + } + if (!axios.isAxiosError(e)) { + throw e; + } + const axiosError = e as AxiosError; + if (!axiosError.response?.status || !retryConfig.allowedResponseStatuses.includes(axiosError.response.status)) { + throw e; + } + if (retryConfig.beforeRetry) { + retryConfig.beforeRetry(attempt, axiosError); + } + } + } + } +} diff --git a/packages/core/src/controllers/RequestController.ts b/packages/core/src/controllers/RequestController.ts index faf89ea81f..1e2d8cbb0b 100644 --- a/packages/core/src/controllers/RequestController.ts +++ b/packages/core/src/controllers/RequestController.ts @@ -1,9 +1,10 @@ -import ky, { HTTPError } from 'ky-universal'; -import core from '../MoralisCore'; +import axios, { AxiosError, AxiosRequestConfig } from 'axios'; import { CoreErrorCode, MoralisCoreError } from '../Error'; +import { AxiosRetry, AxiosRetryConfig } from './AxiosRetry'; +import core from '../MoralisCore'; -interface BaseOptions { - headers?: Record; +export interface RequestOptions { + headers?: { [name: string]: string }; } /** @@ -11,129 +12,118 @@ interface BaseOptions { * compatible with browser, nodejJs and react-native */ export class RequestController { - private static baseRequest(options?: BaseOptions) { - return ky.create({ - headers: options?.headers, - retry: { - limit: 2, - methods: ['get', 'options'], - statusCodes: [408, 413, 429, 500, 502, 503, 504], - }, - timeout: 10000, - - hooks: { - beforeRequest: [ - (request) => { - core.logger.verbose('[RequestController] request started', { - url: request.url, - method: request.method, - body: request.bodyUsed, - }); - }, - ], - beforeError: [ - (httpError) => { - core.logger.verbose('[RequestController] request error', { - url: httpError.request.url, - method: httpError.request.method, - body: httpError.request.bodyUsed, - cause: httpError.cause, - name: httpError.name, - response: httpError.response, - }); + private static async request(config: AxiosRequestConfig): Promise { + core.logger.verbose('[RequestController] request started', { + url: config.url, + method: config.method, + body: config.data, + }); - return httpError; - }, - ], - beforeRetry: [ - (state) => { - core.logger.verbose('[RequestController] request retry', { - url: state.request.url, - method: state.request.method, - body: state.request.bodyUsed, - error: state.error, - retryCount: state.retryCount, - }); - }, - ], + const retryConfig: AxiosRetryConfig = { + maxAttempts: 2, + allowedMethods: ['GET', 'OPTIONS'], + allowedResponseStatuses: [408, 413, 429, 500, 502, 503, 504], + beforeRetry: (attempt: number, error: AxiosError) => { + core.logger.verbose('[RequestController] request retry', { + url: config.url, + method: config.method, + body: config.data, + error, + attempt, + }); }, - }); - } + }; + + try { + const response = await AxiosRetry.request(retryConfig, { + ...config, + timeout: 10000, + }); + return response.data; + } catch (e) { + const error = this.makeError(e); - private static makeError(error: unknown) { - if (!(error instanceof Error)) { - return error; + core.logger.verbose('[RequestController] request error', { + url: config.url, + method: config.method, + body: config.data, + cause: error.cause, + name: error.name, + details: error.details, + }); + throw error; } + } - if (error instanceof HTTPError) { - const httpError = error as HTTPError; + private static makeError(error: unknown): MoralisCoreError { + if (axios.isAxiosError(error)) { + const axiosError = error as AxiosError; return new MoralisCoreError({ code: CoreErrorCode.REQUEST_ERROR, - message: `Request failed with status ${httpError.response.status}: ${httpError.message}`, + message: `Request failed with status ${axiosError.response?.status}: ${axiosError.message}`, cause: error, details: { - status: httpError.response.status, - request: httpError.request, - response: httpError.request, - options: httpError.options, + status: axiosError.response?.status, + request: axiosError.request, + response: axiosError.request, }, }); } + const err = error instanceof Error ? error : new Error(`${error}`); return new MoralisCoreError({ code: CoreErrorCode.REQUEST_ERROR, - message: `Request failed: ${error.message}`, - cause: error, + message: `Request failed: ${err.message}`, + cause: err, }); } - static async post, Body extends Record>( + static post, Body extends Record>( url: string, params?: Params, body?: Body, - options?: BaseOptions, + options?: RequestOptions, abortSignal?: AbortController['signal'], - ) { - try { - const result = await this.baseRequest(options) - .post(url, { json: body, searchParams: params, signal: abortSignal }) - .json(); - return result; - } catch (error) { - throw this.makeError(error); - } + ): Promise { + return this.request({ + url, + method: 'POST', + data: body, + params, + headers: options?.headers, + signal: abortSignal, + }); } - static async put, Body extends Record>( + static put, Body extends Record>( url: string, params?: Params, body?: Body, - options?: BaseOptions, + options?: RequestOptions, abortSignal?: AbortController['signal'], - ) { - try { - const result = await this.baseRequest(options) - .put(url, { json: body, searchParams: params, signal: abortSignal }) - .json(); - return result; - } catch (error) { - throw this.makeError(error); - } + ): Promise { + return this.request({ + url, + method: 'PUT', + data: body, + params, + headers: options?.headers, + signal: abortSignal, + }); } static async get>( url: string, params?: Params, - options?: BaseOptions, + options?: RequestOptions, abortSignal?: AbortController['signal'], - ) { - try { - const result = await this.baseRequest(options) - .get(url, { signal: abortSignal, searchParams: params }) - .json(); - return result; - } catch (error) { - throw this.makeError(error); - } + ): Promise { + return this.request({ + url, + method: 'GET', + params, + headers: options?.headers, + signal: abortSignal, + }); } } diff --git a/packages/evm/package.json b/packages/evm/package.json index 96fdd4b868..453103d4b5 100644 --- a/packages/evm/package.json +++ b/packages/evm/package.json @@ -7,6 +7,11 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "test": "echo 'not implemented'", "test:coverage": "yarn run test --coverage", @@ -15,13 +20,13 @@ "format:check": "prettier . '**/*.+(js|ts|json)' --check", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", - "dev": "tsc --watch", + "build": "rollup -c", + "build:dev": "dev=true rollup -c", + "dev": "rollup -c --watch", "gen:contracts": "rm -rf src/Contract/generated && typechain --target=ethers-v5 --out-dir=src/Contract/generated 'src/Contract/abis/*.json' " }, "devDependencies": { "@typechain/ethers-v5": "^10.0.0", - "eslint": "^8.11.0", "jest": "^28.0.3", "prettier": "^2.5.1", "typechain": "^8.0.0", diff --git a/packages/evm/rollup.config.js b/packages/evm/rollup.config.js new file mode 100644 index 0000000000..ef3e292ec8 --- /dev/null +++ b/packages/evm/rollup.config.js @@ -0,0 +1,4 @@ +import packageJson from './package.json'; +import { commonJs, esm } from '../../rollup.config'; + +export default [commonJs(packageJson), esm(packageJson)]; diff --git a/packages/evm/src/chainMethods/executeFunction.ts b/packages/evm/src/chainMethods/executeFunction.ts index 91855ce879..4d3fd449f3 100644 --- a/packages/evm/src/chainMethods/executeFunction.ts +++ b/packages/evm/src/chainMethods/executeFunction.ts @@ -1,5 +1,5 @@ import { JsonFragment, JsonFragmentType } from '@ethersproject/abi'; -import { EvmAddress, EvmAddressish, MoralisServerError, ServerErrorCode } from '@moralisweb3/core/lib'; +import { EvmAddress, EvmAddressish, MoralisServerError, ServerErrorCode } from '@moralisweb3/core'; import ethers, { BigNumberish, Contract, ContractFunction } from 'ethers'; import { assertProvider } from '../assert/assertProvider'; diff --git a/packages/evmApi/package.json b/packages/evmApi/package.json index 23f698947c..78f9dcd3bf 100644 --- a/packages/evmApi/package.json +++ b/packages/evmApi/package.json @@ -7,22 +7,28 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "format": "prettier . '**/*.+(js|ts|json)' --write", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "format:check": "prettier . '**/*.+(js|ts|json)' --check", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", + "build": "rollup -c rollup.config.js", + "build:dev": "dev=true rollup -c", "gen:types": "openapi-typescript https://deep-index.moralis.io/api-docs/v2/swagger.json --output src/generated/types.ts", "dev": "tsc --watch" }, "devDependencies": { - "eslint": "^8.7.0", "openapi-typescript": "^5.2.0", "prettier": "^2.5.1", "typescript": "^4.5.5" }, "dependencies": { - "@moralisweb3/core": "^2.0.0-alpha.1" + "@moralisweb3/core": "^2.0.0-alpha.1", + "ethers": "^5.6.2" } } diff --git a/packages/evmApi/rollup.config.js b/packages/evmApi/rollup.config.js new file mode 100644 index 0000000000..ef3e292ec8 --- /dev/null +++ b/packages/evmApi/rollup.config.js @@ -0,0 +1,4 @@ +import packageJson from './package.json'; +import { commonJs, esm } from '../../rollup.config'; + +export default [commonJs(packageJson), esm(packageJson)]; diff --git a/packages/evmApi/src/resolvers/PaginatedResolver.ts b/packages/evmApi/src/resolvers/PaginatedResolver.ts index c6821784dd..97a2c76c5c 100644 --- a/packages/evmApi/src/resolvers/PaginatedResolver.ts +++ b/packages/evmApi/src/resolvers/PaginatedResolver.ts @@ -69,14 +69,18 @@ export class EvmPaginatedResolver< const searchParams = this.getSearchParams(apiParams); const bodyParams = this.getBodyParams(apiParams); + const apiKey = core.config.get('apiKey'); + const headers: { [key: string]: string } = {}; + if (apiKey) { + headers['x-api-key'] = apiKey; + } + const result = await RequestController.post< PaginatedResponse, Record, Record >(url, searchParams, bodyParams, { - headers: { - 'x-api-key': core.config.get('apiKey') ?? undefined, - }, + headers, }); return new EvmApiPaginatedResultAdapter( diff --git a/packages/evmApi/src/resolvers/Resolver.ts b/packages/evmApi/src/resolvers/Resolver.ts index 898c8c87c5..70e482e83e 100644 --- a/packages/evmApi/src/resolvers/Resolver.ts +++ b/packages/evmApi/src/resolvers/Resolver.ts @@ -105,9 +105,7 @@ export class EvmResolver(url, searchParams, { - headers: { - 'x-api-key': core.config.get('apiKey') ?? undefined, - }, + headers: this.createHeaders(), }); return new EvmApiResultAdapter(result, this.apiToResult, this.resultToJson, params); @@ -125,9 +123,7 @@ export class EvmResolver { if (core.config.get('apiKey')) { switch (this.method) { diff --git a/packages/evmConnectors/EvmConnectorUtils/package.json b/packages/evmConnectors/EvmConnectorUtils/package.json index e885a0db78..1a30953330 100644 --- a/packages/evmConnectors/EvmConnectorUtils/package.json +++ b/packages/evmConnectors/EvmConnectorUtils/package.json @@ -7,16 +7,21 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "format": "prettier . '**/*.+(js|ts|json)' --write", "format:check": "prettier . '**/*.+(js|ts|json)' --check", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", - "dev": "tsc --watch" + "build": "rollup -c", + "build:dev": "dev=true rollup -c", + "dev": "rollup -c --watch" }, "devDependencies": { - "eslint": "^8.7.0", "prettier": "^2.5.1", "typescript": "^4.5.5" }, diff --git a/packages/evmConnectors/EvmConnectorUtils/rollup.config.js b/packages/evmConnectors/EvmConnectorUtils/rollup.config.js new file mode 100644 index 0000000000..3f858728db --- /dev/null +++ b/packages/evmConnectors/EvmConnectorUtils/rollup.config.js @@ -0,0 +1,4 @@ +import packageJson from './package.json'; +import { commonJs, esm } from '../../../rollup.config'; + +export default [commonJs(packageJson), esm(packageJson)]; diff --git a/packages/evmConnectors/EvmMetamaskConnector/package.json b/packages/evmConnectors/EvmMetamaskConnector/package.json index 1547fb1bbe..8258a37752 100644 --- a/packages/evmConnectors/EvmMetamaskConnector/package.json +++ b/packages/evmConnectors/EvmMetamaskConnector/package.json @@ -7,16 +7,21 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "format": "prettier . '**/*.+(js|ts|json)' --write", "format:check": "prettier . '**/*.+(js|ts|json)' --check", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", - "dev": "tsc --watch" + "build": "rollup -c", + "build:dev": "dev=true rollup -c", + "dev": "rollup -c --watch" }, "devDependencies": { - "eslint": "^8.7.0", "prettier": "^2.5.1", "typescript": "^4.5.5" }, diff --git a/packages/evmConnectors/EvmMetamaskConnector/rollup.config.js b/packages/evmConnectors/EvmMetamaskConnector/rollup.config.js new file mode 100644 index 0000000000..3f858728db --- /dev/null +++ b/packages/evmConnectors/EvmMetamaskConnector/rollup.config.js @@ -0,0 +1,4 @@ +import packageJson from './package.json'; +import { commonJs, esm } from '../../../rollup.config'; + +export default [commonJs(packageJson), esm(packageJson)]; diff --git a/packages/evmConnectors/EvmWalletconnectConnector/package.json b/packages/evmConnectors/EvmWalletconnectConnector/package.json index a88f9ef25c..25f417abfa 100644 --- a/packages/evmConnectors/EvmWalletconnectConnector/package.json +++ b/packages/evmConnectors/EvmWalletconnectConnector/package.json @@ -7,23 +7,28 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "format": "prettier . '**/*.+(js|ts|json)' --write", "format:check": "prettier . '**/*.+(js|ts|json)' --check", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", - "dev": "tsc --watch" + "build": "rollup -c", + "build:dev": "dev=true rollup -c", + "dev": "rollup -c --watch" }, "devDependencies": { - "@walletconnect/types": "^1.7.5", - "eslint": "^8.7.0", + "@walletconnect/types": "^1.7.8", "prettier": "^2.5.1", "typescript": "^4.5.5" }, "dependencies": { "@moralisweb3/core": "^2.0.0-alpha.1", "@moralisweb3/evm-connector-utils": "^2.0.0-alpha.1", - "@walletconnect/web3-provider": "^1.7.5" + "@moralisweb3/wallet-connect-wrapper": "^2.0.0-alpha.1" } } diff --git a/packages/evmConnectors/EvmWalletconnectConnector/rollup.config.js b/packages/evmConnectors/EvmWalletconnectConnector/rollup.config.js index 786860d84d..4c9e9f3202 100644 --- a/packages/evmConnectors/EvmWalletconnectConnector/rollup.config.js +++ b/packages/evmConnectors/EvmWalletconnectConnector/rollup.config.js @@ -1,37 +1,13 @@ -import nodePolyfills from 'rollup-plugin-node-polyfills'; -import typescript from 'rollup-plugin-typescript2'; import packageJson from './package.json'; -import peerDepsExternal from 'rollup-plugin-peer-deps-external'; -import cleaner from 'rollup-plugin-cleaner'; -import resolve from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import json from '@rollup/plugin-json'; -import globals from 'rollup-plugin-node-globals'; +import { commonJs, esm, umd } from '../../../rollup.config'; -export default { - input: 'src/index.ts', - output: [ - { - file: packageJson.main, - format: 'cjs', - sourcemap: true, - }, - { - file: packageJson.module, - format: 'es', - sourcemap: true, - }, - ], - plugins: [ - nodePolyfills(), - cleaner({ - targets: ['./lib'], - }), - peerDepsExternal(), - json(), - resolve(), - commonjs(), - typescript({ useTsconfigDeclarationDir: true }), - globals(), - ], +const umdExternalMap = { + '@moralisweb3/core': 'Moralis.CoreLib', + '@moralisweb3/evm-connector-utils': 'Moralis.EvmConnectorUtilsLib', }; + +export default [ + commonJs(packageJson), + esm(packageJson, ['@moralisweb3/wallet-connect-wrapper']), + umd('WalletConnectConnector', packageJson, umdExternalMap), +]; diff --git a/packages/evmConnectors/EvmWalletconnectConnector/src/EvmWalletConnectConnector.ts b/packages/evmConnectors/EvmWalletconnectConnector/src/EvmWalletConnectConnector.ts index 9dcf892aeb..ec16c51ab2 100644 --- a/packages/evmConnectors/EvmWalletconnectConnector/src/EvmWalletConnectConnector.ts +++ b/packages/evmConnectors/EvmWalletconnectConnector/src/EvmWalletConnectConnector.ts @@ -8,7 +8,7 @@ import { } from '@moralisweb3/core'; import core from '@moralisweb3/core'; import { EvmAbstractConnector, getMoralisRpcs } from '@moralisweb3/evm-connector-utils'; -import WalletConnectProvider from '@walletconnect/web3-provider'; +import { WalletConnectProviderWrapper } from '@moralisweb3/wallet-connect-wrapper'; import { IWalletConnectProviderOptions } from '@walletconnect/types'; const WALLET_CONNECT_RPC_KEY = 'WalletConnect'; @@ -30,9 +30,9 @@ export class EvmWalletconnectConnector extends EvmAbstractConnector { } // Internal provider, is typed as WalletConnectProvider and has more options than our "basic" EvmProvider typed - _provider: WalletConnectProvider | null = null; + _provider: WalletConnectProviderWrapper | null = null; - private getProvider(options: EvmWalletConnectConnectorOptions): WalletConnectProvider { + private getProvider(options: EvmWalletConnectConnectorOptions): WalletConnectProviderWrapper { if (this._provider) { return this._provider; } @@ -48,7 +48,7 @@ export class EvmWalletconnectConnector extends EvmAbstractConnector { }, }; - const provider = new WalletConnectProvider(config); + const provider = new WalletConnectProviderWrapper(config); // Should not happen but in theory, but lets be safe if (!provider) { diff --git a/packages/evmConnectors/walletConnectWrapper/.prettierignore b/packages/evmConnectors/walletConnectWrapper/.prettierignore new file mode 100644 index 0000000000..7bc844c3ce --- /dev/null +++ b/packages/evmConnectors/walletConnectWrapper/.prettierignore @@ -0,0 +1,8 @@ +CHANGELOG.md + +# Output folders +lib/**/* +dist +coverage/ +lib.esm +node_modules \ No newline at end of file diff --git a/packages/evmConnectors/walletConnectWrapper/.prettierrc.js b/packages/evmConnectors/walletConnectWrapper/.prettierrc.js new file mode 100644 index 0000000000..e9599f1954 --- /dev/null +++ b/packages/evmConnectors/walletConnectWrapper/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + ...require('../../../.prettierrc'), +}; diff --git a/packages/evmConnectors/walletConnectWrapper/README.md b/packages/evmConnectors/walletConnectWrapper/README.md new file mode 100644 index 0000000000..c887291a55 --- /dev/null +++ b/packages/evmConnectors/walletConnectWrapper/README.md @@ -0,0 +1,5 @@ +# @moralisweb3/wallet-connect-wrapper + +Rollup cannot build an UMD bundle with `@walletconnect/web3-provider`, so this project is a workaround for this problem. It contains a wrapper of WalletConnectProvider. How it works? Webpack creates a single CommonJs bundle which Rollup can consume without any problem. + +The idea is taken from [walletconnect-v1](https://github.com/DePayFi/walletconnect-v1). diff --git a/packages/evmConnectors/walletConnectWrapper/index.d.ts b/packages/evmConnectors/walletConnectWrapper/index.d.ts new file mode 100644 index 0000000000..113eb69b55 --- /dev/null +++ b/packages/evmConnectors/walletConnectWrapper/index.d.ts @@ -0,0 +1,7 @@ +import { IWalletConnectProviderOptions } from '@walletconnect/types'; + +export declare class WalletConnectProviderWrapper { + constructor(opts: IWalletConnectProviderOptions); + chainId: number; + enable(): Promise; +} diff --git a/packages/evmConnectors/walletConnectWrapper/package.json b/packages/evmConnectors/walletConnectWrapper/package.json new file mode 100644 index 0000000000..940541c9f5 --- /dev/null +++ b/packages/evmConnectors/walletConnectWrapper/package.json @@ -0,0 +1,28 @@ +{ + "name": "@moralisweb3/wallet-connect-wrapper", + "author": "Moralis", + "version": "2.0.0-alpha.1", + "license": "MIT", + "private": false, + "main": "./lib/index.js", + "types": "./index.d.ts", + "sideEffects": false, + "files": [ + "lib" + ], + "scripts": { + "format": "prettier . '**/*.+(js|ts|json)' --write", + "format:check": "prettier . '**/*.+(js|ts|json)' --check", + "build": "webpack", + "build:dev": "webpack" + }, + "devDependencies": { + "@walletconnect/types": "^1.7.8", + "typescript": "^4.5.5", + "webpack": "^4.44.2", + "webpack-cli": "^4.10.0" + }, + "dependencies": { + "@walletconnect/web3-provider": "^1.7.8" + } +} diff --git a/packages/evmConnectors/walletConnectWrapper/src/index.js b/packages/evmConnectors/walletConnectWrapper/src/index.js new file mode 100644 index 0000000000..f151e381cb --- /dev/null +++ b/packages/evmConnectors/walletConnectWrapper/src/index.js @@ -0,0 +1,16 @@ +import WalletConnectProvider from '@walletconnect/web3-provider'; + +// Remember to update ../index.d.ts after any change. +export class WalletConnectProviderWrapper { + constructor(opts) { + this.provider = new WalletConnectProvider(opts); + + Object.defineProperty(this, 'chainId', { + get: () => this.provider.chainId, + }); + } + + enable() { + return this.provider.enable(); + } +} diff --git a/packages/evmConnectors/walletConnectWrapper/webpack.config.js b/packages/evmConnectors/walletConnectWrapper/webpack.config.js new file mode 100644 index 0000000000..388ed8439f --- /dev/null +++ b/packages/evmConnectors/walletConnectWrapper/webpack.config.js @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const path = require('path'); + +module.exports = [ + { + entry: './src/index.js', + mode: 'production', + output: { + filename: 'index.js', + libraryTarget: 'commonjs', + path: path.resolve(__dirname, 'lib'), + }, + node: { + Buffer: true, + }, + resolve: { + extensions: ['.js'], + }, + }, +]; diff --git a/packages/integration/package.json b/packages/integration/package.json index 7470caf45f..b043a35c21 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -20,7 +20,6 @@ "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo" }, "devDependencies": { - "eslint": "^8.7.0", "prettier": "^2.5.1", "typescript": "^4.5.5" }, diff --git a/packages/integration/test/evmApi/endpointWeights.test.ts b/packages/integration/test/evmApi/endpointWeights.test.ts index 4e5cecd420..5057b8a52b 100644 --- a/packages/integration/test/evmApi/endpointWeights.test.ts +++ b/packages/integration/test/evmApi/endpointWeights.test.ts @@ -22,7 +22,7 @@ describe('Moralis EvmApi', () => { }); it('should get the endpoint weight ', async () => { - const result = await EvmApi.info.endpointWeights({}); + const result = await EvmApi.info.endpointWeights(); expect(result.toJSON()).toStrictEqual({ endpoint: 'getBlock' }); expect(result).toBeDefined(); diff --git a/packages/integration/test/evmApi/getBlock.test.ts b/packages/integration/test/evmApi/getBlock.test.ts index 4e9ef079b0..dd67a6998b 100644 --- a/packages/integration/test/evmApi/getBlock.test.ts +++ b/packages/integration/test/evmApi/getBlock.test.ts @@ -23,7 +23,7 @@ describe('Moralis EvmApi', () => { it('should get the block of an account', async () => { const result = await EvmApi.native.getBlock({ - block_number_or_hash: '1000000', + blockNumberOrHash: '1000000', }); expect(result).toBeDefined(); @@ -34,7 +34,7 @@ describe('Moralis EvmApi', () => { it('should not get the block of an hash and throw an error ', async () => { const failedResult = await EvmApi.native .getBlock({ - block_number_or_hash: '100000', + blockNumberOrHash: '100000', }) .then() .catch((err) => { @@ -44,7 +44,7 @@ describe('Moralis EvmApi', () => { expect(failedResult).toBeDefined(); expect( EvmApi.native.getBlock({ - block_number_or_hash: '100000', + blockNumberOrHash: '100000', }), ).rejects.toThrowErrorMatchingInlineSnapshot(`"[C0005] Invalid address provided"`); }); diff --git a/packages/integration/test/evmApi/web3ApiVersion.test.ts b/packages/integration/test/evmApi/web3ApiVersion.test.ts index 7ad818abe4..b5e1219969 100644 --- a/packages/integration/test/evmApi/web3ApiVersion.test.ts +++ b/packages/integration/test/evmApi/web3ApiVersion.test.ts @@ -20,7 +20,7 @@ describe('Moralis EvmApi', () => { }); it('should get the info Version for web3 Api ', async () => { - const result = await EvmApi.info.web3ApiVersion({}); + const result = await EvmApi.info.web3ApiVersion(); expect(result.toJSON().version).toBe('0.0.53'); expect(result.raw.version).toBe('0.0.53'); diff --git a/packages/moralis/package.json b/packages/moralis/package.json index e753ad50c7..ab875bee22 100644 --- a/packages/moralis/package.json +++ b/packages/moralis/package.json @@ -7,18 +7,25 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "format": "prettier . '**/*.+(js|ts|json)' --write", "format:check": "prettier . '**/*.+(js|ts|json)' --check", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", - "dev": "tsc --watch" + "build": "rollup -c", + "build:dev": "dev=true rollup -c", + "dev": "rollup -c --watch" }, "dependencies": { "@moralisweb3/core": "^2.0.0-alpha.1", "@moralisweb3/server": "^2.0.0-alpha.1", "@moralisweb3/evm-api": "^2.0.0-alpha.1", - "@moralisweb3/evm": "^2.0.0-alpha.1" + "@moralisweb3/evm": "^2.0.0-alpha.1", + "@moralisweb3/evm-connector-utils": "^2.0.0-alpha.1" } } diff --git a/packages/moralis/rollup.config.js b/packages/moralis/rollup.config.js new file mode 100644 index 0000000000..0b49e6eb93 --- /dev/null +++ b/packages/moralis/rollup.config.js @@ -0,0 +1,4 @@ +import packageJson from './package.json'; +import { commonJs, esm, umd } from '../../rollup.config'; + +export default [commonJs(packageJson), esm(packageJson), umd('Moralis', packageJson, {})]; diff --git a/packages/moralis/src/index.ts b/packages/moralis/src/index.ts index d7ee970004..73f03c4042 100644 --- a/packages/moralis/src/index.ts +++ b/packages/moralis/src/index.ts @@ -2,16 +2,26 @@ import Server from '@moralisweb3/server'; import EvmApi from '@moralisweb3/evm-api'; import Evm from '@moralisweb3/evm'; +import * as EvmConnectorUtilsLib from '@moralisweb3/evm-connector-utils'; +import * as CoreLib from '@moralisweb3/core'; -// Import all other functions -import Core from '@moralisweb3/core'; +const Core = CoreLib.default; // register all Moralis modules to MoralisCore Core.registerModules([Evm, Server, EvmApi]); const start = Core.start; -const Moralis = { Core, Server, Evm, EvmApi, start }; +const Moralis = { + Core, + Server, + Evm, + EvmApi, + start, + + // for UMD bundles + CoreLib, + EvmConnectorUtilsLib, +}; -export { Moralis }; export default Moralis; diff --git a/packages/server/package.json b/packages/server/package.json index 75f040220f..92a0426778 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -7,6 +7,11 @@ "main": "./lib/index.js", "types": "./lib/index.d.ts", "sideEffects": false, + "files": [ + "lib/index.*", + "lib/**/*.d.ts", + "dist" + ], "scripts": { "test": "echo 'not implemented'", "test:coverage": "yarn run test --coverage", @@ -15,12 +20,12 @@ "format:check": "prettier . '**/*.+(js|ts|json)' --check", "lint": "eslint . --ext .js,.ts,.tsx,jsx", "clean": "rm -rf lib && rm -rf lib.esm && rm -rf tsconfig.tsbuildinfo", - "build": "tsc", - "dev": "tsc --watch" + "build": "rollup -c", + "build:dev": "dev=true rollup -c", + "dev": "rollup -c --watch" }, "devDependencies": { "@types/parse": "^2.18.13", - "eslint": "^8.7.0", "prettier": "^2.5.1", "typed-emitter": "^2.1.0", "typescript": "^4.5.5" diff --git a/packages/server/rollup.config.js b/packages/server/rollup.config.js new file mode 100644 index 0000000000..ef3e292ec8 --- /dev/null +++ b/packages/server/rollup.config.js @@ -0,0 +1,4 @@ +import packageJson from './package.json'; +import { commonJs, esm } from '../../rollup.config'; + +export default [commonJs(packageJson), esm(packageJson)]; diff --git a/packages/server/src/AuthMethods/handleSignIn.ts b/packages/server/src/AuthMethods/handleSignIn.ts index 3cf8604156..7fca1507c3 100644 --- a/packages/server/src/AuthMethods/handleSignIn.ts +++ b/packages/server/src/AuthMethods/handleSignIn.ts @@ -1,4 +1,4 @@ -import { MoralisServerError, ServerErrorCode } from '@moralisweb3/core/lib'; +import { MoralisServerError, ServerErrorCode } from '@moralisweb3/core'; import type Parse from 'parse'; export interface SignInOptions { diff --git a/packages/server/src/AuthMethods/handleSignUp.ts b/packages/server/src/AuthMethods/handleSignUp.ts index c7a383d8e7..06744853fa 100644 --- a/packages/server/src/AuthMethods/handleSignUp.ts +++ b/packages/server/src/AuthMethods/handleSignUp.ts @@ -1,4 +1,4 @@ -import { MoralisServerError, ServerErrorCode } from '@moralisweb3/core/lib'; +import { MoralisServerError, ServerErrorCode } from '@moralisweb3/core'; import type Parse from 'parse'; import { setUserData, UserDataValue } from '../utils/setUserData'; diff --git a/packages/server/src/utils/setUserData.ts b/packages/server/src/utils/setUserData.ts index e08db9a595..c0e6c07642 100644 --- a/packages/server/src/utils/setUserData.ts +++ b/packages/server/src/utils/setUserData.ts @@ -1,4 +1,4 @@ -import { MoralisServerError, ServerErrorCode } from '@moralisweb3/core/lib'; +import { MoralisServerError, ServerErrorCode } from '@moralisweb3/core'; import type Parse from 'parse'; export type UserDataValue = string | number | boolean | Parse.File | undefined | null; diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000000..64fb9183bf --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,114 @@ +import nodePolyfills from 'rollup-plugin-node-polyfills'; +import typescript from 'rollup-plugin-typescript2'; +import peerDepsExternal from 'rollup-plugin-peer-deps-external'; +import cleaner from 'rollup-plugin-cleaner'; +import resolve from '@rollup/plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; +import json from '@rollup/plugin-json'; +import globals from 'rollup-plugin-node-globals'; +import babel from '@rollup/plugin-babel'; +import { uglify } from 'rollup-plugin-uglify'; + +const isDev = (process.env.dev === 'true'); + +function uglifyIfProd() { + return isDev ? undefined : uglify(); +} + +export function commonJs(packageJson) { + const external = Object.keys(packageJson.dependencies); + + return { + input: 'src/index.ts', + output: [ + { + file: packageJson.main, + format: 'cjs', + sourcemap: true, + }, + ], + external, + plugins: [ + cleaner({ + targets: ['lib'], + }), + typescript({ useTsconfigDeclarationDir: true }), + ], + }; +} + +export function esm(packageJson, internal) { + const external = Object.keys(packageJson.dependencies).filter(d => d.startsWith('@moralisweb3/') && (!internal || !internal.includes(d))); + + return { + input: 'src/index.ts', + output: [ + { + file: 'dist/index.esm.js', + format: 'esm', + sourcemap: true, + }, + ], + external, + plugins: [ + nodePolyfills(), + cleaner({ + targets: ['dist/index.esm.js'], + }), + peerDepsExternal(), + resolve({ + preferBuiltins: false, + }), + json(), + commonjs(), + typescript({ useTsconfigDeclarationDir: true }), + babel({ + babelHelpers: 'bundled', + }), + globals(), + uglifyIfProd(), + ], + }; +} + +export function umd(outputName, packageJson, externanMap) { + const external = Object.keys(packageJson.dependencies).filter(d => externanMap[d]); + const outputGlobals = external.reduce((v, d) => { + v[d] = externanMap[d]; + return v; + }, {}); + + return { + input: 'src/index.ts', + output: [ + { + file: 'dist/index.umd.js', + name: outputName, + format: 'umd', + sourcemap: true, + globals: outputGlobals, + }, + ], + external, + plugins: [ + nodePolyfills(), + cleaner({ + targets: ['dist/index.umd.js'], + }), + peerDepsExternal(), + resolve({ + preferBuiltins: false, + }), + json(), + commonjs({}), + typescript({ + useTsconfigDeclarationDir: true, + }), + babel({ + babelHelpers: 'bundled', + }), + globals(), + uglifyIfProd(), + ], + }; +} diff --git a/run_scripts.sh b/run_scripts.sh new file mode 100644 index 0000000000..28c8fcde12 --- /dev/null +++ b/run_scripts.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +echo "Script: $1" + +yarn --cwd packages/core build:dev + +yarn --cwd packages/evmConnectors/walletConnectWrapper $1 +yarn --cwd packages/evmConnectors/EvmConnectorUtils $1 +yarn --cwd packages/evmConnectors/EvmMetamaskConnector $1 +yarn --cwd packages/evmConnectors/EvmWalletconnectConnector $1 +yarn --cwd packages/evmConnectors/EvmMetamaskConnector $1 + +yarn --cwd packages/evm $1 +yarn --cwd packages/evmApi $1 +yarn --cwd packages/server $1 +yarn --cwd packages/moralis $1 + +yarn --cwd demos/test-app-all $1 +yarn --cwd demos/test-node $1 diff --git a/yarn.lock b/yarn.lock index b5c5e2a9a4..12bd0a5840 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,6 +189,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-module-imports@^7.10.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" @@ -261,6 +268,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== +"@babel/helper-validator-identifier@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" + integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== + "@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" @@ -1112,6 +1124,14 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@babel/types@^7.18.6": + version "7.18.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.7.tgz#a4a2c910c15040ea52cdd1ddb1614a65c8041726" + integrity sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1340,6 +1360,11 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "@craco/craco@^5.5.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@craco/craco/-/craco-5.9.0.tgz#dcd34330b558596a4841374743071b7fa041dce9" @@ -1359,6 +1384,43 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== +"@cypress/request@^2.88.10": + version "2.88.10" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" + integrity sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -1663,7 +1725,7 @@ "@ethersproject/constants" "^5.6.1" "@ethersproject/logger" "^5.6.0" -"@ethersproject/transactions@5.6.2", "@ethersproject/transactions@^5.6.2": +"@ethersproject/transactions@5.6.2", "@ethersproject/transactions@^5.6.0", "@ethersproject/transactions@^5.6.2": version "5.6.2" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.2.tgz#793a774c01ced9fe7073985bb95a4b4e57a6370b" integrity sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q== @@ -1750,6 +1812,11 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + "@hapi/joi@^15.1.0": version "15.1.1" resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" @@ -1767,6 +1834,13 @@ dependencies: "@hapi/hoek" "^8.3.0" +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -2514,6 +2588,14 @@ schema-utils "^2.6.5" source-map "^0.7.3" +"@rollup/plugin-babel@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" + integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + "@rollup/plugin-commonjs@^22.0.0": version "22.0.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-22.0.0.tgz#f4d87016e2fbf187a593ab9f46626fe05b59e8bd" @@ -2565,6 +2647,14 @@ "@rollup/pluginutils" "^3.1.0" magic-string "^0.25.7" +"@rollup/plugin-replace@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-4.0.0.tgz#e34c457d6a285f0213359740b43f39d969b38a67" + integrity sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g== + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" @@ -2582,6 +2672,23 @@ estree-walker "^2.0.1" picomatch "^2.2.2" +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c" + integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + "@sinclair/typebox@^0.23.3": version "0.23.5" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d" @@ -3009,6 +3116,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.52.tgz#2fd2dc6bfa185601b15457398d4ba1ef27f81251" integrity sha512-cfkwWw72849SNYp3Zx0IcIs25vABmFh73xicxhCkTcvtZQeIez15PpwQN8fY3RD7gv1Wrxlc9MEtfMORZDEsGw== +"@types/node@^14.14.31": + version "14.18.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.21.tgz#0155ee46f6be28b2ff0342ca1a9b9fd4468bef41" + integrity sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q== + "@types/node@^16.11.26": version "16.11.36" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.36.tgz#9ab9f8276987132ed2b225cace2218ba794fc751" @@ -3107,6 +3219,16 @@ dependencies: "@types/node" "*" +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.3" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef" + integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== + "@types/source-list-map@*": version "0.1.2" resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" @@ -3176,6 +3298,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yauzl@^2.9.1": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + dependencies: + "@types/node" "*" + "@typescript-eslint/eslint-plugin@^4.5.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" @@ -3491,7 +3620,7 @@ "@walletconnect/utils" "^1.7.8" ws "7.5.3" -"@walletconnect/types@^1.7.5", "@walletconnect/types@^1.7.8": +"@walletconnect/types@^1.7.8": version "1.7.8" resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.7.8.tgz#ec397e6fbdc8147bccc17029edfeb41c50a5ca09" integrity sha512-0oSZhKIrtXRJVP1jQ0EDTRtotQY6kggGjDcmm/LLQBKnOZXdPeo0sPkV/7DjT5plT3O7Cjc6JvuXt9WOY0hlCA== @@ -3509,7 +3638,7 @@ js-sha3 "0.8.0" query-string "6.13.5" -"@walletconnect/web3-provider@^1.7.5": +"@walletconnect/web3-provider@^1.7.8": version "1.7.8" resolved "https://registry.yarnpkg.com/@walletconnect/web3-provider/-/web3-provider-1.7.8.tgz#fe9b66a4010ee831db664a3fe5014d67a758a1fc" integrity sha512-2VxGo7KPfQTWRJ+rygt3ok/u04InkVE+H9LBIF/RMUwcwyGf2nsP3CcYZVcg3yYpacgN7bAZCersCEYwU8AeeA== @@ -3678,6 +3807,23 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== + +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== + dependencies: + envinfo "^7.7.3" + +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== + "@xmldom/xmldom@^0.7.5": version "0.7.5" resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" @@ -3712,13 +3858,6 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - abstract-leveldown@~2.6.0: version "2.6.3" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" @@ -3872,7 +4011,7 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -3939,6 +4078,11 @@ aproba@^1.1.1: resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4159,6 +4303,11 @@ async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.2: dependencies: lodash "^4.17.14" +async@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -4202,6 +4351,21 @@ axe-core@^4.3.5: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.2.tgz#dcf7fb6dea866166c3eab33d68208afe4d5f670c" integrity sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA== +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -4496,6 +4660,13 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" @@ -4566,7 +4737,12 @@ blakejs@^1.1.0: resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== -bluebird@^3.5.5: +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +bluebird@3.7.2, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -4799,6 +4975,11 @@ buffer-alloc@^1.2.0: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + buffer-es6@^4.9.3: version "4.9.3" resolved "https://registry.yarnpkg.com/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404" @@ -4833,7 +5014,7 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.4.3, buffer@^5.5.0: +buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -4921,6 +5102,11 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +cachedir@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" + integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -5050,7 +5236,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -5073,6 +5259,11 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +check-more-types@2.24.0, check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + check-types@^11.1.1: version "11.1.2" resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" @@ -5196,6 +5387,23 @@ cli-spinners@2.6.1, cli-spinners@^2.5.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== +cli-table3@~0.6.1: + version "0.6.2" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" + integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -5228,6 +5436,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -5305,6 +5522,11 @@ color@^3.0.0: color-convert "^1.9.3" color-string "^1.6.0" +colorette@^2.0.14: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + colorette@^2.0.16: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" @@ -5347,6 +5569,16 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + common-tags@^1.8.0: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" @@ -5532,6 +5764,11 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" + integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== + cosmiconfig@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" @@ -5923,6 +6160,54 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +cypress@^10.2.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.3.0.tgz#fae8d32f0822fcfb938e79c7c31ef344794336ae" + integrity sha512-txkQWKzvBVnWdCuKs5Xc08gjpO89W2Dom2wpZgT9zWZT5jXxqPIxqP/NC1YArtkpmp3fN5HW8aDjYBizHLUFvg== + dependencies: + "@cypress/request" "^2.88.10" + "@cypress/xvfb" "^1.2.4" + "@types/node" "^14.14.31" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.6.0" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^5.1.0" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.2" + enquirer "^2.3.6" + eventemitter2 "^6.4.3" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.0" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.6" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.3.2" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -5943,11 +6228,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-uri-to-buffer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" - integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== - data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -5962,6 +6242,11 @@ dataloader@^1.4.0: resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== +dayjs@^1.10.4: + version "1.11.3" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.3.tgz#4754eb694a624057b9ad2224b67b15d552589258" + integrity sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A== + debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -5976,7 +6261,14 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, d dependencies: ms "2.1.2" -debug@^3.1.1, debug@^3.2.7: +debug@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@^3.1.0, debug@^3.1.1, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -6334,6 +6626,11 @@ dotenv@8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dotenv@^16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.1.tgz#8f8f9d94876c35dac989876a5d3a82a267fdce1d" + integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ== + dotenv@^8.1.0: version "8.6.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" @@ -6344,7 +6641,7 @@ dotenv@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== -duplexer@^0.1.1: +duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -6461,7 +6758,7 @@ enhanced-resolve@^4.3.0, enhanced-resolve@^4.5.0: memory-fs "^0.5.0" tapable "^1.0.0" -enquirer@^2.3.0, enquirer@^2.3.5, enquirer@~2.3.6: +enquirer@^2.3.0, enquirer@^2.3.5, enquirer@^2.3.6, enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -6473,6 +6770,11 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + errno@^0.1.3, errno@~0.1.1, errno@~0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" @@ -6825,10 +7127,10 @@ eslint@^7.11.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^8.11.0, eslint@^8.7.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.16.0.tgz#6d936e2d524599f2a86c708483b4c372c5d3bbae" - integrity sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA== +eslint@^8.17.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.18.0.tgz#78d565d16c993d0b73968c523c0446b13da784fd" + integrity sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA== dependencies: "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.9.2" @@ -7201,10 +7503,23 @@ ethjs-util@0.1.6, ethjs-util@^0.1.3: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== +event-stream@=3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +eventemitter2@^6.4.3: + version "6.4.6" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.6.tgz#92d56569cc147a4d9b9da9e942e89b20ce236b0a" + integrity sha512-OHqo4wbHX5VbvlbB6o6eDwhYmiTjrpWACjF8Pmof/GTD6rdBNdZFNck3xlhqOiQFGCOoq3uzHvA0cQpFHIGVAQ== eventemitter3@4.0.7, eventemitter3@^4.0.0, eventemitter3@^4.0.7: version "4.0.7" @@ -7234,20 +7549,7 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: +execa@4.1.0, execa@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== @@ -7262,7 +7564,7 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^5.0.0: +execa@5.1.1, execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -7277,6 +7579,26 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -7420,6 +7742,17 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -7479,6 +7812,11 @@ fast-safe-stringify@^2.0.6: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" @@ -7500,20 +7838,19 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.5.tgz#0077bf5f3fcdbd9d75a0b5362f77dbb743489863" - integrity sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg== +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" + pend "~1.2.0" figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== -figures@3.2.0, figures@^3.0.0: +figures@3.2.0, figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -7674,6 +8011,11 @@ follow-redirects@^1.0.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== +follow-redirects@^1.14.0, follow-redirects@^1.14.9: + version "1.15.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" + integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -7706,6 +8048,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -7715,13 +8066,6 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -7747,6 +8091,11 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +from@~0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== + fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" @@ -7779,7 +8128,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.1: +fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -7885,7 +8234,7 @@ get-stream@^4.0.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -7910,6 +8259,13 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -7975,6 +8331,13 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +global-dirs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" + integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + dependencies: + ini "2.0.0" + global-modules@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -8262,6 +8625,13 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + html-entities@^1.2.1, html-entities@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" @@ -8360,7 +8730,7 @@ http-proxy-middleware@0.19.1: lodash "^4.17.11" micromatch "^3.1.10" -http-proxy@^1.17.0: +http-proxy@^1.17.0, http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -8369,6 +8739,25 @@ http-proxy@^1.17.0: follow-redirects "^1.0.0" requires-port "^1.0.0" +http-server@^14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -8378,6 +8767,15 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -8413,6 +8811,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + icss-utils@^4.0.0, icss-utils@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" @@ -8553,6 +8958,11 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" @@ -8596,6 +9006,11 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -8706,7 +9121,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-ci@^3.0.1: +is-ci@^3.0.0, is-ci@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== @@ -8725,7 +9140,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0, is-core-module@^2.2.0, is-core-module@^2.8.1: +is-core-module@^2.0.0, is-core-module@^2.2.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== @@ -8842,6 +9257,14 @@ is-hex-prefixed@1.0.0: resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -8910,6 +9333,11 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -10243,7 +10671,7 @@ jest-watcher@^28.1.0: jest-util "^28.1.0" string-length "^4.0.1" -jest-worker@^24.9.0: +jest-worker@^24.0.0, jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== @@ -10305,6 +10733,17 @@ jest@^27.4.7: import-local "^3.0.2" jest-cli "^27.5.1" +joi@^17.4.0: + version "17.6.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" + integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.0" + "@sideway/pinpoint" "^2.0.0" + js-levenshtein@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -10494,6 +10933,16 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz#e624f259143b9062c92b6413ff92a164c80d3ccb" @@ -10555,19 +11004,6 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -ky-universal@^0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/ky-universal/-/ky-universal-0.10.1.tgz#778881e098f6e3c52a87b382d9acca54d22bb0d3" - integrity sha512-r8909k+ELKZAxhVA5c440x22hqw5XcMRwLRbgpPQk4JHy3/ddJnvzcnSo5Ww3HdKdNeS3Y8dBgcIYyVahMa46g== - dependencies: - abort-controller "^3.0.0" - node-fetch "^3.2.2" - -ky@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/ky/-/ky-0.30.0.tgz#a3d293e4f6c4604a9a4694eceb6ce30e73d27d64" - integrity sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog== - language-subtag-registry@~0.3.2: version "0.3.21" resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" @@ -10588,6 +11024,11 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" +lazy-ass@1.6.0, lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + level-codec@~7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" @@ -10664,6 +11105,20 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + load-yaml-file@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" @@ -10770,6 +11225,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + lodash.startcase@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" @@ -10805,7 +11265,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^4.1.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -10813,6 +11273,16 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + loglevel@^1.6.8: version "1.8.0" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" @@ -10915,6 +11385,11 @@ map-obj@^4.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -11077,7 +11552,7 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, dependencies: mime-db "1.52.0" -mime@1.6.0: +mime@1.6.0, mime@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -11152,7 +11627,7 @@ minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== @@ -11381,11 +11856,6 @@ node-addon-api@^3.2.1: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -11393,15 +11863,6 @@ node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.4.tgz#3fbca2d8838111048232de54cb532bd3cf134947" - integrity sha512-WvYJRN7mMyOLurFR2YpysQGuwYrJN+qrrpHjJDuKMcSPdfFccRUla/kng2mz6HWSBxJcqPbvatS6Gb4RhOzCJw== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -11758,6 +12219,11 @@ openapi-typescript@^5.2.0: undici "^5.0.0" yargs-parser "^21.0.1" +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -11822,6 +12288,11 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + outdent@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" @@ -12102,6 +12573,13 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== + dependencies: + through "~2.3" + pbkdf2@^3.0.17, pbkdf2@^3.0.3: version "3.1.2" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" @@ -12113,6 +12591,11 @@ pbkdf2@^3.0.17, pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -12133,7 +12616,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatc resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^2.0.0: +pify@^2.0.0, pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== @@ -12210,7 +12693,7 @@ pnp-webpack-plugin@1.6.4: dependencies: ts-pnp "^1.1.6" -portfinder@^1.0.26: +portfinder@^1.0.26, portfinder@^1.0.28: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== @@ -12935,7 +13418,7 @@ prettier@^2.3.1, prettier@^2.5.1, prettier@^2.6.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== -pretty-bytes@^5.3.0: +pretty-bytes@^5.3.0, pretty-bytes@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== @@ -13050,11 +13533,23 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= +ps-tree@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" + integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== + dependencies: + event-stream "=3.3.4" + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -13142,6 +13637,13 @@ qs@6.10.3: dependencies: side-channel "^1.0.4" +qs@^6.4.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -13471,6 +13973,13 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + recursive-readdir@2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" @@ -13602,6 +14111,13 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + request@^2.85.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" @@ -13720,6 +14236,15 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.1 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.9.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" @@ -13764,6 +14289,11 @@ rework@1.0.1: convert-source-map "^0.3.3" css "^2.0.0" +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -13874,6 +14404,16 @@ rollup-plugin-typescript2@^0.31.2: resolve "^1.20.0" tslib "^2.3.1" +rollup-plugin-uglify@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz#65a0959d91586627f1e46a7db966fd504ec6c4e6" + integrity sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw== + dependencies: + "@babel/code-frame" "^7.0.0" + jest-worker "^24.0.0" + serialize-javascript "^2.1.2" + uglify-js "^3.4.9" + rollup-pluginutils@^2.3.1, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: version "2.8.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" @@ -13938,7 +14478,7 @@ rxjs@^6.5.4: dependencies: tslib "^1.9.0" -rxjs@^7.5.2, rxjs@^7.5.5: +rxjs@^7.1.0, rxjs@^7.5.1, rxjs@^7.5.2, rxjs@^7.5.5: version "7.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== @@ -13974,7 +14514,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -14070,6 +14610,11 @@ secp256k1@^4.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" + integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -14145,6 +14690,11 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== + serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -14230,6 +14780,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -14295,6 +14852,15 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -14503,12 +15069,19 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== + dependencies: + through "2" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sshpk@^1.7.0: +sshpk@^1.14.1, sshpk@^1.7.0: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== @@ -14554,6 +15127,19 @@ stackframe@^1.1.1: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.1.tgz#1033a3473ee67f08e2f2fc8eba6aef4f845124e1" integrity sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg== +start-server-and-test@^1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.14.0.tgz#c57f04f73eac15dd51733b551d775b40837fdde3" + integrity sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw== + dependencies: + bluebird "3.7.2" + check-more-types "2.24.0" + debug "4.3.2" + execa "5.1.1" + lazy-ass "1.6.0" + ps-tree "1.2.0" + wait-on "6.0.0" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -14580,6 +15166,13 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== + dependencies: + duplexer "~0.1.1" + stream-each@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" @@ -14837,7 +15430,7 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -15035,6 +15628,11 @@ throat@^6.0.1: resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== +throttleit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" + integrity sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g== + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -15043,7 +15641,7 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.6: +through@2, through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -15395,6 +15993,11 @@ typical@^5.2.0: resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== +uglify-js@^3.4.9: + version "3.16.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317" + integrity sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -15443,6 +16046,13 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" +union@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -15502,6 +16112,11 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + upath2@^3.1.13: version "3.1.13" resolved "https://registry.yarnpkg.com/upath2/-/upath2-3.1.13.tgz#18dd1b99789e51d76a0124490e9020e66e0c3aa4" @@ -15529,6 +16144,11 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + url-loader@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" @@ -15699,6 +16319,17 @@ w3c-xmlserializer@^2.0.0: dependencies: xml-name-validator "^3.0.0" +wait-on@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.0.tgz#7e9bf8e3d7fe2daecbb7a570ac8ca41e9311c7e7" + integrity sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw== + dependencies: + axios "^0.21.1" + joi "^17.4.0" + lodash "^4.17.21" + minimist "^1.2.5" + rxjs "^7.1.0" + walker@^1.0.7, walker@~1.0.5: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" @@ -15738,11 +16369,6 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== - web-vitals@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" @@ -15791,6 +16417,24 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== +webpack-cli@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" + colorette "^2.0.14" + commander "^7.0.0" + cross-spawn "^7.0.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" + webpack-dev-middleware@^3.7.2: version "3.7.3" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" @@ -15866,6 +16510,14 @@ webpack-merge@^4.2.2: dependencies: lodash "^4.17.15" +webpack-merge@^5.7.3: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + webpack-sources@^1.1.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" @@ -15903,7 +16555,7 @@ webpack@4.44.2: watchpack "^1.7.4" webpack-sources "^1.4.1" -webpack@^4.41.0: +webpack@^4.41.0, webpack@^4.44.2: version "4.46.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== @@ -15953,6 +16605,13 @@ whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + whatwg-fetch@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" @@ -16023,6 +16682,11 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -16451,6 +17115,14 @@ yarn@^1.22.17: resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.18.tgz#05b822ade8c672987bab8858635145da0850f78a" integrity sha512-oFffv6Jp2+BTUBItzx1Z0dpikTX+raRdqupfqzeMKnoh7WD6RuPAxcqDkMUy9vafJkrB0YaV708znpuMhEBKGQ== +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"