From 290f4bc1cb3dda828e61d28a250eada18697bae3 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Tue, 8 Feb 2022 11:04:48 -0800 Subject: [PATCH] feat: bundle widgets (#3244) * fix: tsconfig emissions * fix: avoid importing app state in lib * fix: export theming * fix: asset resolutions * fix: bundle widget * test: update failing snapshots * fix: maintain i18n for cosmos * fix: use npm-compatible aliasing * fix: include fonts in bundle --- cosmos.override.js | 1 + package.json | 50 +- rollup.config.ts | 122 +++-- src/components/AccountDetails/index.tsx | 2 +- src/components/Identicon/StatusIcon.tsx | 2 +- .../RoutingDiagram.test.tsx.snap | 60 +-- src/components/Web3Status/index.tsx | 2 +- src/constants/chainInfo.ts | 8 +- src/constants/locales.ts | 2 +- src/lib/components/Web3Provider.tsx | 8 +- src/lib/components/Widget.tsx | 2 +- src/lib/cosmos/components/Widget.tsx | 4 +- src/lib/hooks/useActiveWeb3React.ts | 2 +- src/lib/hooks/useTokenList/sorting.ts | 5 +- src/lib/i18n.tsx | 5 +- src/lib/icons/index.tsx | 12 +- src/lib/state/web3.ts | 6 +- src/lib/theme/index.tsx | 10 +- tsconfig.base.json | 1 - tsconfig.json | 1 + tsconfig.lib.json | 12 +- yarn.lock | 484 +++++++++++------- 22 files changed, 516 insertions(+), 285 deletions(-) diff --git a/cosmos.override.js b/cosmos.override.js index b7cccab8ab..e78d58ae2d 100644 --- a/cosmos.override.js +++ b/cosmos.override.js @@ -17,6 +17,7 @@ module.exports = (webpackConfig) => ({ 'process.env': { ...plugin.definitions['process.env'], REACT_APP_IS_WIDGET: true, + REACT_APP_LOCALES: "'../locales'", }, }) } diff --git a/package.json b/package.json index ca190dd6dd..c5f0ee71e8 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,20 @@ { - "name": "@uniswap/interface", + "name": "@uniswap/widgets", + "version": "0.0.5-beta", "description": "Uniswap Interface", "homepage": ".", - "main": "dist/interface.js", - "module": "dist/interface.esm.js", - "types": "dist/index.d.ts", + "main": "dist/widgets.js", + "module": "dist/widgets.esm.js", + "types": "dist/widgets.d.ts", "files": [ "lib", "dist" ], - "private": true, "devDependencies": { + "@babel/plugin-transform-runtime": "^7.17.0", + "@babel/preset-env": "^7.16.11", + "@babel/preset-react": "^7.16.7", + "@babel/preset-typescript": "^7.16.7", "@ethersproject/experimental": "^5.4.0", "@gnosis.pm/safe-apps-web3-react": "^0.6.0", "@graphql-codegen/cli": "1.21.5", @@ -23,9 +27,14 @@ "@reach/portal": "^0.10.3", "@react-hook/window-scroll": "^1.3.0", "@reduxjs/toolkit": "^1.6.1", + "@rollup/plugin-alias": "^3.1.9", + "@rollup/plugin-babel": "^5.3.0", + "@rollup/plugin-commonjs": "^21.0.1", "@rollup/plugin-eslint": "^8.0.1", "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.1.3", "@rollup/plugin-replace": "^3.0.1", + "@rollup/plugin-typescript": "^8.3.0", "@rollup/plugin-url": "^6.1.0", "@svgr/rollup": "^6.2.0", "@testing-library/jest-dom": "^5.14.1", @@ -71,6 +80,7 @@ "@web3-react/walletlink-connector": "^6.2.11", "array.prototype.flat": "^1.2.4", "array.prototype.flatmap": "^1.2.4", + "babel-plugin-macros": "^3.1.0", "copy-to-clipboard": "^3.2.0", "cross-env": "^7.0.3", "cypress": "^7.7.0", @@ -91,8 +101,10 @@ "polyfill-object.fromentries": "^1.0.1", "prettier": "^2.2.1", "qs": "^6.9.4", + "react": "^17.0.1", "react-confetti": "^6.0.0", "react-cosmos": "^5.6.6", + "react-dom": "^17.0.1", "react-ga": "^2.5.7", "react-is": "^17.0.2", "react-markdown": "^4.3.1", @@ -102,14 +114,17 @@ "react-use-gesture": "^6.0.14", "redux-localstorage-simple": "^2.3.1", "rollup": "^2.63.0", + "rollup-plugin-copy": "^3.4.0", + "rollup-plugin-delete": "^2.0.0", "rollup-plugin-dts": "^4.1.0", + "rollup-plugin-node-externals": "^3.1.2", "rollup-plugin-scss": "^3.0.0", "rollup-plugin-typescript2": "^0.31.1", "sass": "^1.45.1", "serve": "^11.3.2", "start-server-and-test": "^1.11.0", "typechain": "^5.0.0", - "typescript": "^4.2.3", + "typescript": "^4.4.3", "ua-parser-js": "^0.7.28", "use-count-up": "^2.2.5", "use-resize-observer": "^8.0.0", @@ -131,7 +146,8 @@ "i18n:extract": "lingui extract --locale en-US", "i18n:compile": "yarn i18n:extract && lingui compile", "i18n:pseudo": "lingui extract --locale pseudo && lingui compile", - "postinstall": "yarn contracts:compile && yarn graphql:generate && yarn i18n:compile", + "prepare": "yarn contracts:compile && yarn graphql:generate && yarn i18n:compile", + "prepublishOnly": "yarn widgets:build", "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=./custom-test-env.js", @@ -153,6 +169,7 @@ }, "license": "GPL-3.0-or-later", "dependencies": { + "@babel/runtime": "^7.17.0", "@ethersproject/abi": "^5.4.1", "@ethersproject/abstract-provider": "^5.4.1", "@ethersproject/address": "^5.4.0", @@ -180,12 +197,6 @@ "@uniswap/v2-sdk": "^3.0.1", "@uniswap/v3-sdk": "^3.8.2", "@web3-react/core": "^6.0.9", - "@widgets/web3-react/core": "npm:@web3-react/core@8.0.16-alpha.0", - "@widgets/web3-react/eip1193": "npm:@web3-react/eip1193@8.0.16-alpha.0", - "@widgets/web3-react/empty": "npm:@web3-react/empty@8.0.17-alpha.0", - "@widgets/web3-react/metamask": "npm:@web3-react/metamask@8.0.16-alpha.0", - "@widgets/web3-react/types": "npm:@web3-react/types@8.0.16-alpha.0", - "@widgets/web3-react/url": "npm:@web3-react/url@8.0.17-alpha.0", "ajv": "^6.12.3", "cids": "^1.0.0", "immer": "^9.0.6", @@ -198,8 +209,6 @@ "node-vibrant": "^3.2.1-alpha.1", "polished": "^3.3.2", "popper-max-size-modifier": "^0.2.0", - "react": "^17.0.1", - "react-dom": "^17.0.1", "react-feather": "^2.0.8", "react-popper": "^2.2.3", "react-redux": "^7.2.2", @@ -210,6 +219,17 @@ "styled-components": "^5.3.0", "tiny-invariant": "^1.2.0", "wcag-contrast": "^3.0.0", + "web3-react-alpha-core": "npm:@web3-react/core@8.0.16-alpha.0", + "web3-react-alpha-eip1193": "npm:@web3-react/eip1193@8.0.16-alpha.0", + "web3-react-alpha-empty": "npm:@web3-react/empty@8.0.17-alpha.0", + "web3-react-alpha-metamask": "npm:@web3-react/metamask@8.0.16-alpha.0", + "web3-react-alpha-types": "npm:@web3-react/types@8.0.16-alpha.0", + "web3-react-alpha-url": "npm:@web3-react/url@8.0.17-alpha.0", "wicg-inert": "^3.1.1" + }, + "peerDependencies": { + "@babel/runtime": "^7.17.0", + "react": "^17.0.1", + "react-dom": "^17.0.1" } } diff --git a/rollup.config.ts b/rollup.config.ts index 7da55cde6f..84b2abe7c3 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -3,61 +3,125 @@ * This library lives in src/lib, but shares code with the interface application. */ -import eslint from '@rollup/plugin-eslint' +import alias from '@rollup/plugin-alias' +import babel from '@rollup/plugin-babel' +import commonjs from '@rollup/plugin-commonjs' import json from '@rollup/plugin-json' +import resolve from '@rollup/plugin-node-resolve' import replace from '@rollup/plugin-replace' +import typescript from '@rollup/plugin-typescript' import url from '@rollup/plugin-url' import svgr from '@svgr/rollup' +import path from 'path' +import { RollupWarning } from 'rollup' +import copy from 'rollup-plugin-copy' +import del from 'rollup-plugin-delete' import dts from 'rollup-plugin-dts' +import externals from 'rollup-plugin-node-externals' import sass from 'rollup-plugin-scss' -import typescript from 'rollup-plugin-typescript2' +import { CompilerOptions } from 'typescript' -import { dependencies } from './package.json' +const REPLACEMENTS = { + 'process.env.REACT_APP_IS_WIDGET': true, + 'process.env.REACT_APP_LOCALES': "'./locales'", +} + +const EXTENSIONS = ['.js', '.jsx', '.ts', '.tsx'] +const ASSET_EXTENSIONS = ['.png', '.svg'] +function isAsset(source: string) { + const extname = path.extname(source) + return extname && [...ASSET_EXTENSIONS, '.css', '.scss'].includes(extname) +} -const deps = Object.keys(dependencies) +const TS_CONFIG = './tsconfig.lib.json' +// eslint-disable-next-line @typescript-eslint/no-var-requires +const { baseUrl, paths }: CompilerOptions = require(TS_CONFIG).compilerOptions +const aliases = Object.entries({ ...paths }).flatMap(([find, replacements]) => { + return replacements.map((replacement) => ({ + find: path.dirname(find), + replacement: path.join(__dirname, baseUrl || '.', path.dirname(replacement)), + })) +}) -const replacements = { - 'process.env.REACT_APP_IS_WIDGET': true, +const plugins = [ + // Dependency resolution + externals({ exclude: ['constants'], deps: true, peerDeps: true }), // marks builtins, dependencies, and peerDependencies external + resolve({ extensions: EXTENSIONS }), // resolves third-party modules within node_modules/ + alias({ entries: aliases }), // resolves paths aliased through the tsconfig (babel does not use tsconfig path resolution) + + // Source code transformation + replace({ ...REPLACEMENTS, preventAssignment: true }), + json(), // imports json; doing so type-checking allows the json to be type-checked +] + +const check = { + input: 'src/lib/index.tsx', + output: { file: 'dist/widgets.tsc' }, + external: isAsset, + plugins: [...plugins, typescript({ tsconfig: TS_CONFIG })], + onwarn: squelchTranspilationWarnings, // this pipeline is only for typechecking and generating definitions } -const library = { +const type = { + input: 'dist/dts/lib/index.d.ts', + output: { file: 'dist/widgets.d.ts' }, + external: isAsset, + plugins: [ + dts({ compilerOptions: { baseUrl: 'dist/dts' } }), + del({ hook: 'buildEnd', targets: ['dist/widgets.tsc', 'dist/dts'] }), + ], +} + +const transpile = { input: 'src/lib/index.tsx', output: [ { file: 'dist/widgets.js', format: 'cjs', - inlineDynamicImports: true, - sourcemap: true, + sourcemap: false, }, { file: 'dist/widgets.esm.js', format: 'esm', - inlineDynamicImports: true, - sourcemap: true, + sourcemap: false, }, ], - // necessary because some nested imports (eg jotai/*) would otherwise not resolve. - external: (source: string) => Boolean(deps.find((dep) => source === dep || source.startsWith(dep + '/'))), plugins: [ - eslint({ include: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx'] }), - json(), // imports json - replace({ ...replacements, preventAssignment: true }), - url(), // imports files (including svgs) as data URIs + ...plugins, + + // Source code transformation + url({ include: ASSET_EXTENSIONS.map((extname) => '**/*' + extname) }), // imports assets as data URIs svgr({ exportType: 'named', svgo: false }), // imports svgs as React components - sass(), // imports sass styles - typescript({ tsconfig: './tsconfig.lib.json', useTsconfigDeclarationDir: true }), + sass({ insert: true }), // imports inlined sass styles + commonjs(), // transforms cjs dependencies into tree-shakeable ES modules + + babel({ + babelHelpers: 'runtime', + presets: ['@babel/preset-env', ['@babel/preset-react', { runtime: 'automatic' }], '@babel/preset-typescript'], + extensions: EXTENSIONS, + plugins: [ + 'macros', // enables @lingui and styled-components macros + '@babel/plugin-transform-runtime', // embeds the babel runtime for library distribution + ], + }), + + copy({ + copyOnce: true, + targets: [{ src: 'src/locales/*.js', dest: 'dist/locales' }], + }), ], + onwarn: squelchTypeWarnings, // this pipeline is only for transpilation } -const typings = { - input: 'dist/dts/lib/index.d.ts', - output: { - file: 'dist/widgets.d.ts', - format: 'es', - }, - external: (source: string) => source.endsWith('.scss'), - plugins: [dts({ compilerOptions: { baseUrl: 'dist/dts' } })], +const config = [check, type, transpile] +export default config + +function squelchTranspilationWarnings(warning: RollupWarning, warn: (warning: RollupWarning) => void) { + if (warning.pluginCode === 'TS5055') return + warn(warning) } -const config = [library, typings] -export default config +function squelchTypeWarnings(warning: RollupWarning, warn: (warning: RollupWarning) => void) { + if (warning.code === 'UNUSED_EXTERNAL_IMPORT') return + warn(warning) +} diff --git a/src/components/AccountDetails/index.tsx b/src/components/AccountDetails/index.tsx index 2ab87114f4..134deb62f0 100644 --- a/src/components/AccountDetails/index.tsx +++ b/src/components/AccountDetails/index.tsx @@ -1,11 +1,11 @@ import { Trans } from '@lingui/macro' import { AbstractConnector } from '@web3-react/abstract-connector' -import { Connector } from '@widgets/web3-react/types' import useActiveWeb3React from 'hooks/useActiveWeb3React' import { useCallback, useContext } from 'react' import { ExternalLink as LinkIcon } from 'react-feather' import { useAppDispatch } from 'state/hooks' import styled, { ThemeContext } from 'styled-components/macro' +import { Connector } from 'web3-react-alpha-types' import { ReactComponent as Close } from '../../assets/images/x.svg' import { injected, portis, walletlink } from '../../connectors' diff --git a/src/components/Identicon/StatusIcon.tsx b/src/components/Identicon/StatusIcon.tsx index 5f4636dc41..5cd0fb2448 100644 --- a/src/components/Identicon/StatusIcon.tsx +++ b/src/components/Identicon/StatusIcon.tsx @@ -1,5 +1,5 @@ import { AbstractConnector } from '@web3-react/abstract-connector' -import { Connector } from '@widgets/web3-react/types' +import { Connector } from 'web3-react-alpha-types' import CoinbaseWalletIcon from '../../assets/images/coinbaseWalletIcon.svg' import FortmaticIcon from '../../assets/images/fortmaticIcon.png' diff --git a/src/components/RoutingDiagram/__snapshots__/RoutingDiagram.test.tsx.snap b/src/components/RoutingDiagram/__snapshots__/RoutingDiagram.test.tsx.snap index 43f1006a48..81e81dce55 100644 --- a/src/components/RoutingDiagram/__snapshots__/RoutingDiagram.test.tsx.snap +++ b/src/components/RoutingDiagram/__snapshots__/RoutingDiagram.test.tsx.snap @@ -3,45 +3,45 @@ exports[`renders multi route 1`] = `
CurrencyLogo currency=USDC
dot_line.svg
V2
75%
@@ -51,42 +51,42 @@ exports[`renders multi route 1`] = ` CurrencyLogo currency=DAI
CurrencyLogo currency=USDC
dot_line.svg
V3
25%
@@ -102,45 +102,45 @@ exports[`renders multi route 1`] = ` exports[`renders single route 1`] = `
CurrencyLogo currency=USDC
dot_line.svg
V3
100%
@@ -156,7 +156,7 @@ exports[`renders single route 1`] = ` exports[`renders when no routes are provided 1`] = `
`; diff --git a/src/components/Web3Status/index.tsx b/src/components/Web3Status/index.tsx index 5221a95e74..fa84d25682 100644 --- a/src/components/Web3Status/index.tsx +++ b/src/components/Web3Status/index.tsx @@ -2,11 +2,11 @@ import { t, Trans } from '@lingui/macro' import { AbstractConnector } from '@web3-react/abstract-connector' import { UnsupportedChainIdError, useWeb3React } from '@web3-react/core' -import { Connector } from '@widgets/web3-react/types' import { darken } from 'polished' import { useMemo } from 'react' import { Activity } from 'react-feather' import styled, { css } from 'styled-components/macro' +import { Connector } from 'web3-react-alpha-types' import { NetworkContextName } from '../../constants/misc' import useENSName from '../../hooks/useENSName' diff --git a/src/constants/chainInfo.ts b/src/constants/chainInfo.ts index 9bcf17d4f6..d228296a85 100644 --- a/src/constants/chainInfo.ts +++ b/src/constants/chainInfo.ts @@ -1,9 +1,9 @@ +import ethereumLogoUrl from 'assets/images/ethereum-logo.png' +import arbitrumLogoUrl from 'assets/svg/arbitrum_logo.svg' +import optimismLogoUrl from 'assets/svg/optimistic_ethereum.svg' +import polygonMaticLogo from 'assets/svg/polygon-matic-logo.svg' import ms from 'ms.macro' -import ethereumLogoUrl from '../assets/images/ethereum-logo.png' -import arbitrumLogoUrl from '../assets/svg/arbitrum_logo.svg' -import optimismLogoUrl from '../assets/svg/optimistic_ethereum.svg' -import polygonMaticLogo from '../assets/svg/polygon-matic-logo.svg' import { SupportedChainId, SupportedL1ChainId, SupportedL2ChainId } from './chains' import { ARBITRUM_LIST, OPTIMISM_LIST } from './lists' diff --git a/src/constants/locales.ts b/src/constants/locales.ts index 1c0fc01b18..79cb7f0cb6 100644 --- a/src/constants/locales.ts +++ b/src/constants/locales.ts @@ -36,7 +36,7 @@ export const SUPPORTED_LOCALES = [ export type SupportedLocale = typeof SUPPORTED_LOCALES[number] | 'pseudo' // eslint-disable-next-line import/first -import * as enUS from '../locales/en-US' +import * as enUS from 'locales/en-US' export const DEFAULT_LOCALE: SupportedLocale = 'en-US' export const DEFAULT_CATALOG = enUS diff --git a/src/lib/components/Web3Provider.tsx b/src/lib/components/Web3Provider.tsx index a780cd428e..7b5d312f46 100644 --- a/src/lib/components/Web3Provider.tsx +++ b/src/lib/components/Web3Provider.tsx @@ -1,11 +1,11 @@ -import { initializeConnector, Web3ReactHooks } from '@widgets/web3-react/core' -import { EIP1193 } from '@widgets/web3-react/eip1193' -import { Actions, Connector, Provider as EthProvider } from '@widgets/web3-react/types' -import { Url } from '@widgets/web3-react/url' import { SetStateAction } from 'jotai' import { RESET, useUpdateAtom } from 'jotai/utils' import { injectedAtom, urlAtom } from 'lib/state/web3' import { ReactNode, useEffect } from 'react' +import { initializeConnector, Web3ReactHooks } from 'web3-react-alpha-core' +import { EIP1193 } from 'web3-react-alpha-eip1193' +import { Actions, Connector, Provider as EthProvider } from 'web3-react-alpha-types' +import { Url } from 'web3-react-alpha-url' interface Web3ProviderProps { jsonRpcEndpoint?: string diff --git a/src/lib/components/Widget.tsx b/src/lib/components/Widget.tsx index 3718b60dc0..a7a8d408d7 100644 --- a/src/lib/components/Widget.tsx +++ b/src/lib/components/Widget.tsx @@ -1,4 +1,3 @@ -import { Provider as EthProvider } from '@widgets/web3-react/types' import { DEFAULT_LOCALE, SupportedLocale } from 'constants/locales' import { Provider as AtomProvider } from 'jotai' import { TransactionsUpdater } from 'lib/hooks/transactions' @@ -9,6 +8,7 @@ import { MulticallUpdater, store as multicallStore } from 'lib/state/multicall' import styled, { keyframes, Theme, ThemeProvider } from 'lib/theme' import { PropsWithChildren, StrictMode, useState } from 'react' import { Provider as ReduxProvider } from 'react-redux' +import { Provider as EthProvider } from 'web3-react-alpha-types' import { Provider as DialogProvider } from './Dialog' import ErrorBoundary, { ErrorHandler } from './Error/ErrorBoundary' diff --git a/src/lib/cosmos/components/Widget.tsx b/src/lib/cosmos/components/Widget.tsx index e6664dc3d0..f3e419896c 100644 --- a/src/lib/cosmos/components/Widget.tsx +++ b/src/lib/cosmos/components/Widget.tsx @@ -1,5 +1,3 @@ -import { initializeConnector } from '@widgets/web3-react/core' -import { MetaMask } from '@widgets/web3-react/metamask' import { SupportedChainId } from 'constants/chains' import { INFURA_NETWORK_URLS } from 'constants/infura' import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from 'constants/locales' @@ -7,6 +5,8 @@ import Widget from 'lib/components/Widget' import { darkTheme, defaultTheme, lightTheme } from 'lib/theme' import { ReactNode, useEffect, useMemo } from 'react' import { useSelect, useValue } from 'react-cosmos/fixture' +import { initializeConnector } from 'web3-react-alpha-core' +import { MetaMask } from 'web3-react-alpha-metamask' export const [metaMask] = initializeConnector((actions) => new MetaMask(actions)) diff --git a/src/lib/hooks/useActiveWeb3React.ts b/src/lib/hooks/useActiveWeb3React.ts index e950a2c0e9..e1244a372e 100644 --- a/src/lib/hooks/useActiveWeb3React.ts +++ b/src/lib/hooks/useActiveWeb3React.ts @@ -1,6 +1,6 @@ -import { Web3ReactHooks } from '@widgets/web3-react/core' import { useAtomValue } from 'jotai/utils' import { injectedAtom, urlAtom, Web3ReactState } from 'lib/state/web3' +import { Web3ReactHooks } from 'web3-react-alpha-core' export function useActiveWeb3ReactState(): Web3ReactState { const injected = useAtomValue(injectedAtom) diff --git a/src/lib/hooks/useTokenList/sorting.ts b/src/lib/hooks/useTokenList/sorting.ts index 7c8867f61a..287ea45ba0 100644 --- a/src/lib/hooks/useTokenList/sorting.ts +++ b/src/lib/hooks/useTokenList/sorting.ts @@ -1,7 +1,6 @@ import { Currency, CurrencyAmount, Token } from '@uniswap/sdk-core' import { TokenInfo } from '@uniswap/token-lists' import { useMemo } from 'react' -import { useTokenBalances } from 'state/wallet/hooks' /** Sorts currency amounts (descending). */ function balanceComparator(a?: CurrencyAmount, b?: CurrencyAmount) { @@ -15,8 +14,10 @@ function balanceComparator(a?: CurrencyAmount, b?: CurrencyAmount | undefined } + /** Sorts tokens by currency amount (descending), then symbol (ascending). */ -export function tokenComparator(balances: ReturnType, a: Token, b: Token) { +export function tokenComparator(balances: TokenBalances, a: Token, b: Token) { // Sorts by balances const balanceComparison = balanceComparator(balances[a.address], balances[b.address]) if (balanceComparison !== 0) return balanceComparison diff --git a/src/lib/i18n.tsx b/src/lib/i18n.tsx index c3e2b2f113..7f3fbf6829 100644 --- a/src/lib/i18n.tsx +++ b/src/lib/i18n.tsx @@ -80,7 +80,10 @@ export async function dynamicActivate(locale: SupportedLocale) { i18n.loadLocaleData(locale, { plurals: () => plurals[locale] }) // There are no default messages in production; instead, bundle the default to save a network request: // see https://github.com/lingui/js-lingui/issues/388#issuecomment-497779030 - const catalog = locale === DEFAULT_LOCALE ? DEFAULT_CATALOG : await import(`locales/${locale}`) + const catalog = + locale === DEFAULT_LOCALE + ? DEFAULT_CATALOG + : await import(`${process.env.REACT_APP_LOCALES || 'locales'}/${locale}`) i18n.load(locale, catalog.messages) i18n.activate(locale) } diff --git a/src/lib/icons/index.tsx b/src/lib/icons/index.tsx index 04dd92cfb3..807741f474 100644 --- a/src/lib/icons/index.tsx +++ b/src/lib/icons/index.tsx @@ -1,6 +1,10 @@ -/* eslint-disable no-restricted-imports */ +import { ReactComponent as CheckIcon } from 'lib/assets/svg/check.svg' +import { ReactComponent as ExpandoIcon } from 'lib/assets/svg/expando.svg' +import { ReactComponent as LogoIcon } from 'lib/assets/svg/logo.svg' +import { ReactComponent as SpinnerIcon } from 'lib/assets/svg/spinner.svg' import styled, { Color, css, keyframes } from 'lib/theme' import { FunctionComponent, SVGProps } from 'react' +/* eslint-disable no-restricted-imports */ import { Icon as FeatherIcon } from 'react-feather' import { AlertTriangle as AlertTriangleIcon, @@ -20,11 +24,7 @@ import { X as XIcon, XOctagon as XOctagonIcon, } from 'react-feather' - -import { ReactComponent as CheckIcon } from '../assets/svg/check.svg' -import { ReactComponent as ExpandoIcon } from '../assets/svg/expando.svg' -import { ReactComponent as LogoIcon } from '../assets/svg/logo.svg' -import { ReactComponent as SpinnerIcon } from '../assets/svg/spinner.svg' +/* eslint-enable no-restricted-imports */ type SVGIcon = FunctionComponent> diff --git a/src/lib/state/web3.ts b/src/lib/state/web3.ts index 043b0a3f21..88a7fd8584 100644 --- a/src/lib/state/web3.ts +++ b/src/lib/state/web3.ts @@ -1,7 +1,7 @@ -import { initializeConnector, Web3ReactHooks } from '@widgets/web3-react/core' -import { EMPTY } from '@widgets/web3-react/empty' -import { Connector } from '@widgets/web3-react/types' import { atomWithDefault } from 'jotai/utils' +import { initializeConnector, Web3ReactHooks } from 'web3-react-alpha-core' +import { EMPTY } from 'web3-react-alpha-empty' +import { Connector } from 'web3-react-alpha-types' const EMPTY_CONNECTOR = initializeConnector(() => EMPTY) diff --git a/src/lib/theme/index.tsx b/src/lib/theme/index.tsx index ebdc676b23..5c9aa1f416 100644 --- a/src/lib/theme/index.tsx +++ b/src/lib/theme/index.tsx @@ -1,4 +1,9 @@ -import '../assets/fonts.scss' +import 'lib/assets/fonts.scss' +import '@fontsource/ibm-plex-mono/400.css' +import '@fontsource/inter/variable.css' +import '@fontsource/inter/400.css' +import '@fontsource/inter/500.css' +import '@fontsource/inter/600.css' import { mix, readableColor, transparentize } from 'polished' import { createContext, ReactNode, useContext, useMemo, useState } from 'react' @@ -6,12 +11,11 @@ import { createContext, ReactNode, useContext, useMemo, useState } from 'react' import styled, { ThemedProvider } from './styled' import { Colors, ComputedTheme, Theme } from './theme' -export type { Color, Colors, Theme } from './theme' - export default styled export * from './dynamic' export * from './layer' export * from './styled' +export * from './theme' export * as ThemedText from './type' export const brand = 'hsl(331.3, 100%, 50%)' diff --git a/tsconfig.base.json b/tsconfig.base.json index c92c0ef831..745c204ea2 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -5,7 +5,6 @@ "allowJs": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, - "noEmit": true, "esModuleInterop": true, "module": "esnext", "strict": true, diff --git a/tsconfig.json b/tsconfig.json index 2d36fd433f..92d39058f7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "jsx": "react-jsx", + "noEmit": true, "baseUrl": "src" }, "exclude": ["node_modules", "cypress"], diff --git a/tsconfig.lib.json b/tsconfig.lib.json index ec839e1b6c..14ae231f8f 100644 --- a/tsconfig.lib.json +++ b/tsconfig.lib.json @@ -2,8 +2,9 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "jsx": "react-jsx", + "emitDeclarationOnly": true, "declaration": true, - "declarationDir": "dist/dts", + "declarationDir": "dts", "baseUrl": "src/lib", "paths": { "lib/*": ["./*"], @@ -11,11 +12,12 @@ "assets/*": ["../assets/*"], "constants/*": ["../constants/*"], "hooks/*": ["../hooks/*"], + "locales/*": ["../locales/*"], "state/*": ["../state/*"], "types/*": ["../types/*"], - "utils/*": ["../utils/*"], - }, + "utils/*": ["../utils/*"] + } }, - "exclude": ["node_modules", "src/lib/**/*.test.*"], - "include": ["src/lib/**/*"] + "exclude": ["node_modules", "src/**/*.test.*"], + "include": ["src/lib/**/*.d.ts", "src/lib/index.tsx"] } diff --git a/yarn.lock b/yarn.lock index dedffbb04e..e28fcc162c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,10 +112,10 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" - integrity sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw== +"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" + integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -133,20 +133,6 @@ "@babel/helper-annotate-as-pure" "^7.16.7" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.2.2", "@babel/helper-define-polyfill-provider@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10" - integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - "@babel/helper-define-polyfill-provider@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" @@ -205,7 +191,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.16.7": +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== @@ -487,12 +473,12 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" - integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== +"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.10" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-proposal-private-property-in-object@^7.16.7": @@ -939,16 +925,16 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-runtime@^7.5.5": - version "7.14.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz" - integrity sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg== +"@babel/plugin-transform-runtime@^7.17.0", "@babel/plugin-transform-runtime@^7.5.5": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" + integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-plugin-utils" "^7.13.0" - babel-plugin-polyfill-corejs2 "^0.2.0" - babel-plugin-polyfill-corejs3 "^0.2.0" - babel-plugin-polyfill-regenerator "^0.2.0" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.16.7": @@ -1083,10 +1069,10 @@ core-js-compat "^3.6.2" semver "^5.5.0" -"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.15.6", "@babel/preset-env@^7.8.4": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.8.tgz#e682fa0bcd1cf49621d64a8956318ddfb9a05af9" - integrity sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg== +"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.15.6", "@babel/preset-env@^7.16.11", "@babel/preset-env@^7.8.4": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== dependencies: "@babel/compat-data" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" @@ -1106,7 +1092,7 @@ "@babel/plugin-proposal-object-rest-spread" "^7.16.7" "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" "@babel/plugin-proposal-private-property-in-object" "^7.16.7" "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -1187,7 +1173,7 @@ "@babel/plugin-transform-react-jsx-source" "^7.12.1" "@babel/plugin-transform-react-pure-annotations" "^7.12.1" -"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.14.5": +"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.14.5", "@babel/preset-react@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== @@ -1207,7 +1193,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-typescript" "^7.12.1" -"@babel/preset-typescript@^7.16.0": +"@babel/preset-typescript@^7.16.0", "@babel/preset-typescript@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== @@ -1238,10 +1224,10 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" - integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" + integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== dependencies: regenerator-runtime "^0.13.4" @@ -3650,6 +3636,34 @@ redux-thunk "^2.3.0" reselect "^4.0.0" +"@rollup/plugin-alias@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz#a5d267548fe48441f34be8323fb64d1d4a1b3fdf" + integrity sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw== + dependencies: + slash "^3.0.0" + +"@rollup/plugin-babel@^5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" + integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-commonjs@^21.0.1": + version "21.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz#1e57c81ae1518e4df0954d681c642e7d94588fee" + integrity sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + commondir "^1.0.1" + estree-walker "^2.0.1" + glob "^7.1.6" + is-reference "^1.2.1" + magic-string "^0.25.7" + resolve "^1.17.0" + "@rollup/plugin-eslint@^8.0.1": version "8.0.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-eslint/-/plugin-eslint-8.0.1.tgz#bf7462f96027613729b8a805caaa951dc23c333e" @@ -3665,6 +3679,18 @@ dependencies: "@rollup/pluginutils" "^3.0.8" +"@rollup/plugin-node-resolve@^13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79" + integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + "@rollup/plugin-node-resolve@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" @@ -3692,6 +3718,14 @@ "@rollup/pluginutils" "^3.1.0" magic-string "^0.25.7" +"@rollup/plugin-typescript@^8.3.0": + version "8.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-8.3.0.tgz#bc1077fa5897b980fc27e376c4e377882c63e68b" + integrity sha512-I5FpSvLbtAdwJ+naznv+B4sjXZUcIvLLceYpITAn7wAP8W0wqc5noLdGIp9HGVntNhRWXctwPYrSSFQxtl0FPA== + dependencies: + "@rollup/pluginutils" "^3.1.0" + resolve "^1.17.0" + "@rollup/plugin-url@^6.1.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-url/-/plugin-url-6.1.0.tgz#1234bba9aa30b5972050bdfcf8fcbb1cb8070465" @@ -3710,7 +3744,7 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^4.0.0", "@rollup/pluginutils@^4.1.0": +"@rollup/pluginutils@^4.0.0", "@rollup/pluginutils@^4.1.2": version "4.1.2" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz#ed5821c15e5e05e32816f5fb9ec607cdf5a75751" integrity sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ== @@ -4502,6 +4536,13 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/fs-extra@^8.0.1": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.2.tgz#7125cc2e4bdd9bd2fc83005ffdb1d0ba00cca61f" + integrity sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg== + dependencies: + "@types/node" "*" + "@types/geojson@*": version "7946.0.8" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca" @@ -4810,6 +4851,13 @@ dependencies: "@types/node" "*" +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + "@types/retry@*": version "0.12.1" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" @@ -5621,7 +5669,7 @@ resolved "https://registry.yarnpkg.com/@web3-react/types/-/types-6.0.7.tgz#34a6204224467eedc6123abaf55fbb6baeb2809f" integrity sha512-ofGmfDhxmNT1/P/MgVa8IKSkCStFiyvXe+U5tyZurKdrtTDFU+wJ/LxClPDtFerWpczNFPUSrKcuhfPX1sI6+A== -"@web3-react/types@^8.0.16-alpha.0", "@widgets/web3-react/types@npm:@web3-react/types@8.0.16-alpha.0": +"@web3-react/types@^8.0.16-alpha.0", "web3-react-alpha-types@npm:@web3-react/types@8.0.16-alpha.0": version "8.0.16-alpha.0" resolved "https://registry.yarnpkg.com/@web3-react/types/-/types-8.0.16-alpha.0.tgz#bc9eeaf24d6a3e43cd262a90b4f48d1e4c95bfa4" integrity sha512-vVVUeV0xNaYpn+35nbU2qmfELU5c6nioSTp5esRX3qChIc9eHss9r43AopTMOGiS6keC/fjzuSXOxK33nRBIyA== @@ -5792,46 +5840,6 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@widgets/web3-react/core@npm:@web3-react/core@8.0.16-alpha.0": - version "8.0.16-alpha.0" - resolved "https://registry.yarnpkg.com/@web3-react/core/-/core-8.0.16-alpha.0.tgz#7e8a2e28ee492f40e482f609fd8c353b0bafa8c3" - integrity sha512-eRkZxSdOR4c0U0IpRnWf/5djWfmtLQ52RmpwwvAozxIEyM6UANsfvuyV3j8LSNIC0kWwZNl5fcOWTHQB6vetcg== - dependencies: - "@web3-react/store" "^8.0.16-alpha.0" - "@web3-react/types" "^8.0.16-alpha.0" - zustand "^4.0.0-beta.0" - -"@widgets/web3-react/eip1193@npm:@web3-react/eip1193@8.0.16-alpha.0": - version "8.0.16-alpha.0" - resolved "https://registry.yarnpkg.com/@web3-react/eip1193/-/eip1193-8.0.16-alpha.0.tgz#d0c7703804edc40c393086e5c136824cebb0d3e3" - integrity sha512-prHcUj3Te8lqowZ0DQX81qL50uYVq7242B1IX5l+kgFxMlO1lwTH1JHpIm4T/sjxQce93Y4896eu1naNM55QtA== - dependencies: - "@web3-react/types" "^8.0.16-alpha.0" - -"@widgets/web3-react/empty@npm:@web3-react/empty@8.0.17-alpha.0": - version "8.0.17-alpha.0" - resolved "https://registry.yarnpkg.com/@web3-react/empty/-/empty-8.0.17-alpha.0.tgz#79a3d42a01f59b00106acb055bf1be90cdc1b5ce" - integrity sha512-XpbN5It5+ajNFOP/9HVCc5fiMIYTJtqKrvWEeGwz2cRSP1TSFFlPFgpHU2T9gwffXjWXDfxPM2oRTE9v1gQu/Q== - dependencies: - "@web3-react/types" "^8.0.16-alpha.0" - -"@widgets/web3-react/metamask@npm:@web3-react/metamask@8.0.16-alpha.0": - version "8.0.16-alpha.0" - resolved "https://registry.yarnpkg.com/@web3-react/metamask/-/metamask-8.0.16-alpha.0.tgz#7870580484ea0872b3b5713440f1858b9b6b03b8" - integrity sha512-KizXfLb2NPwlrSn7oJ/hbMTRsUoBmMbN1Wuur1oI1pxbDlqRMkfAZpfibSEgTLuTye1uNI8XmWCLIbWzU4oOSA== - dependencies: - "@metamask/detect-provider" "^1.2.0" - "@web3-react/types" "^8.0.16-alpha.0" - -"@widgets/web3-react/url@npm:@web3-react/url@8.0.17-alpha.0": - version "8.0.17-alpha.0" - resolved "https://registry.yarnpkg.com/@web3-react/url/-/url-8.0.17-alpha.0.tgz#799082966ba8e3f752b9cdd1991c8b8037bd96c9" - integrity sha512-bcHtkUUhW8hrLDnx3Y1q88LK1i5qtQKWQQnYiCd8963ayAP/XuxoKiR56a/H5v5ofl9f3EM7GMO3WwFNabD6iQ== - dependencies: - "@ethersproject/experimental" "^5.4.0" - "@ethersproject/providers" "^5.4.5" - "@web3-react/types" "^8.0.16-alpha.0" - "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -5842,7 +5850,7 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@yarn-tool/resolve-package@^1.0.36": +"@yarn-tool/resolve-package@^1.0.40": version "1.0.42" resolved "https://registry.yarnpkg.com/@yarn-tool/resolve-package/-/resolve-package-1.0.42.tgz#4a72c1a77b7035dc86250744d2cdbc16292bc4f8" integrity sha512-1BAsoiD6jGAaPc7mRH0UxIVXgRSTv7fnhwfKkaFUYpqsU4ZR7KIigZTMcb2bujtlzKQbNneMPQGjiqe3F8cmlw== @@ -6007,6 +6015,46 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" +"web3-react-alpha-core@npm:@web3-react/core@8.0.16-alpha.0": + version "8.0.16-alpha.0" + resolved "https://registry.yarnpkg.com/@web3-react/core/-/core-8.0.16-alpha.0.tgz#7e8a2e28ee492f40e482f609fd8c353b0bafa8c3" + integrity sha512-eRkZxSdOR4c0U0IpRnWf/5djWfmtLQ52RmpwwvAozxIEyM6UANsfvuyV3j8LSNIC0kWwZNl5fcOWTHQB6vetcg== + dependencies: + "@web3-react/store" "^8.0.16-alpha.0" + "@web3-react/types" "^8.0.16-alpha.0" + zustand "^4.0.0-beta.0" + +"web3-react-alpha-eip1193@npm:@web3-react/eip1193@8.0.16-alpha.0": + version "8.0.16-alpha.0" + resolved "https://registry.yarnpkg.com/@web3-react/eip1193/-/eip1193-8.0.16-alpha.0.tgz#d0c7703804edc40c393086e5c136824cebb0d3e3" + integrity sha512-prHcUj3Te8lqowZ0DQX81qL50uYVq7242B1IX5l+kgFxMlO1lwTH1JHpIm4T/sjxQce93Y4896eu1naNM55QtA== + dependencies: + "@web3-react/types" "^8.0.16-alpha.0" + +"web3-react-alpha-empty@npm:@web3-react/empty@8.0.17-alpha.0": + version "8.0.17-alpha.0" + resolved "https://registry.yarnpkg.com/@web3-react/empty/-/empty-8.0.17-alpha.0.tgz#79a3d42a01f59b00106acb055bf1be90cdc1b5ce" + integrity sha512-XpbN5It5+ajNFOP/9HVCc5fiMIYTJtqKrvWEeGwz2cRSP1TSFFlPFgpHU2T9gwffXjWXDfxPM2oRTE9v1gQu/Q== + dependencies: + "@web3-react/types" "^8.0.16-alpha.0" + +"web3-react-alpha-metamask@npm:@web3-react/metamask@8.0.16-alpha.0": + version "8.0.16-alpha.0" + resolved "https://registry.yarnpkg.com/@web3-react/metamask/-/metamask-8.0.16-alpha.0.tgz#7870580484ea0872b3b5713440f1858b9b6b03b8" + integrity sha512-KizXfLb2NPwlrSn7oJ/hbMTRsUoBmMbN1Wuur1oI1pxbDlqRMkfAZpfibSEgTLuTye1uNI8XmWCLIbWzU4oOSA== + dependencies: + "@metamask/detect-provider" "^1.2.0" + "@web3-react/types" "^8.0.16-alpha.0" + +"web3-react-alpha-url@npm:@web3-react/url@8.0.17-alpha.0": + version "8.0.17-alpha.0" + resolved "https://registry.yarnpkg.com/@web3-react/url/-/url-8.0.17-alpha.0.tgz#799082966ba8e3f752b9cdd1991c8b8037bd96c9" + integrity sha512-bcHtkUUhW8hrLDnx3Y1q88LK1i5qtQKWQQnYiCd8963ayAP/XuxoKiR56a/H5v5ofl9f3EM7GMO3WwFNabD6iQ== + dependencies: + "@ethersproject/experimental" "^5.4.0" + "@ethersproject/providers" "^5.4.5" + "@web3-react/types" "^8.0.16-alpha.0" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -6705,7 +6753,7 @@ babel-plugin-macros@2.8.0, babel-plugin-macros@^2.0.0: cosmiconfig "^6.0.0" resolve "^1.12.0" -babel-plugin-macros@^3.0.1: +babel-plugin-macros@^3.0.1, babel-plugin-macros@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== @@ -6719,15 +6767,6 @@ babel-plugin-named-asset-import@^0.3.7: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== -babel-plugin-polyfill-corejs2@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" - integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.4" - semver "^6.1.1" - babel-plugin-polyfill-corejs2@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" @@ -6737,14 +6776,6 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.0" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.0: - version "0.2.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" - integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.16.2" - babel-plugin-polyfill-corejs3@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz#f81371be3fe499d39e074e272a1ef86533f3d268" @@ -6753,13 +6784,6 @@ babel-plugin-polyfill-corejs3@^0.5.0: "@babel/helper-define-polyfill-provider" "^0.3.0" core-js-compat "^3.20.0" -babel-plugin-polyfill-regenerator@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d" - integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.4" - babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" @@ -8409,10 +8433,10 @@ color@^3.0.0: color-convert "^1.9.3" color-string "^1.6.0" -colorette@^1.2.1, colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +colorette@^1.1.0, colorette@^1.2.1, colorette@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== colors@1.0.3: version "1.0.3" @@ -8654,14 +8678,6 @@ copy-to-clipboard@^3.2.0, copy-to-clipboard@^3.3.1: dependencies: toggle-selection "^1.0.6" -core-js-compat@^3.16.2: - version "3.21.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885" - integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A== - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - core-js-compat@^3.20.0, core-js-compat@^3.20.2, core-js-compat@^3.6.2: version "3.20.2" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.2.tgz#d1ff6936c7330959b46b2e08b122a8b14e26140b" @@ -9708,6 +9724,20 @@ del@^4.1.1: pify "^4.0.1" rimraf "^2.6.3" +del@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== + dependencies: + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + delaunator@5: version "5.0.0" resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.0.tgz#60f052b28bd91c9b4566850ebf7756efe821d81b" @@ -11305,10 +11335,10 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== +fast-glob@^3.0.3, fast-glob@^3.1.1: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -11487,10 +11517,10 @@ find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== +find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" make-dir "^3.0.2" @@ -11539,6 +11569,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.2.0.tgz#f3b81d633fa83bebe64f83a8bab357f86d5914be" + integrity sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA== + dependencies: + locate-path "^7.0.0" + path-exists "^5.0.0" + firebase@^9.1.3: version "9.1.3" resolved "https://registry.yarnpkg.com/firebase/-/firebase-9.1.3.tgz#11557f812f53edab5053ed0bd4dd344f2ae7fb5f" @@ -11710,7 +11748,7 @@ from@~0: resolved "https://registry.npmjs.org/from/-/from-0.1.7.tgz" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= -fs-extra@10.0.0: +fs-extra@10.0.0, fs-extra@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== @@ -11719,15 +11757,6 @@ fs-extra@10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@8.1.0, fs-extra@^8.1, fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -11737,6 +11766,15 @@ fs-extra@^7.0.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^8.1, fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + 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" @@ -11998,6 +12036,20 @@ globals@^9.18.0: resolved "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz" integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== +globby@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" + integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globby@11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" @@ -12022,6 +12074,20 @@ globby@11.0.3: merge2 "^1.3.0" slash "^3.0.0" +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globby@^11.0.1, globby@^11.0.3: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" @@ -12062,10 +12128,10 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== graphql-config@^3.3.0: version "3.3.0" @@ -12579,10 +12645,10 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.1.1, ignore@^5.1.4: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== image-q@^1.1.1: version "1.1.1" @@ -13140,7 +13206,7 @@ is-observable@^1.1.0: dependencies: symbol-observable "^1.1.0" -is-path-cwd@^2.0.0: +is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== @@ -13159,7 +13225,7 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" -is-path-inside@^3.0.2: +is-path-inside@^3.0.1, 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== @@ -13174,7 +13240,7 @@ is-plain-obj@^3.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== -is-plain-object@3.0.1: +is-plain-object@3.0.1, is-plain-object@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== @@ -13201,6 +13267,13 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== +is-reference@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + is-regex@^1.0.4, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -14536,6 +14609,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.0.0.tgz#f0a60c8dd7ef0f737699eb9461b9567a92bc97da" + integrity sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w== + dependencies: + p-locate "^6.0.0" + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -14914,7 +14994,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.2.3, merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -15892,6 +15972,13 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -15920,11 +16007,25 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -16131,6 +16232,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -18404,7 +18510,7 @@ resolve@1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@1.20.0, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -18549,6 +18655,24 @@ rollup-plugin-babel@^4.3.3: "@babel/helper-module-imports" "^7.0.0" rollup-pluginutils "^2.8.1" +rollup-plugin-copy@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz#f1228a3ffb66ffad8606e2f3fb7ff23141ed3286" + integrity sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ== + dependencies: + "@types/fs-extra" "^8.0.1" + colorette "^1.1.0" + fs-extra "^8.1.0" + globby "10.0.1" + is-plain-object "^3.0.0" + +rollup-plugin-delete@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-delete/-/rollup-plugin-delete-2.0.0.tgz#262acf80660d48c3b167fb0baabd0c3ab985c153" + integrity sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA== + dependencies: + del "^5.1.0" + rollup-plugin-dts@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rollup-plugin-dts/-/rollup-plugin-dts-4.1.0.tgz#63b1e7de3970bb6d50877e60df2150a3892bc49c" @@ -18558,6 +18682,13 @@ rollup-plugin-dts@^4.1.0: optionalDependencies: "@babel/code-frame" "^7.16.0" +rollup-plugin-node-externals@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-externals/-/rollup-plugin-node-externals-3.1.2.tgz#1604aa28384a8771735168fe900d6f00f450d0fa" + integrity sha512-2y5lNDI2QNLTntYDOcLzyEVJYszDyQkd2WiRTGQ/6Hdfgt/fSQb5V5trsgBMEkxs2eaunQ0aAW29Ki6jMNutIg== + dependencies: + find-up "^6.2.0" + rollup-plugin-scss@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/rollup-plugin-scss/-/rollup-plugin-scss-3.0.0.tgz#35ad0adc614217e0278e702d8a674820faa0929e" @@ -18577,16 +18708,16 @@ rollup-plugin-terser@^5.3.1: terser "^4.6.2" rollup-plugin-typescript2@^0.31.1: - version "0.31.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.1.tgz#3b3a0e29b29b2ed8244b1a78fd8e2cac93ab79a4" - integrity sha512-sklqXuQwQX+stKi4kDfEkneVESPi3YM/2S899vfRdF9Yi40vcC50Oq4A4cSZJNXsAQE/UsBZl5fAOsBLziKmjw== - dependencies: - "@rollup/pluginutils" "^4.1.0" - "@yarn-tool/resolve-package" "^1.0.36" - find-cache-dir "^3.3.1" - fs-extra "8.1.0" - resolve "1.20.0" - tslib "2.2.0" + version "0.31.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz#463aa713a7e2bf85b92860094b9f7fb274c5a4d8" + integrity sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q== + dependencies: + "@rollup/pluginutils" "^4.1.2" + "@yarn-tool/resolve-package" "^1.0.40" + find-cache-dir "^3.3.2" + fs-extra "^10.0.0" + resolve "^1.20.0" + tslib "^2.3.1" rollup-pluginutils@^2.3.3, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: version "2.8.2" @@ -20303,11 +20434,6 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@2.2.0, tslib@~2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz" - integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== - tslib@^1.0.0, tslib@^1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -20328,6 +20454,11 @@ tslib@~2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +tslib@~2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz" + integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== + tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -20462,10 +20593,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.2.3: - version "4.4.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.2.tgz#6d618640d430e3569a1dfb44f7d7e600ced3ee86" - integrity sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ== +typescript@^4.4.3: + version "4.5.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== typical@^2.6.0, typical@^2.6.1: version "2.6.1" @@ -21778,6 +21909,11 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + zustand@^4.0.0-beta.0: version "4.0.0-beta.0" resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.0.0-beta.0.tgz#880bb21d9308ebc733a2ae07edd7c2c7b4f68eed"