diff --git a/.changeset/calm-candles-shake.md b/.changeset/calm-candles-shake.md deleted file mode 100644 index e893106e..00000000 --- a/.changeset/calm-candles-shake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rosen-bridge/watcher-app': minor ---- - -Implemented a dynamic title system that automatically displays the network's name diff --git a/.changeset/green-panthers-tap.md b/.changeset/clever-pumas-return.md similarity index 100% rename from .changeset/green-panthers-tap.md rename to .changeset/clever-pumas-return.md diff --git a/.changeset/great-islands-drum.md b/.changeset/great-islands-drum.md deleted file mode 100644 index 511410f8..00000000 --- a/.changeset/great-islands-drum.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rosen-bridge/watcher-app': major ---- - -Split layout.tsx into layout.tsx and App.tsx files, Implemented a dynamic title feature to display the network diff --git a/.changeset/late-fans-join.md b/.changeset/late-fans-join.md new file mode 100644 index 00000000..a845151c --- /dev/null +++ b/.changeset/late-fans-join.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.changeset/many-ducks-give.md b/.changeset/many-ducks-give.md deleted file mode 100644 index bd948eeb..00000000 --- a/.changeset/many-ducks-give.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@rosen-bridge/watcher-app': minor -'@rosen-bridge/guard-app': minor ---- - -Add a meta tag title to ensure an appropriate title is displayed in browsers diff --git a/.changeset/strange-pumpkins-rescue.md b/.changeset/strange-pumpkins-rescue.md deleted file mode 100644 index 7538ccf7..00000000 --- a/.changeset/strange-pumpkins-rescue.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@rosen-bridge/watcher-app': minor -'@rosen-bridge/guard-app': minor ---- - -Add a favicon to enhance browser visibility diff --git a/.github/workflows/docker-dev-release.yml b/.github/workflows/docker-dev-release.yml index f5e52c90..e111c12c 100644 --- a/.github/workflows/docker-dev-release.yml +++ b/.github/workflows/docker-dev-release.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - os: [ ubuntu-latest ] + os: [ubuntu-latest] apps: - watcher - guard diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 5e197a58..8b7c62f2 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - os: [ ubuntu-latest ] + os: [ubuntu-latest] steps: - name: Checkout the Code diff --git a/.gitignore b/.gitignore index 81e7bfba..7c39a7ea 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,13 @@ coverage yarn.lock *.sqlite *.tsbuildinfo + +.bin +.env +.next +out +build +config +configs +next-env.d.ts +!config/default.yaml diff --git a/.lintstagedrc.mjs b/.lintstagedrc.mjs index e1914f42..0dcfbab8 100644 --- a/.lintstagedrc.mjs +++ b/.lintstagedrc.mjs @@ -1,4 +1,27 @@ +import fs from 'fs'; +import path from 'path'; + export default { '*': 'prettier --ignore-unknown --write', + '**/{networks,packages,wallets}/**/*.{js,jsx,ts,tsx}': 'eslint --fix', + '**/{networks,packages,wallets}/**/*.{ts,tsx}': (files) => { + const packages = new Set(); + + files.forEach((file) => { + let directory = path.dirname(file); + + while (directory !== process.cwd()) { + if (fs.existsSync(path.join(directory, 'package.json'))) { + packages.add( + `npm run type-check --workspace ${path.relative(process.cwd(), directory)}`, + ); + break; + } + directory = path.dirname(directory); + } + }); + + return Array.from(packages); + }, '*.{js,jsx,ts,tsx}': 'npm run test:related', }; diff --git a/.prettierrc b/.prettierrc index 544138be..24d65435 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,3 +1,20 @@ { - "singleQuote": true + "singleQuote": true, + "quoteProps": "consistent", + "importOrder": [ + "^(@?react|@?next)", + "", + "^@/(.*)$", + "^[.](.*)" + ], + "importOrderCaseInsensitive": true, + "importOrderParserPlugins": [ + "typescript", + "jsx", + "classProperties", + "[\"decorators\", { \"decoratorsBeforeExport\": true }]" + ], + "importOrderSeparation": true, + "importOrderSortSpecifiers": false, + "plugins": ["@trivago/prettier-plugin-sort-imports"] } diff --git a/apps/guard/.gitignore b/apps/guard/.gitignore deleted file mode 100644 index 45c1abce..00000000 --- a/apps/guard/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local -.env - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/apps/guard/CHANGELOG.md b/apps/guard/CHANGELOG.md index e6b21b4f..e73f9af8 100644 --- a/apps/guard/CHANGELOG.md +++ b/apps/guard/CHANGELOG.md @@ -1,5 +1,18 @@ # @rosen-bridge/guard-app +## 1.8.0 + +### Minor Changes + +- Add a meta tag title to ensure an appropriate title is displayed in browsers +- Add a favicon to enhance browser visibility + +### Patch Changes + +- Restructure modules to use named exports, enhancing clarity and consistency +- Cleaned up duplicate ApiKeyModal files, moved to the design system, and updated the related imports +- Updated the @rosen-bridge/ui-kit@1.5.3 dependency + ## 1.7.0 ### Minor Changes diff --git a/apps/guard/app/(dashboard)/@actions/SendForSigningForm.tsx b/apps/guard/app/(dashboard)/@actions/SendForSigningForm.tsx index ad8bfbe4..cc6ccc62 100644 --- a/apps/guard/app/(dashboard)/@actions/SendForSigningForm.tsx +++ b/apps/guard/app/(dashboard)/@actions/SendForSigningForm.tsx @@ -1,7 +1,8 @@ import React, { useState } from 'react'; import { SubmitHandler, useForm } from 'react-hook-form'; -import useSWRMutation from 'swr/mutation'; +import { Alert } from '@rosen-bridge/icons'; +import { useApiKey } from '@rosen-bridge/shared-contexts'; import { AlertCard, AlertProps, @@ -15,16 +16,13 @@ import { Typography, styled, } from '@rosen-bridge/ui-kit'; +import { ApiKeyModal } from '@rosen-bridge/ui-kit'; +import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; import { mutatorWithHeaders } from '@rosen-ui/swr-helpers'; - -import { Alert } from '@rosen-bridge/icons'; - -import { useApiKey } from '@rosen-bridge/shared-contexts'; +import { Network } from '@rosen-ui/types'; +import useSWRMutation from 'swr/mutation'; import { ApiSignRequestBody, ApiSignResponse } from '@/_types/api'; -import ApiKeyModal from '@/_modals/ApiKeyModal'; -import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; -import { Network } from '@rosen-ui/types'; const AlertIcon = styled(Alert)((theme) => ({ fill: theme.palette.primary.main, @@ -39,7 +37,7 @@ interface Form { /** * render a form for signing a tx */ -const SendForSigningForm = () => { +export const SendForSigningForm = () => { const { apiKey } = useApiKey(); const { @@ -198,5 +196,3 @@ const SendForSigningForm = () => { ); }; - -export default SendForSigningForm; diff --git a/apps/guard/app/(dashboard)/@actions/TabPanel.tsx b/apps/guard/app/(dashboard)/@actions/TabPanel.tsx index 27297c2a..dc9f149f 100644 --- a/apps/guard/app/(dashboard)/@actions/TabPanel.tsx +++ b/apps/guard/app/(dashboard)/@actions/TabPanel.tsx @@ -12,7 +12,7 @@ interface TabPanelProps { * @param in * @param children */ -const TabPanel = ({ in: isIn, children }: TabPanelProps) => { +export const TabPanel = ({ in: isIn, children }: TabPanelProps) => { return ( { ); }; - -export default TabPanel; diff --git a/apps/guard/app/(dashboard)/@actions/page.tsx b/apps/guard/app/(dashboard)/@actions/page.tsx index 842d2a2c..94709ac7 100644 --- a/apps/guard/app/(dashboard)/@actions/page.tsx +++ b/apps/guard/app/(dashboard)/@actions/page.tsx @@ -20,8 +20,8 @@ import { useResponsiveValue, } from '@rosen-bridge/ui-kit'; -import SendForSigningForm from './SendForSigningForm'; -import TabPanel from './TabPanel'; +import { SendForSigningForm } from './SendForSigningForm'; +import { TabPanel } from './TabPanel'; /** * render root of page @@ -50,15 +50,15 @@ const Root = styled(Box)(({ theme }) => ({ * render a container for tabs */ const TabsContainer = styled(Box)(({ theme }) => ({ - position: 'relative', - height: 'calc(100% + 32px)', - margin: theme.spacing(-2, 0), + 'position': 'relative', + 'height': 'calc(100% + 32px)', + 'margin': theme.spacing(-2, 0), [theme.breakpoints.down('tablet')]: { margin: theme.spacing(-3, -2), }, '& .MuiTabs-root': { - paddingTop: theme.spacing(5), - paddingBottom: theme.spacing(5), + 'paddingTop': theme.spacing(5), + 'paddingBottom': theme.spacing(5), [theme.breakpoints.down('tablet')]: { padding: theme.spacing(1, 2, 0, 2), backgroundColor: theme.palette.info.dark, @@ -91,11 +91,11 @@ const TabsContainer = styled(Box)(({ theme }) => ({ }, }, '& .card': { - position: 'absolute', - width: '100%', - height: '100%', - display: 'flex', - flexDirection: 'column', + 'position': 'absolute', + 'width': '100%', + 'height': '100%', + 'display': 'flex', + 'flexDirection': 'column', [theme.breakpoints.down('tablet')]: { display: 'none', }, diff --git a/apps/guard/app/(dashboard)/@infoWidgets/HealthWidget.tsx b/apps/guard/app/(dashboard)/@infoWidgets/HealthWidget.tsx index 12541ce7..e22ed883 100644 --- a/apps/guard/app/(dashboard)/@infoWidgets/HealthWidget.tsx +++ b/apps/guard/app/(dashboard)/@infoWidgets/HealthWidget.tsx @@ -1,5 +1,4 @@ import React from 'react'; -import useSWR from 'swr'; import { Alert, ShieldCheck } from '@rosen-bridge/icons'; import { @@ -12,6 +11,7 @@ import { import { healthStatusColorMap } from '@rosen-ui/constants'; import { fetcher } from '@rosen-ui/swr-helpers'; import { AugmentedPalette } from '@rosen-ui/types'; +import useSWR from 'swr'; import { ApiInfoResponse } from '@/_types/api'; @@ -25,17 +25,17 @@ interface HealthWidgetBaseProps { */ const HealthWidgetBase = styled(Card)( ({ theme, ...props }) => ({ - padding: theme.spacing(2), - backgroundColor: theme.palette[props.widgetColor].main, - color: theme.palette[props.widgetColor].contrastText, - backgroundImage: + 'padding': theme.spacing(2), + 'backgroundColor': theme.palette[props.widgetColor].main, + 'color': theme.palette[props.widgetColor].contrastText, + 'backgroundImage': theme.palette.mode === 'light' ? `linear-gradient(180deg, ${ theme.palette[props.widgetColor].main } 0%, ${theme.palette[props.widgetColor].dark} 100%)` : 'none', - display: 'flex', - alignItems: 'center', + 'display': 'flex', + 'alignItems': 'center', '& span': { marginLeft: theme.spacing(2), marginRight: theme.spacing(1), @@ -49,7 +49,7 @@ const HealthWidgetBase = styled(Card)( /** * render a widget showing health status or a pending indicator */ -const HealthWidget = () => { +export const HealthWidget = () => { const { data: info, isLoading } = useSWR('/info', fetcher); return ( @@ -89,5 +89,3 @@ const HealthWidget = () => { ); }; - -export default HealthWidget; diff --git a/apps/guard/app/(dashboard)/@infoWidgets/WalletWidget.tsx b/apps/guard/app/(dashboard)/@infoWidgets/WalletWidget.tsx index 5199e626..9e3d63a0 100644 --- a/apps/guard/app/(dashboard)/@infoWidgets/WalletWidget.tsx +++ b/apps/guard/app/(dashboard)/@infoWidgets/WalletWidget.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React from 'react'; import { CopyToClipboard } from 'react-copy-to-clipboard'; import { Copy, QrcodeScan } from '@rosen-bridge/icons'; @@ -30,24 +30,24 @@ interface WidgetCardProps { */ const WalletWidgetBase = styled(Card)( ({ theme, ...props }) => ({ - padding: theme.spacing(2), - backgroundColor: theme.palette[props.widgetColor].main, - backgroundImage: + 'padding': theme.spacing(2), + 'backgroundColor': theme.palette[props.widgetColor].main, + 'backgroundImage': theme.palette.mode === 'light' ? `linear-gradient(180deg, ${ theme.palette[props.widgetColor].main } 0%, ${theme.palette[props.widgetColor].dark} 100%)` : 'none', - color: theme.palette.success.contrastText, - flexGrow: 1, + 'color': theme.palette.success.contrastText, + 'flexGrow': 1, '& .title': { fontSize: theme.typography.h5.fontSize, fontWeight: 'bold', }, '& .value': { - fontSize: theme.typography.h2.fontSize, - fontWeight: 'bold', - textAlign: 'right', + 'fontSize': theme.typography.h2.fontSize, + 'fontWeight': 'bold', + 'textAlign': 'right', '& span': { fontSize: '50%', fontWeight: 'normal', @@ -92,7 +92,7 @@ interface WalletWidgetProps { * @param color * @param isLoading */ -const WalletWidget = ({ +export const WalletWidget = ({ title, tokenInfoWithAddresses, color, @@ -194,5 +194,3 @@ const WalletWidget = ({ ); }; - -export default WalletWidget; diff --git a/apps/guard/app/(dashboard)/@infoWidgets/page.tsx b/apps/guard/app/(dashboard)/@infoWidgets/page.tsx index 2df5ba56..e3bf3f3d 100644 --- a/apps/guard/app/(dashboard)/@infoWidgets/page.tsx +++ b/apps/guard/app/(dashboard)/@infoWidgets/page.tsx @@ -1,15 +1,14 @@ 'use client'; -import useSWR from 'swr'; - import { Stack } from '@rosen-bridge/ui-kit'; import { fetcher } from '@rosen-ui/swr-helpers'; - -import HealthWidget from './HealthWidget'; -import WalletWidget from './WalletWidget'; +import useSWR from 'swr'; import { ApiInfoResponse } from '@/_types/api'; +import { HealthWidget } from './HealthWidget'; +import { WalletWidget } from './WalletWidget'; + const InfoWidgets = () => { const { data: info, isLoading } = useSWR('/info', fetcher); diff --git a/apps/guard/app/(dashboard)/@revenue/PeriodSelect.tsx b/apps/guard/app/(dashboard)/@revenue/PeriodSelect.tsx index da1c173e..15c80449 100644 --- a/apps/guard/app/(dashboard)/@revenue/PeriodSelect.tsx +++ b/apps/guard/app/(dashboard)/@revenue/PeriodSelect.tsx @@ -15,7 +15,7 @@ interface PeriodSelectProps { * @param period * @param setPeriod */ -const PeriodSelect = ({ period, setPeriod }: PeriodSelectProps) => { +export const PeriodSelect = ({ period, setPeriod }: PeriodSelectProps) => { const [anchorElement, setAnchorElement] = useState( null, ); @@ -84,5 +84,3 @@ const PeriodSelect = ({ period, setPeriod }: PeriodSelectProps) => { ); }; - -export default PeriodSelect; diff --git a/apps/guard/app/(dashboard)/@revenue/RevenueChart.tsx b/apps/guard/app/(dashboard)/@revenue/RevenueChart.tsx index 9ef7c2ee..83ee19fe 100644 --- a/apps/guard/app/(dashboard)/@revenue/RevenueChart.tsx +++ b/apps/guard/app/(dashboard)/@revenue/RevenueChart.tsx @@ -1,10 +1,10 @@ -import moment from 'moment'; import React, { useMemo } from 'react'; import Chart from 'react-apexcharts'; import { useTheme } from '@rosen-bridge/ui-kit'; import { ChartPeriod } from '@rosen-ui/types'; import { getDecimalString, roundToPrecision } from '@rosen-ui/utils'; +import moment from 'moment'; import { ApiRevenueChartResponse } from '@/_types/api'; @@ -62,7 +62,7 @@ interface RevenueChartProps { * @param period * @param data */ -const RevenueChart = ({ period, data }: RevenueChartProps) => { +export const RevenueChart = ({ period, data }: RevenueChartProps) => { const theme = useTheme(); const reversedData = useMemo( @@ -137,5 +137,3 @@ const RevenueChart = ({ period, data }: RevenueChartProps) => { /> ); }; - -export default RevenueChart; diff --git a/apps/guard/app/(dashboard)/@revenue/RevenueChartSkeleton.tsx b/apps/guard/app/(dashboard)/@revenue/RevenueChartSkeleton.tsx index a11533c2..6b2cbc49 100644 --- a/apps/guard/app/(dashboard)/@revenue/RevenueChartSkeleton.tsx +++ b/apps/guard/app/(dashboard)/@revenue/RevenueChartSkeleton.tsx @@ -3,8 +3,6 @@ import { Skeleton } from '@rosen-bridge/ui-kit'; /** * render a skeleton element for `RevenueChart` */ -const RevenueChartSkeleton = () => ( +export const RevenueChartSkeleton = () => ( ); - -export default RevenueChartSkeleton; diff --git a/apps/guard/app/(dashboard)/@revenue/page.tsx b/apps/guard/app/(dashboard)/@revenue/page.tsx index d2f97d58..3708fc95 100644 --- a/apps/guard/app/(dashboard)/@revenue/page.tsx +++ b/apps/guard/app/(dashboard)/@revenue/page.tsx @@ -2,22 +2,25 @@ import dynamic from 'next/dynamic'; import React, { useState } from 'react'; -import useSWR from 'swr'; import { FullCard } from '@rosen-bridge/ui-kit'; import { fetcher } from '@rosen-ui/swr-helpers'; import { ChartPeriod } from '@rosen-ui/types'; - -import PeriodSelect from './PeriodSelect'; -import RevenueChartSkeleton from './RevenueChartSkeleton'; +import useSWR from 'swr'; import { ApiRevenueChartResponse } from '@/_types/api'; +import { PeriodSelect } from './PeriodSelect'; +import { RevenueChartSkeleton } from './RevenueChartSkeleton'; + /** * This is required because revenue chart cannot be pre-rendered in next and * throws an error */ -const RevenueChart = dynamic(() => import('./RevenueChart'), { ssr: false }); +const RevenueChart = dynamic( + () => import('./RevenueChart').then((mod) => mod.RevenueChart), + { ssr: false }, +); const Revenue = () => { const [period, setPeriod] = useState('week'); diff --git a/apps/guard/app/(dashboard)/@tokens/page.tsx b/apps/guard/app/(dashboard)/@tokens/page.tsx index 912294f9..51bdb140 100644 --- a/apps/guard/app/(dashboard)/@tokens/page.tsx +++ b/apps/guard/app/(dashboard)/@tokens/page.tsx @@ -1,12 +1,11 @@ 'use client'; -import useSWR from 'swr'; - import { Grid, TokensCard } from '@rosen-bridge/ui-kit'; +import { NETWORKS } from '@rosen-ui/constants'; import { fetcher } from '@rosen-ui/swr-helpers'; +import useSWR from 'swr'; import { ApiAddressAssetsResponse } from '@/_types/api'; -import { NETWORKS } from '@rosen-ui/constants'; const Tokens = () => { const { data: ergoTokens, isLoading: isErogTokensLoading } = diff --git a/apps/guard/app/App.tsx b/apps/guard/app/App.tsx index 5a9b8c58..3cd2fc7b 100644 --- a/apps/guard/app/App.tsx +++ b/apps/guard/app/App.tsx @@ -1,8 +1,9 @@ 'use client'; import React from 'react'; -import { NoSsr } from '@mui/material'; +import { NoSsr } from '@mui/material'; +import { ApiKeyContextProvider } from '@rosen-bridge/shared-contexts'; import { styled, SnackbarProvider, @@ -10,16 +11,13 @@ import { CssBaseline, ThemeProvider, } from '@rosen-bridge/ui-kit'; -import SWRConfig from '@rosen-ui/swr-mock'; - -import { SideBar } from './SideBar'; -import Toolbar from './Toolbar'; +import { SWRConfig } from '@rosen-ui/swr-mock'; import { theme } from '@/_theme/theme'; -import { ApiKeyContextProvider } from '@rosen-bridge/shared-contexts'; - -import mockedData from './_mock/mockedData'; +import { mockedData } from './_mock/mockedData'; +import { SideBar } from './SideBar'; +import { Toolbar } from './Toolbar'; const Root = styled('div')(({ theme }) => ({ width: '100vw', @@ -65,7 +63,7 @@ interface AppProps { children?: React.ReactNode; } -const App = ({ children }: AppProps) => { +export const App = ({ children }: AppProps) => { return ( @@ -95,5 +93,3 @@ const App = ({ children }: AppProps) => { ); }; - -export default App; diff --git a/apps/guard/app/SideBar.tsx b/apps/guard/app/SideBar.tsx index 1908c251..d64ff07e 100644 --- a/apps/guard/app/SideBar.tsx +++ b/apps/guard/app/SideBar.tsx @@ -11,9 +11,8 @@ import { } from '@rosen-bridge/icons'; import { AppBar, AppLogo } from '@rosen-bridge/ui-kit'; -import useInfo from './_hooks/useInfo'; - import packageJson from '../package.json'; +import { useInfo } from './_hooks/useInfo'; /** * render sidebar log and navigation buttons diff --git a/apps/guard/app/Toolbar.tsx b/apps/guard/app/Toolbar.tsx index 0d0455cf..89619632 100644 --- a/apps/guard/app/Toolbar.tsx +++ b/apps/guard/app/Toolbar.tsx @@ -5,27 +5,26 @@ import { ToolbarThemeTogglerAction, Toolbar as UiKitToolbar, } from '@rosen-bridge/ui-kit'; - -import ApiKeyModal from './_modals/ApiKeyModal'; +import { ApiKeyModal } from '@rosen-bridge/ui-kit'; const pageTitleMap: Record = { '(dashboard)': 'Dashboard', - assets: 'Assets', - events: 'Events', - health: 'Health', - history: 'History', - revenues: 'Revenues', + 'assets': 'Assets', + 'events': 'Events', + 'health': 'Health', + 'history': 'History', + 'revenues': 'Revenues', }; /** * render toolbar containing page title and some actions */ -const Toolbar = () => { +export const Toolbar = () => { const page = useSelectedLayoutSegment(); return ( @@ -35,5 +34,3 @@ const Toolbar = () => { /> ); }; - -export default Toolbar; diff --git a/apps/guard/app/_hooks/useAddresses.ts b/apps/guard/app/_hooks/useAddresses.ts index 5ea69dfb..e068fc6c 100644 --- a/apps/guard/app/_hooks/useAddresses.ts +++ b/apps/guard/app/_hooks/useAddresses.ts @@ -1,7 +1,8 @@ import { useMemo } from 'react'; + import { Network } from '@rosen-ui/types'; -import useInfo from './useInfo'; +import { useInfo } from './useInfo'; type Addresses = { [key in 'cold' | 'hot']: { diff --git a/apps/guard/app/_hooks/useInfo.ts b/apps/guard/app/_hooks/useInfo.ts index d9605c9f..5ef120a8 100644 --- a/apps/guard/app/_hooks/useInfo.ts +++ b/apps/guard/app/_hooks/useInfo.ts @@ -6,6 +6,4 @@ import { ApiInfoResponse } from '@/_types/api'; /** * wrap useSWR for fetching info api */ -const useInfo = () => useSWR('/info', fetcher); - -export default useInfo; +export const useInfo = () => useSWR('/info', fetcher); diff --git a/apps/guard/app/_mock/mockedData.ts b/apps/guard/app/_mock/mockedData.ts index 6feae7b2..810cfbf0 100644 --- a/apps/guard/app/_mock/mockedData.ts +++ b/apps/guard/app/_mock/mockedData.ts @@ -1,8 +1,7 @@ -import moment from 'moment'; - -import { SWRConfigProps } from '@rosen-ui/swr-mock'; import { NETWORKS } from '@rosen-ui/constants'; +import { SWRConfigProps } from '@rosen-ui/swr-mock'; import { ChartPeriod } from '@rosen-ui/types'; +import moment from 'moment'; import { ApiAddressAssetsResponse, @@ -13,7 +12,6 @@ import { ApiSignResponse, ApiEventResponse as ApiOngoingEventResponse, ApiHistoryResponse as ApiHistoryEventResponse, - EventBase, HistoryEvent, OngoingEvent, } from '@/_types/api'; @@ -392,7 +390,7 @@ const history: ApiHistoryEventResponse = { items: generateHistoryEventRecords(100), }; -const mockedData: SWRConfigProps['fakeData'] = { +export const mockedData: SWRConfigProps['fakeData'] = { withStringKeys: { '/info': info, '/revenue/chart': revenueChart, @@ -439,5 +437,3 @@ const mockedData: SWRConfigProps['fakeData'] = { }, }, }; - -export default mockedData; diff --git a/apps/guard/app/_theme/theme.ts b/apps/guard/app/_theme/theme.ts index 9e3a4bfa..3a8fdcda 100644 --- a/apps/guard/app/_theme/theme.ts +++ b/apps/guard/app/_theme/theme.ts @@ -216,7 +216,7 @@ const create = (baseTheme: Theme) => }, body: { [baseTheme.breakpoints.down('tablet')]: { - verticalAlign: 'top', + 'verticalAlign': 'top', '&:not(.MuiTableCell-paddingNone)': { padding: baseTheme.spacing(1), }, diff --git a/apps/guard/app/assets/TableRow.tsx b/apps/guard/app/assets/TableRow.tsx index c00de181..cfac2ebb 100644 --- a/apps/guard/app/assets/TableRow.tsx +++ b/apps/guard/app/assets/TableRow.tsx @@ -1,5 +1,6 @@ import { useState, FC, useMemo } from 'react'; +import { AngleDown, AngleUp } from '@rosen-bridge/icons'; import { Button, EnhancedTableCell, @@ -7,14 +8,11 @@ import { TableRow, WithExternalLink, } from '@rosen-bridge/ui-kit'; - import { NETWORKS } from '@rosen-ui/constants'; -import { AngleDown, AngleUp } from '@rosen-bridge/icons'; - import { getAddressUrl, getDecimalString, getTokenUrl } from '@rosen-ui/utils'; -import { GuardTokenInfo } from '@/_types/api'; import { useAddresses } from '@/_hooks/useAddresses'; +import { GuardTokenInfo } from '@/_types/api'; interface RowProps extends GuardTokenInfo { isLoading?: boolean; diff --git a/apps/guard/app/assets/TableSkeleton.tsx b/apps/guard/app/assets/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/guard/app/assets/TableSkeleton.tsx +++ b/apps/guard/app/assets/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/guard/app/assets/page.tsx b/apps/guard/app/assets/page.tsx index 7a4667a5..3d8186f7 100644 --- a/apps/guard/app/assets/page.tsx +++ b/apps/guard/app/assets/page.tsx @@ -1,4 +1,5 @@ 'use client'; + import { MouseEvent, useCallback, useMemo } from 'react'; import { @@ -8,11 +9,11 @@ import { useTableDataPagination, } from '@rosen-bridge/ui-kit'; -import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; - import { ApiAddressAssetsResponse, GuardTokenInfo } from '@/_types/api'; +import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; +import { TableSkeleton } from './TableSkeleton'; + const getKey = (offset: number, limit: number) => { return ['/assets', { offset, limit }]; }; diff --git a/apps/guard/app/events/TableRow.tsx b/apps/guard/app/events/TableRow.tsx index 37343fa1..b8fd7e15 100644 --- a/apps/guard/app/events/TableRow.tsx +++ b/apps/guard/app/events/TableRow.tsx @@ -1,5 +1,6 @@ import { useState, FC, useMemo } from 'react'; +import { AngleDown, AngleUp } from '@rosen-bridge/icons'; import { Button, EnhancedTableCell, @@ -7,13 +8,10 @@ import { Link, Id, } from '@rosen-bridge/ui-kit'; - -import { AngleDown, AngleUp } from '@rosen-bridge/icons'; - +import { NETWORKS } from '@rosen-ui/constants'; import { getDecimalString, getTxURL } from '@rosen-ui/utils'; import { OngoingEvent } from '@/_types/api'; -import { NETWORKS } from '@rosen-ui/constants'; interface RowProps extends OngoingEvent { isLoading?: boolean; diff --git a/apps/guard/app/events/TableSkeleton.tsx b/apps/guard/app/events/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/guard/app/events/TableSkeleton.tsx +++ b/apps/guard/app/events/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/guard/app/events/page.tsx b/apps/guard/app/events/page.tsx index bf2ece7f..9084b86e 100644 --- a/apps/guard/app/events/page.tsx +++ b/apps/guard/app/events/page.tsx @@ -1,4 +1,5 @@ 'use client'; + import { MouseEvent, useCallback, useMemo } from 'react'; import { @@ -8,11 +9,11 @@ import { useTableDataPagination, } from '@rosen-bridge/ui-kit'; -import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; - import { ApiEventResponse, OngoingEvent } from '@/_types/api'; +import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; +import { TableSkeleton } from './TableSkeleton'; + const getKey = (offset: number, limit: number) => { return ['/event/ongoing', { offset, limit }]; }; diff --git a/apps/guard/app/health/page.tsx b/apps/guard/app/health/page.tsx index 51cc0839..7cbab549 100644 --- a/apps/guard/app/health/page.tsx +++ b/apps/guard/app/health/page.tsx @@ -1,7 +1,6 @@ 'use client'; import { useCallback, useState } from 'react'; -import useSWR from 'swr'; import { Grid, @@ -9,13 +8,13 @@ import { HealthParamCardSkeleton, useSnackbar, } from '@rosen-bridge/ui-kit'; +import { HEALTH_DATA_REFRESH_INTERVAL } from '@rosen-ui/constants'; import { fetcher } from '@rosen-ui/swr-helpers'; import { HealthParamInfo } from '@rosen-ui/types'; +import useSWR from 'swr'; import { ApiHealthStatusResponse } from '@/_types/api'; -import { HEALTH_DATA_REFRESH_INTERVAL } from '@rosen-ui/constants'; - const Health = () => { const [checking, setChecking] = useState([]); diff --git a/apps/guard/app/history/TableRow.tsx b/apps/guard/app/history/TableRow.tsx index 5f8e040b..dc286573 100644 --- a/apps/guard/app/history/TableRow.tsx +++ b/apps/guard/app/history/TableRow.tsx @@ -1,5 +1,6 @@ import { useState, FC, useMemo } from 'react'; +import { AngleDown, AngleUp } from '@rosen-bridge/icons'; import { Button, EnhancedTableCell, @@ -7,13 +8,10 @@ import { Link, Id, } from '@rosen-bridge/ui-kit'; - -import { AngleDown, AngleUp } from '@rosen-bridge/icons'; - +import { NETWORKS } from '@rosen-ui/constants'; import { getDecimalString, getTxURL } from '@rosen-ui/utils'; import { HistoryEvent } from '@/_types/api'; -import { NETWORKS } from '@rosen-ui/constants'; interface RowProps extends HistoryEvent { isLoading?: boolean; diff --git a/apps/guard/app/history/TableSkeleton.tsx b/apps/guard/app/history/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/guard/app/history/TableSkeleton.tsx +++ b/apps/guard/app/history/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/guard/app/history/page.tsx b/apps/guard/app/history/page.tsx index 960e2e0c..f27c86c4 100644 --- a/apps/guard/app/history/page.tsx +++ b/apps/guard/app/history/page.tsx @@ -1,4 +1,5 @@ 'use client'; + import { MouseEvent, useCallback, useMemo } from 'react'; import { @@ -8,11 +9,11 @@ import { useTableDataPagination, } from '@rosen-bridge/ui-kit'; -import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; - import { ApiHistoryResponse, HistoryEvent } from '@/_types/api'; +import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; +import { TableSkeleton } from './TableSkeleton'; + const getKey = (offset: number, limit: number) => { return ['/event/history', { offset, limit }]; }; diff --git a/apps/guard/app/layout.tsx b/apps/guard/app/layout.tsx index de3e1b6c..e8c044fd 100644 --- a/apps/guard/app/layout.tsx +++ b/apps/guard/app/layout.tsx @@ -1,7 +1,7 @@ -import React from 'react'; import { Metadata } from 'next'; +import React from 'react'; -import App from './App'; +import { App } from './App'; export const metadata: Metadata = { title: 'Rosen Guard', diff --git a/apps/guard/app/revenues/TableRow.tsx b/apps/guard/app/revenues/TableRow.tsx index 9feb7321..236a071f 100644 --- a/apps/guard/app/revenues/TableRow.tsx +++ b/apps/guard/app/revenues/TableRow.tsx @@ -1,6 +1,6 @@ import { useState, FC, useMemo } from 'react'; -import useSWR from 'swr'; +import { AngleDown, AngleUp } from '@rosen-bridge/icons'; import { Button, CircularProgress, @@ -9,14 +9,12 @@ import { Link, TableRow, } from '@rosen-bridge/ui-kit'; - -import { AngleDown, AngleUp } from '@rosen-bridge/icons'; - +import { NETWORKS } from '@rosen-ui/constants'; import { fetcher } from '@rosen-ui/swr-helpers'; import { getDecimalString, getTxURL } from '@rosen-ui/utils'; +import useSWR from 'swr'; import { Revenue, ApiInfoResponse } from '@/_types/api'; -import { NETWORKS } from '@rosen-ui/constants'; interface RowProps extends Revenue { isLoading?: boolean; diff --git a/apps/guard/app/revenues/TableSkeleton.tsx b/apps/guard/app/revenues/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/guard/app/revenues/TableSkeleton.tsx +++ b/apps/guard/app/revenues/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/guard/app/revenues/page.tsx b/apps/guard/app/revenues/page.tsx index 52e40acd..55a0eb2c 100644 --- a/apps/guard/app/revenues/page.tsx +++ b/apps/guard/app/revenues/page.tsx @@ -1,4 +1,5 @@ 'use client'; + import { MouseEvent, useCallback, useMemo } from 'react'; import { @@ -8,11 +9,11 @@ import { useTableDataPagination, } from '@rosen-bridge/ui-kit'; -import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; - import { ApiRevenueResponse, Revenue } from '@/_types/api'; +import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; +import { TableSkeleton } from './TableSkeleton'; + const getKey = (offset: number, limit: number) => { return ['/revenue/history', { offset, limit }]; }; diff --git a/apps/guard/package.json b/apps/guard/package.json index 94be04ba..db0cf3d3 100644 --- a/apps/guard/package.json +++ b/apps/guard/package.json @@ -1,9 +1,9 @@ { "name": "@rosen-bridge/guard-app", - "version": "1.7.0", + "version": "1.8.0", "private": true, "scripts": { - "prettify": "prettier --write . --ignore-path ./.gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "next lint --fix && npm run prettify", "type-check": "tsc --noEmit", "dev": "next dev", @@ -16,7 +16,7 @@ "@emotion/styled": "^11.11.0", "@rosen-bridge/icons": "^0.6.0", "@rosen-bridge/shared-contexts": "^0.0.1", - "@rosen-bridge/ui-kit": "^1.5.2", + "@rosen-bridge/ui-kit": "^1.5.3", "@rosen-ui/constants": "^0.0.5", "@rosen-ui/swr-helpers": "^0.2.0", "@rosen-ui/utils": "^0.4.1", @@ -31,7 +31,7 @@ }, "devDependencies": { "@rosen-ui/common-hooks": "^0.1.0", - "@rosen-ui/swr-mock": "^0.0.1", + "@rosen-ui/swr-mock": "^0.0.2", "@rosen-ui/types": "^0.3.1", "@tauri-apps/cli": "^1.4.0", "@types/moment": "^2.13.0", @@ -41,9 +41,6 @@ "@types/react-dom": "18.2.4", "eslint": "8.42.0", "eslint-config-next": "13.4.4", - "eslint-config-prettier": "^9.0.0", - "lint-staged": "^13.2.2", - "prettier": "^3.0.2", "typescript": "^5.3.3" } } diff --git a/apps/guard/src-tauri/.gitignore b/apps/guard/src-tauri/.gitignore deleted file mode 100644 index aba21e24..00000000 --- a/apps/guard/src-tauri/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ diff --git a/apps/rosen-service/.gitignore b/apps/rosen-service/.gitignore deleted file mode 100644 index 8fef62b0..00000000 --- a/apps/rosen-service/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -config/* -!config/default.yaml diff --git a/apps/rosen-service/src/bootstrap/index.ts b/apps/rosen-service/src/bootstrap/index.ts index 96c0489e..78148cd2 100644 --- a/apps/rosen-service/src/bootstrap/index.ts +++ b/apps/rosen-service/src/bootstrap/index.ts @@ -2,6 +2,5 @@ * CAUTION: Do not move this import. It is needed for logger of other modules to * work */ -import './winston'; - import './register-signal-handlers'; +import './winston'; diff --git a/apps/rosen-service/src/bootstrap/register-signal-handlers.ts b/apps/rosen-service/src/bootstrap/register-signal-handlers.ts index 63a57058..1e47415c 100644 --- a/apps/rosen-service/src/bootstrap/register-signal-handlers.ts +++ b/apps/rosen-service/src/bootstrap/register-signal-handlers.ts @@ -1,16 +1,14 @@ import WinstonLogger from '@rosen-bridge/winston-logger/dist/WinstonLogger'; import dataSource from '../data-source'; - -import { handleError } from '../utils'; - import AppError from '../errors/AppError'; +import { handleError } from '../utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); process.on('SIGTERM', async () => { logger.debug( - 'termination signal received, graceful shutdown process starting' + 'termination signal received, graceful shutdown process starting', ); await dataSource.destroy(); logger.debug('data source destroyed'); @@ -26,7 +24,7 @@ process.on('uncaughtException', async (error) => { `an uncaught exception occurred, exiting immediately: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); handleError(appError); diff --git a/apps/rosen-service/src/bootstrap/winston.ts b/apps/rosen-service/src/bootstrap/winston.ts index 77da7ae4..9db21824 100644 --- a/apps/rosen-service/src/bootstrap/winston.ts +++ b/apps/rosen-service/src/bootstrap/winston.ts @@ -1,7 +1,6 @@ import WinstonLogger from '@rosen-bridge/winston-logger'; import config from '../configs'; - import AppError from '../errors/AppError'; try { @@ -12,6 +11,6 @@ try { false, 'error', error instanceof Error ? error.stack : undefined, - config.logs + config.logs, ); } diff --git a/apps/rosen-service/src/calculator/calculator-service.ts b/apps/rosen-service/src/calculator/calculator-service.ts index 14a130ce..663ebf60 100644 --- a/apps/rosen-service/src/calculator/calculator-service.ts +++ b/apps/rosen-service/src/calculator/calculator-service.ts @@ -1,11 +1,11 @@ -import { AssetCalculator } from '@rosen-ui/asset-calculator'; import WinstonLogger from '@rosen-bridge/winston-logger/dist/WinstonLogger'; +import { AssetCalculator } from '@rosen-ui/asset-calculator'; -import dataSource from '../data-source'; import config from '../configs'; import { ASSET_CALCULATOR_INTERVAL } from '../constants'; -import { getRosenTokens, handleError, runAndSetInterval } from '../utils'; +import dataSource from '../data-source'; import AppError from '../errors/AppError'; +import { getRosenTokens, handleError, runAndSetInterval } from '../utils'; /** * run asset calculator update periodically, handling probable errors @@ -14,7 +14,7 @@ import AppError from '../errors/AppError'; */ const startUpdateJob = ( calculator: AssetCalculator, - updateInterval: number + updateInterval: number, ) => { const logger = WinstonLogger.getInstance().getLogger(import.meta.url); @@ -27,7 +27,7 @@ const startUpdateJob = ( `asset calculator update failed due to error: ${error}`, true, 'warn', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); handleError(appError); } @@ -66,7 +66,7 @@ const start = async () => { authToken: config.ethereum.rpcAuthToken, }, dataSource, - logger + logger, ); startUpdateJob(assetCalculator, ASSET_CALCULATOR_INTERVAL); diff --git a/apps/rosen-service/src/configs.ts b/apps/rosen-service/src/configs.ts index 1f0df0d8..80d6fca2 100644 --- a/apps/rosen-service/src/configs.ts +++ b/apps/rosen-service/src/configs.ts @@ -1,6 +1,5 @@ -import nodeConfig from 'config'; - import { TransportOptions } from '@rosen-bridge/winston-logger'; +import nodeConfig from 'config'; import AppError from './errors/AppError'; @@ -34,7 +33,7 @@ const getConfig = () => { addresses: { lock: nodeConfig.get('cardano.addresses.lock'), eventTrigger: nodeConfig.get( - 'cardano.addresses.eventTrigger' + 'cardano.addresses.eventTrigger', ), permit: nodeConfig.get('cardano.addresses.permit'), fraud: nodeConfig.get('cardano.addresses.fraud'), @@ -50,7 +49,7 @@ const getConfig = () => { addresses: { lock: nodeConfig.get('bitcoin.addresses.lock'), eventTrigger: nodeConfig.get( - 'bitcoin.addresses.eventTrigger' + 'bitcoin.addresses.eventTrigger', ), permit: nodeConfig.get('bitcoin.addresses.permit'), fraud: nodeConfig.get('bitcoin.addresses.fraud'), @@ -68,7 +67,7 @@ const getConfig = () => { addresses: { lock: nodeConfig.get('ethereum.addresses.lock'), eventTrigger: nodeConfig.get( - 'ethereum.addresses.eventTrigger' + 'ethereum.addresses.eventTrigger', ), permit: nodeConfig.get('ethereum.addresses.permit'), fraud: nodeConfig.get('ethereum.addresses.fraud'), @@ -99,7 +98,7 @@ const getConfig = () => { `an error occurred reading some service configs: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); } }; diff --git a/apps/rosen-service/src/data-source.ts b/apps/rosen-service/src/data-source.ts index 350f55ee..c7e1c9ab 100644 --- a/apps/rosen-service/src/data-source.ts +++ b/apps/rosen-service/src/data-source.ts @@ -20,7 +20,6 @@ import { } from '@rosen-ui/asset-calculator'; import config from './configs'; - import AppError from './errors/AppError'; const getDataSource = () => { @@ -59,7 +58,7 @@ const getDataSource = () => { logging: config.postgres.logging, ssl: config.postgres.useSSL, }, - } + }, ); } }; diff --git a/apps/rosen-service/src/errors/AppError.ts b/apps/rosen-service/src/errors/AppError.ts index 5cc15a72..3647d967 100644 --- a/apps/rosen-service/src/errors/AppError.ts +++ b/apps/rosen-service/src/errors/AppError.ts @@ -4,7 +4,7 @@ class AppError extends Error { public canBeHandled = true, public severity: 'error' | 'warn' | 'info' | 'debug', public stack = '', - public context?: any + public context?: any, ) { super(message); if (stack) { diff --git a/apps/rosen-service/src/event-trigger/event-trigger-service.ts b/apps/rosen-service/src/event-trigger/event-trigger-service.ts index e18274a3..7d505c46 100644 --- a/apps/rosen-service/src/event-trigger/event-trigger-service.ts +++ b/apps/rosen-service/src/event-trigger/event-trigger-service.ts @@ -1,17 +1,15 @@ +import { ErgoNetworkType } from '@rosen-bridge/abstract-extractor'; import { ErgoScanner } from '@rosen-bridge/scanner'; import { EventTriggerExtractor } from '@rosen-bridge/watcher-data-extractor'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import { ErgoNetworkType } from '@rosen-bridge/abstract-extractor'; import configs from '../configs'; - import dataSource from '../data-source'; - import AppError from '../errors/AppError'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); const ergoEventTriggerExtractorLogger = WinstonLogger.getInstance().getLogger( - 'ergo-event-trigger-extractor' + 'ergo-event-trigger-extractor', ); const cardanoEventTriggerExtractorLogger = WinstonLogger.getInstance().getLogger('cardano-event-trigger-extractor'); @@ -35,7 +33,7 @@ export const registerExtractors = (scanner: ErgoScanner) => { configs.ergo.tokens.rwt, configs.ergo.addresses.permit, configs.ergo.addresses.fraud, - ergoEventTriggerExtractorLogger + ergoEventTriggerExtractorLogger, ); const cardanoEventTriggerExtractor = new EventTriggerExtractor( 'cardano-extractor', @@ -46,7 +44,7 @@ export const registerExtractors = (scanner: ErgoScanner) => { configs.cardano.tokens.rwt, configs.cardano.addresses.permit, configs.cardano.addresses.fraud, - cardanoEventTriggerExtractorLogger + cardanoEventTriggerExtractorLogger, ); const bitcoinEventTriggerExtractor = new EventTriggerExtractor( 'bitcoin-extractor', @@ -57,7 +55,7 @@ export const registerExtractors = (scanner: ErgoScanner) => { configs.bitcoin.tokens.rwt, configs.bitcoin.addresses.permit, configs.bitcoin.addresses.fraud, - bitcoinEventTriggerExtractorLogger + bitcoinEventTriggerExtractorLogger, ); const ethereumEventTriggerExtractor = new EventTriggerExtractor( 'ethereum-extractor', @@ -68,7 +66,7 @@ export const registerExtractors = (scanner: ErgoScanner) => { configs.ethereum.tokens.rwt, configs.ethereum.addresses.permit, configs.ethereum.addresses.fraud, - ethereumEventTriggerExtractorLogger + ethereumEventTriggerExtractorLogger, ); scanner.registerExtractor(ergoEventTriggerExtractor); @@ -93,7 +91,7 @@ export const registerExtractors = (scanner: ErgoScanner) => { error instanceof Error ? error.stack : undefined, { scannerName: scanner.name(), - } + }, ); } }; diff --git a/apps/rosen-service/src/main.ts b/apps/rosen-service/src/main.ts index de3b7f63..8f3384b3 100644 --- a/apps/rosen-service/src/main.ts +++ b/apps/rosen-service/src/main.ts @@ -1,15 +1,11 @@ -import './bootstrap'; - import WinstonLogger from '@rosen-bridge/winston-logger'; -import scannerService from './scanner/scanner-service'; - +import './bootstrap'; +import calculatorService from './calculator/calculator-service'; import dataSource from './data-source'; - -import { handleError } from './utils'; - import AppError from './errors/AppError'; -import calculatorService from './calculator/calculator-service'; +import scannerService from './scanner/scanner-service'; +import { handleError } from './utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); @@ -23,7 +19,7 @@ const main = async () => { `cannot initialize data source due to error: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); } @@ -35,7 +31,7 @@ const main = async () => { `cannot run database migrations due to error: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); } diff --git a/apps/rosen-service/src/observation/chains/bitcoin.ts b/apps/rosen-service/src/observation/chains/bitcoin.ts index 545ae39c..2d8c8d1d 100644 --- a/apps/rosen-service/src/observation/chains/bitcoin.ts +++ b/apps/rosen-service/src/observation/chains/bitcoin.ts @@ -1,14 +1,11 @@ import { BitcoinRpcObservationExtractor } from '@rosen-bridge/bitcoin-observation-extractor'; +import { BitcoinRpcScanner } from '@rosen-bridge/bitcoin-rpc-scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import { getRosenTokens } from '../../utils'; - import config from '../../configs'; - import dataSource from '../../data-source'; - import AppError from '../../errors/AppError'; -import { BitcoinRpcScanner } from '@rosen-bridge/bitcoin-rpc-scanner'; +import { getRosenTokens } from '../../utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); @@ -22,7 +19,7 @@ export const registerBitcoinExtractor = (scanner: BitcoinRpcScanner) => { config.bitcoin.addresses.lock, dataSource, getRosenTokens(), - logger + logger, ); scanner.registerExtractor(observationExtractor); @@ -38,7 +35,7 @@ export const registerBitcoinExtractor = (scanner: BitcoinRpcScanner) => { error instanceof Error ? error.stack : undefined, { scannerName: scanner.name(), - } + }, ); } }; diff --git a/apps/rosen-service/src/observation/chains/cardano.ts b/apps/rosen-service/src/observation/chains/cardano.ts index 5dacda79..9ade5d33 100644 --- a/apps/rosen-service/src/observation/chains/cardano.ts +++ b/apps/rosen-service/src/observation/chains/cardano.ts @@ -2,13 +2,10 @@ import { CardanoKoiosObservationExtractor } from '@rosen-bridge/observation-extr import { CardanoKoiosScanner } from '@rosen-bridge/scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import { getRosenTokens } from '../../utils'; - import config from '../../configs'; - import dataSource from '../../data-source'; - import AppError from '../../errors/AppError'; +import { getRosenTokens } from '../../utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); @@ -22,7 +19,7 @@ export const registerCardanoExtractor = (scanner: CardanoKoiosScanner) => { dataSource, getRosenTokens(), config.cardano.addresses.lock, - logger + logger, ); scanner.registerExtractor(observationExtractor); @@ -38,7 +35,7 @@ export const registerCardanoExtractor = (scanner: CardanoKoiosScanner) => { error instanceof Error ? error.stack : undefined, { scannerName: scanner.name(), - } + }, ); } }; diff --git a/apps/rosen-service/src/observation/chains/ergo.ts b/apps/rosen-service/src/observation/chains/ergo.ts index d091ac8c..f1ddbd87 100644 --- a/apps/rosen-service/src/observation/chains/ergo.ts +++ b/apps/rosen-service/src/observation/chains/ergo.ts @@ -2,13 +2,10 @@ import { ErgoObservationExtractor } from '@rosen-bridge/observation-extractor'; import { ErgoScanner } from '@rosen-bridge/scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import { getRosenTokens } from '../../utils'; - import config from '../../configs'; - import dataSource from '../../data-source'; - import AppError from '../../errors/AppError'; +import { getRosenTokens } from '../../utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); @@ -22,7 +19,7 @@ export const registerErgoExtractor = (scanner: ErgoScanner) => { dataSource, getRosenTokens(), config.ergo.addresses.lock, - logger + logger, ); scanner.registerExtractor(observationExtractor); @@ -38,7 +35,7 @@ export const registerErgoExtractor = (scanner: ErgoScanner) => { error instanceof Error ? error.stack : undefined, { scannerName: scanner.name(), - } + }, ); } }; diff --git a/apps/rosen-service/src/observation/chains/ethereum.ts b/apps/rosen-service/src/observation/chains/ethereum.ts index 1f733c59..e8b0ac7e 100644 --- a/apps/rosen-service/src/observation/chains/ethereum.ts +++ b/apps/rosen-service/src/observation/chains/ethereum.ts @@ -1,14 +1,11 @@ import { EthereumRpcObservationExtractor } from '@rosen-bridge/evm-observation-extractor'; +import { EvmRpcScanner } from '@rosen-bridge/evm-rpc-scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import { getRosenTokens } from '../../utils'; - import config from '../../configs'; - import dataSource from '../../data-source'; - import AppError from '../../errors/AppError'; -import { EvmRpcScanner } from '@rosen-bridge/evm-rpc-scanner'; +import { getRosenTokens } from '../../utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); @@ -22,7 +19,7 @@ export const registerEthereumExtractor = (scanner: EvmRpcScanner) => { config.ethereum.addresses.lock, dataSource, getRosenTokens(), - logger + logger, ); scanner.registerExtractor(observationExtractor); @@ -38,7 +35,7 @@ export const registerEthereumExtractor = (scanner: EvmRpcScanner) => { error instanceof Error ? error.stack : undefined, { scannerName: scanner.name(), - } + }, ); } }; diff --git a/apps/rosen-service/src/scanner/chains/bitcoin.ts b/apps/rosen-service/src/scanner/chains/bitcoin.ts index d8195de9..b06e59af 100644 --- a/apps/rosen-service/src/scanner/chains/bitcoin.ts +++ b/apps/rosen-service/src/scanner/chains/bitcoin.ts @@ -1,25 +1,20 @@ import { BitcoinRpcScanner } from '@rosen-bridge/bitcoin-rpc-scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import dataSource from '../../data-source'; - -import { startScanner } from '../scanner-utils'; - -import observationService from '../../observation/observation-service'; - import config from '../../configs'; - import { BITCOIN_SCANNER_INTERVAL, BITCOIN_SCANNER_LOGGER_NAME, SCANNER_API_TIMEOUT, } from '../../constants'; - +import dataSource from '../../data-source'; import AppError from '../../errors/AppError'; +import observationService from '../../observation/observation-service'; +import { startScanner } from '../scanner-utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); const scannerLogger = WinstonLogger.getInstance().getLogger( - BITCOIN_SCANNER_LOGGER_NAME + BITCOIN_SCANNER_LOGGER_NAME, ); /** @@ -37,7 +32,7 @@ export const startBitcoinScanner = async () => { username: config.bitcoin.rpcUsername, password: config.bitcoin.rpcPassword, }, - scannerLogger + scannerLogger, ); observationService.registerBitcoinExtractor(scanner); @@ -52,7 +47,7 @@ export const startBitcoinScanner = async () => { `cannot create or start bitcoin scanner due to error: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); } }; diff --git a/apps/rosen-service/src/scanner/chains/cardano.ts b/apps/rosen-service/src/scanner/chains/cardano.ts index 0c0d4025..7791bf91 100644 --- a/apps/rosen-service/src/scanner/chains/cardano.ts +++ b/apps/rosen-service/src/scanner/chains/cardano.ts @@ -1,25 +1,20 @@ import { CardanoKoiosScanner } from '@rosen-bridge/scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import dataSource from '../../data-source'; - -import { startScanner } from '../scanner-utils'; - -import observationService from '../../observation/observation-service'; - import config from '../../configs'; - import { CARDANO_SCANNER_INTERVAL, CARDANO_SCANNER_LOGGER_NAME, SCANNER_API_TIMEOUT, } from '../../constants'; - +import dataSource from '../../data-source'; import AppError from '../../errors/AppError'; +import observationService from '../../observation/observation-service'; +import { startScanner } from '../scanner-utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); const scannerLogger = WinstonLogger.getInstance().getLogger( - CARDANO_SCANNER_LOGGER_NAME + CARDANO_SCANNER_LOGGER_NAME, ); /** @@ -36,7 +31,7 @@ export const startCardanoScanner = async () => { timeout: SCANNER_API_TIMEOUT, }, scannerLogger, - config.cardano.koiosAuthToken + config.cardano.koiosAuthToken, ); observationService.registerCardanoExtractor(scanner); @@ -51,7 +46,7 @@ export const startCardanoScanner = async () => { `cannot create or start cardano scanner due to error: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); } }; diff --git a/apps/rosen-service/src/scanner/chains/ergo.ts b/apps/rosen-service/src/scanner/chains/ergo.ts index 15e34397..5ba58159 100644 --- a/apps/rosen-service/src/scanner/chains/ergo.ts +++ b/apps/rosen-service/src/scanner/chains/ergo.ts @@ -1,26 +1,21 @@ import { ErgoNetworkType, ErgoScanner } from '@rosen-bridge/scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import dataSource from '../../data-source'; - -import { startScanner } from '../../scanner/scanner-utils'; - -import eventTriggerService from '../../event-trigger/event-trigger-service'; -import observationService from '../../observation/observation-service'; - import config from '../../configs'; - import { ERGO_SCANNER_INTERVAL, ERGO_SCANNER_LOGGER_NAME, SCANNER_API_TIMEOUT, } from '../../constants'; - +import dataSource from '../../data-source'; import AppError from '../../errors/AppError'; +import eventTriggerService from '../../event-trigger/event-trigger-service'; +import observationService from '../../observation/observation-service'; +import { startScanner } from '../../scanner/scanner-utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); const scannerLogger = WinstonLogger.getInstance().getLogger( - ERGO_SCANNER_LOGGER_NAME + ERGO_SCANNER_LOGGER_NAME, ); /** @@ -37,7 +32,7 @@ export const startErgoScanner = async () => { initialHeight: config.ergo.initialHeight, timeout: SCANNER_API_TIMEOUT, }, - scannerLogger + scannerLogger, ); observationService.registerErgoExtractor(scanner); @@ -53,7 +48,7 @@ export const startErgoScanner = async () => { `cannot create or start ergo scanner due to error: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); } }; diff --git a/apps/rosen-service/src/scanner/chains/ethereum.ts b/apps/rosen-service/src/scanner/chains/ethereum.ts index d3cfeeac..4f3bfce5 100644 --- a/apps/rosen-service/src/scanner/chains/ethereum.ts +++ b/apps/rosen-service/src/scanner/chains/ethereum.ts @@ -1,25 +1,20 @@ import { EvmRpcScanner } from '@rosen-bridge/evm-rpc-scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import dataSource from '../../data-source'; - -import { startScanner } from '../scanner-utils'; - -import observationService from '../../observation/observation-service'; - import config from '../../configs'; - import { ETHEREUM_SCANNER_INTERVAL, ETHEREUM_SCANNER_LOGGER_NAME, SCANNER_API_TIMEOUT, } from '../../constants'; - +import dataSource from '../../data-source'; import AppError from '../../errors/AppError'; +import observationService from '../../observation/observation-service'; +import { startScanner } from '../scanner-utils'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); const scannerLogger = WinstonLogger.getInstance().getLogger( - ETHEREUM_SCANNER_LOGGER_NAME + ETHEREUM_SCANNER_LOGGER_NAME, ); /** @@ -37,7 +32,7 @@ export const startEthereumScanner = async () => { timeout: SCANNER_API_TIMEOUT, }, scannerLogger, - config.ethereum.rpcAuthToken + config.ethereum.rpcAuthToken, ); observationService.registerEthereumExtractor(scanner); @@ -52,7 +47,7 @@ export const startEthereumScanner = async () => { `cannot create or start ethereum scanner due to error: ${error}`, false, 'error', - error instanceof Error ? error.stack : undefined + error instanceof Error ? error.stack : undefined, ); } }; diff --git a/apps/rosen-service/src/scanner/scanner-service.ts b/apps/rosen-service/src/scanner/scanner-service.ts index ef65bdf0..15f9bfd6 100644 --- a/apps/rosen-service/src/scanner/scanner-service.ts +++ b/apps/rosen-service/src/scanner/scanner-service.ts @@ -1,12 +1,11 @@ import WinstonLogger from '@rosen-bridge/winston-logger/dist/WinstonLogger'; +import { handleError } from '../utils'; import { startBitcoinScanner } from './chains/bitcoin'; import { startCardanoScanner } from './chains/cardano'; import { startErgoScanner } from './chains/ergo'; import { startEthereumScanner } from './chains/ethereum'; -import { handleError } from '../utils'; - const logger = WinstonLogger.getInstance().getLogger(import.meta.url); /** diff --git a/apps/rosen-service/src/scanner/scanner-utils.ts b/apps/rosen-service/src/scanner/scanner-utils.ts index 4808f2fe..a3f53c19 100644 --- a/apps/rosen-service/src/scanner/scanner-utils.ts +++ b/apps/rosen-service/src/scanner/scanner-utils.ts @@ -1,9 +1,8 @@ import { GeneralScanner } from '@rosen-bridge/scanner'; import WinstonLogger from '@rosen-bridge/winston-logger'; -import { handleError, runAndSetInterval } from '../utils'; - import AppError from '../errors/AppError'; +import { handleError, runAndSetInterval } from '../utils'; /** * run scanner update periodically, handling probably errors @@ -14,7 +13,7 @@ import AppError from '../errors/AppError'; export const startScanner = ( scanner: GeneralScanner, loggerFileName: string, - updateInterval: number + updateInterval: number, ) => { const logger = WinstonLogger.getInstance().getLogger(loggerFileName); @@ -32,7 +31,7 @@ export const startScanner = ( error instanceof Error ? error.stack : undefined, { scannerName: scanner.name(), - } + }, ); handleError(appError); } diff --git a/apps/rosen-service/src/utils.ts b/apps/rosen-service/src/utils.ts index fdda1275..a2d88fac 100644 --- a/apps/rosen-service/src/utils.ts +++ b/apps/rosen-service/src/utils.ts @@ -1,9 +1,8 @@ +import WinstonLogger from '@rosen-bridge/winston-logger'; import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; -import WinstonLogger from '@rosen-bridge/winston-logger'; - import AppError from './errors/AppError'; const logger = WinstonLogger.getInstance().getLogger(import.meta.url); @@ -14,14 +13,14 @@ const logger = WinstonLogger.getInstance().getLogger(import.meta.url); export const getRosenTokens = () => { const tokensMapFilePath = path.resolve( path.dirname(fileURLToPath(import.meta.url)), - '../config/tokensMap.json' + '../config/tokensMap.json', ); if (fs.existsSync(tokensMapFilePath)) { const tokensMap = JSON.parse( fs.readFileSync(tokensMapFilePath, { encoding: 'utf-8', - }) + }), ); return tokensMap; } @@ -31,13 +30,13 @@ export const getRosenTokens = () => { export const handleError = ( error: unknown, - customHandler?: (error: AppError) => void + customHandler?: (error: AppError) => void, ) => { if (!(error instanceof AppError) || !error.canBeHandled) { logger.error('an error occurred that cannot be handled'); logger.error( `${error}`, - error instanceof AppError ? error.context : undefined + error instanceof AppError ? error.context : undefined, ); logger.error('shutting down service'); process.exit(1); @@ -56,7 +55,7 @@ export const handleError = ( */ export const runAndSetInterval = async ( job: () => unknown, - interval: number + interval: number, ) => { await job(); diff --git a/apps/rosen/.gitignore b/apps/rosen/.gitignore deleted file mode 100644 index 646a5c20..00000000 --- a/apps/rosen/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local -.env - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts - -configs diff --git a/apps/rosen/.prettierrc b/apps/rosen/.prettierrc deleted file mode 100644 index 1da815ec..00000000 --- a/apps/rosen/.prettierrc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "quoteProps": "consistent", - "singleQuote": true, - "importOrder": [ - "^(@?react|@?next)", - "", - "^@/(.*)$", - "^[.](.*)" - ], - "importOrderCaseInsensitive": true, - "importOrderParserPlugins": [ - "typescript", - "jsx", - "classProperties", - "[\"decorators\", { \"decoratorsBeforeExport\": true }]" - ], - "importOrderSeparation": true, - "importOrderSortSpecifiers": false, - "plugins": ["@trivago/prettier-plugin-sort-imports"] -} diff --git a/apps/rosen/CHANGELOG.md b/apps/rosen/CHANGELOG.md index 14ded686..4079ed2d 100644 --- a/apps/rosen/CHANGELOG.md +++ b/apps/rosen/CHANGELOG.md @@ -1,5 +1,17 @@ # @rosen-bridge/rosen-app +## 2.5.0 + +### Minor Changes + +- Enhance the Rosen Bridge page by incorporating a captivating background image + +### Patch Changes + +- Refactor default exports to named exports in JavaScript modules for enhanced code clarity and maintainability +- Improve maintainability by incorporating an index file in each directory to streamline the export of all controlled values +- Enhance the Rosen app's source code by reorganizing, relocating, and renaming certain files and methods + ## 2.4.0 ### Minor Changes diff --git a/apps/rosen/app/(bridge)/BridgeForm.tsx b/apps/rosen/app/(bridge)/BridgeForm.tsx index b1e54331..03f5b5a4 100644 --- a/apps/rosen/app/(bridge)/BridgeForm.tsx +++ b/apps/rosen/app/(bridge)/BridgeForm.tsx @@ -18,13 +18,15 @@ import { import { NETWORKS } from '@rosen-ui/constants'; import { getDecimalString } from '@rosen-ui/utils'; -import useBridgeForm from '@/_hooks/useBridgeForm'; -import { useMaxTransfer } from '@/_hooks/useMaxTransfer'; -import { useNetwork } from '@/_hooks/useNetwork'; -import useTokenBalance from '@/_hooks/useTokenBalance'; -import { useTokenMap } from '@/_hooks/useTokenMap'; -import useTransactionFormData from '@/_hooks/useTransactionFormData'; -import useWallet from '@/_hooks/useWallet'; +import { + useBridgeForm, + useMaxTransfer, + useNetwork, + useTokenBalance, + useTokenMap, + useTransactionFormData, + useWallet, +} from '@/_hooks'; import { getTokenNameAndId } from '@/_utils'; import { UseAllAmount } from './UseAllAmount'; diff --git a/apps/rosen/app/(bridge)/BridgeTransaction.tsx b/apps/rosen/app/(bridge)/BridgeTransaction.tsx index ae56ef4d..396af827 100644 --- a/apps/rosen/app/(bridge)/BridgeTransaction.tsx +++ b/apps/rosen/app/(bridge)/BridgeTransaction.tsx @@ -11,11 +11,13 @@ import { Typography, } from '@rosen-bridge/ui-kit'; -import { useNetwork } from '@/_hooks/useNetwork'; -import { useTokenMap } from '@/_hooks/useTokenMap'; -import useTransactionFees from '@/_hooks/useTransactionFees'; -import useTransactionFormData from '@/_hooks/useTransactionFormData'; -import useWallet from '@/_hooks/useWallet'; +import { + useNetwork, + useTokenMap, + useTransactionFees, + useTransactionFormData, + useWallet, +} from '@/_hooks'; import { getTokenNameAndId } from '@/_utils'; import { ChooseWalletModal } from './ChooseWalletModal'; diff --git a/apps/rosen/app/(bridge)/ConnectOrSubmitButton.tsx b/apps/rosen/app/(bridge)/ConnectOrSubmitButton.tsx index 2b4f4b47..7e0bbc42 100644 --- a/apps/rosen/app/(bridge)/ConnectOrSubmitButton.tsx +++ b/apps/rosen/app/(bridge)/ConnectOrSubmitButton.tsx @@ -15,12 +15,14 @@ import { Typography, } from '@rosen-bridge/ui-kit'; -import { useNetwork } from '@/_hooks/useNetwork'; -import { useTokenMap } from '@/_hooks/useTokenMap'; -import { useTransaction } from '@/_hooks/useTransaction'; -import useTransactionFees from '@/_hooks/useTransactionFees'; -import useTransactionFormData from '@/_hooks/useTransactionFormData'; -import useWallet from '@/_hooks/useWallet'; +import { + useNetwork, + useTokenMap, + useTransaction, + useTransactionFees, + useTransactionFormData, + useWallet, +} from '@/_hooks'; import { getTokenNameAndId } from '@/_utils'; interface ConnectOrSubmitButtonProps { diff --git a/apps/rosen/app/(bridge)/page.tsx b/apps/rosen/app/(bridge)/page.tsx index 4695b17c..5a9945c6 100644 --- a/apps/rosen/app/(bridge)/page.tsx +++ b/apps/rosen/app/(bridge)/page.tsx @@ -11,7 +11,18 @@ import { BridgeForm } from './BridgeForm'; import { BridgeTransaction } from './BridgeTransaction'; import { ConnectOrSubmitButton } from './ConnectOrSubmitButton'; +const Background = styled('div')(({ theme }) => ({ + position: 'absolute', + inset: 0, + backgroundImage: `url(./background-${theme.palette.mode}.png)`, + backgroundRepeat: 'no-repeat', + backgroundPosition: 'center center', + backgroundSize: 'cover', + zIndex: '0', +})); + const BridgeContainer = styled('div')(({ theme }) => ({ + 'zIndex': '3', 'position': 'absolute', 'top': '50%', 'left': '50%', @@ -55,32 +66,35 @@ const RosenBridge = () => { }); return ( - - - - - {methods.getValues().source == NETWORKS.ETHEREUM && ( - - If you are using Ledger, you may need to enable 'Blind - signing' and 'Debug data' in the Ledger (Ethereum - > Settings) due to{' '} - - a known issue in Ledger and MetaMask interaction - - . - - )} - - - + <> + + + + + + {methods.getValues().source == NETWORKS.ETHEREUM && ( + + If you are using Ledger, you may need to enable 'Blind + signing' and 'Debug data' in the Ledger (Ethereum + > Settings) due to{' '} + + a known issue in Ledger and MetaMask interaction + + . + + )} + + + + ); }; diff --git a/apps/rosen/app/App.tsx b/apps/rosen/app/App.tsx index 8b8ab4f5..2085a89f 100644 --- a/apps/rosen/app/App.tsx +++ b/apps/rosen/app/App.tsx @@ -19,7 +19,7 @@ import { theme } from '@/_theme/theme'; import { WalletContextProvider } from './_contexts/walletContext'; import { SideBar } from './SideBar'; -import Toolbar from './Toolbar'; +import { Toolbar } from './Toolbar'; const Root = styled('div')(({ theme }) => ({ width: '100vw', @@ -44,7 +44,7 @@ interface AppProps { children?: React.ReactNode; } -const App = ({ children }: AppProps) => { +export const App = ({ children }: AppProps) => { return ( @@ -55,7 +55,9 @@ const App = ({ children }: AppProps) => {
- +
+ +
{children}
@@ -67,5 +69,3 @@ const App = ({ children }: AppProps) => {
); }; - -export default App; diff --git a/apps/rosen/app/Toolbar.tsx b/apps/rosen/app/Toolbar.tsx index 27aac730..e4d496e6 100644 --- a/apps/rosen/app/Toolbar.tsx +++ b/apps/rosen/app/Toolbar.tsx @@ -18,15 +18,13 @@ const pageTitleMap: Record = { /** * render toolbar containing page title and some actions */ -const Toolbar = () => { +export const Toolbar = () => { const page = useSelectedLayoutSegment(); return ( } /> ); }; - -export default Toolbar; diff --git a/apps/rosen/app/_actions/index.ts b/apps/rosen/app/_actions/index.ts new file mode 100644 index 00000000..6966c003 --- /dev/null +++ b/apps/rosen/app/_actions/index.ts @@ -0,0 +1,2 @@ +export * from './calculateFee'; +export * from './validateAddress'; diff --git a/apps/rosen/app/_backend/assets/repository.ts b/apps/rosen/app/_backend/assets/repository.ts index 1028b4d8..894fbe6c 100644 --- a/apps/rosen/app/_backend/assets/repository.ts +++ b/apps/rosen/app/_backend/assets/repository.ts @@ -5,9 +5,7 @@ import { } from '@rosen-ui/asset-calculator'; import { Network } from '@rosen-ui/types'; -import NotFoundError from '@/_errors/NotFoundError'; - -import dataSource from '../dataSource'; +import { dataSource } from '../dataSource'; import '../initialize-datasource-if-needed'; const bridgedAssetRepository = dataSource.getRepository(BridgedAssetEntity); @@ -41,7 +39,7 @@ export const getAsset = async (id: string) => { }); if (!token) { - throw new NotFoundError(`Token with id [${id}] not found`); + throw new ReferenceError(`Token with id [${id}] not found`); } const bridged: Pick< diff --git a/apps/rosen/app/_backend/assets/services.ts b/apps/rosen/app/_backend/assets/services.ts index 1a0a9935..ebd70bd9 100644 --- a/apps/rosen/app/_backend/assets/services.ts +++ b/apps/rosen/app/_backend/assets/services.ts @@ -1,6 +1,4 @@ -import { TokenMap } from '@rosen-bridge/tokens'; - -import { getRosenTokens } from '@/_backend/utils'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; import { AssetFilters, @@ -8,7 +6,7 @@ import { getAllAssets as repositoryGetAllAssets, } from './repository'; -const tokenMap = new TokenMap(getRosenTokens()); +const tokenMap = getTokenMap(); /** * return asset details diff --git a/apps/rosen/app/_backend/dataSource.ts b/apps/rosen/app/_backend/dataSource.ts index 704e93a0..84c6b296 100644 --- a/apps/rosen/app/_backend/dataSource.ts +++ b/apps/rosen/app/_backend/dataSource.ts @@ -18,7 +18,7 @@ import { migrations as assetCalculatorMigrations, } from '@rosen-ui/asset-calculator'; -const dataSource = new DataSource({ +export const dataSource = new DataSource({ type: 'postgres', url: process.env.POSTGRES_URL, ssl: process.env.POSTGRES_USE_SSL === 'true', @@ -39,5 +39,3 @@ const dataSource = new DataSource({ ...assetCalculatorMigrations.postgres, ], }); - -export default dataSource; diff --git a/apps/rosen/app/_backend/events/repository.ts b/apps/rosen/app/_backend/events/repository.ts index e0622541..db9410d4 100644 --- a/apps/rosen/app/_backend/events/repository.ts +++ b/apps/rosen/app/_backend/events/repository.ts @@ -3,7 +3,7 @@ import { BlockEntity } from '@rosen-bridge/scanner'; import { EventTriggerEntity } from '@rosen-bridge/watcher-data-extractor'; import { Network } from '@rosen-ui/types'; -import dataSource from '../dataSource'; +import { dataSource } from '../dataSource'; import '../initialize-datasource-if-needed'; const blockRepository = dataSource.getRepository(BlockEntity); diff --git a/apps/rosen/app/_backend/events/services.ts b/apps/rosen/app/_backend/events/services.ts index d05bbb2a..7d1df2fd 100644 --- a/apps/rosen/app/_backend/events/services.ts +++ b/apps/rosen/app/_backend/events/services.ts @@ -1,12 +1,11 @@ -import { TokenMap } from '@rosen-bridge/tokens'; import { Network } from '@rosen-ui/types'; -import { getRosenTokens } from '@/_backend/utils'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; import { UNSUPPORTED_TOKEN_NAME } from '../constants'; import { getEvents } from './repository'; -const tokenMap = new TokenMap(getRosenTokens()); +const tokenMap = getTokenMap(); /** * get full token data associated with a tokenId and a chain diff --git a/apps/rosen/app/_backend/initialize-datasource-if-needed.ts b/apps/rosen/app/_backend/initialize-datasource-if-needed.ts index 1f3a5e36..cc45516a 100644 --- a/apps/rosen/app/_backend/initialize-datasource-if-needed.ts +++ b/apps/rosen/app/_backend/initialize-datasource-if-needed.ts @@ -1,4 +1,4 @@ -import dataSource from './dataSource'; +import { dataSource } from './dataSource'; if (!dataSource.isInitialized) { await dataSource.initialize(); diff --git a/apps/rosen/app/_errors/NotFoundError.ts b/apps/rosen/app/_errors/NotFoundError.ts deleted file mode 100644 index 2ba6e18b..00000000 --- a/apps/rosen/app/_errors/NotFoundError.ts +++ /dev/null @@ -1,3 +0,0 @@ -class NotFoundError extends Error {} - -export default NotFoundError; diff --git a/apps/rosen/app/_hooks/index.ts b/apps/rosen/app/_hooks/index.ts new file mode 100644 index 00000000..9c6a7793 --- /dev/null +++ b/apps/rosen/app/_hooks/index.ts @@ -0,0 +1,9 @@ +export * from './useBridgeForm'; +export * from './useMaxTransfer'; +export * from './useNetwork'; +export * from './useTokenBalance'; +export * from './useTokenMap'; +export * from './useTransaction'; +export * from './useTransactionFees'; +export * from './useTransactionFormData'; +export * from './useWallet'; diff --git a/apps/rosen/app/_hooks/useBridgeForm.ts b/apps/rosen/app/_hooks/useBridgeForm.ts index 8b8863dc..cf400b46 100644 --- a/apps/rosen/app/_hooks/useBridgeForm.ts +++ b/apps/rosen/app/_hooks/useBridgeForm.ts @@ -4,21 +4,21 @@ import { useController } from 'react-hook-form'; import { Network, RosenAmountValue } from '@rosen-ui/types'; import { getNonDecimalString } from '@rosen-ui/utils'; -import { validateAddress } from '@/_actions/validateAddress'; +import { validateAddress } from '@/_actions'; import { WalletContext } from '@/_contexts/walletContext'; import { availableNetworks } from '@/_networks'; import { unwrap } from '@/_safeServerAction'; import { getMaxTransfer, getMinTransfer } from '@/_utils'; import { useTokenMap } from './useTokenMap'; -import useTransactionFormData from './useTransactionFormData'; +import { useTransactionFormData } from './useTransactionFormData'; /** * handles the form field registrations and form state changes * and validations */ -const useBridgeForm = () => { +export const useBridgeForm = () => { const { control, resetField, reset, setValue, formState, setFocus } = useTransactionFormData(); @@ -141,5 +141,3 @@ const useBridgeForm = () => { formState, }; }; - -export default useBridgeForm; diff --git a/apps/rosen/app/_hooks/useMaxTransfer.ts b/apps/rosen/app/_hooks/useMaxTransfer.ts index 13450036..f8a350bd 100644 --- a/apps/rosen/app/_hooks/useMaxTransfer.ts +++ b/apps/rosen/app/_hooks/useMaxTransfer.ts @@ -6,9 +6,9 @@ import { RosenAmountValue } from '@rosen-ui/types'; import { getMaxTransfer } from '@/_utils'; import { useNetwork } from './useNetwork'; -import useTokenBalance from './useTokenBalance'; -import useTransactionFormData from './useTransactionFormData'; -import useWallet from './useWallet'; +import { useTokenBalance } from './useTokenBalance'; +import { useTransactionFormData } from './useTransactionFormData'; +import { useWallet } from './useWallet'; /** * a hook version of `getMaxTransfer` util diff --git a/apps/rosen/app/_hooks/useNetwork.ts b/apps/rosen/app/_hooks/useNetwork.ts index b05e53f7..56776bc4 100644 --- a/apps/rosen/app/_hooks/useNetwork.ts +++ b/apps/rosen/app/_hooks/useNetwork.ts @@ -6,7 +6,7 @@ import { Network } from '@rosen-ui/types'; import { AvailableNetworks, availableNetworks } from '@/_networks'; -import useBridgeForm from './useBridgeForm'; +import { useBridgeForm } from './useBridgeForm'; import { useTokenMap } from './useTokenMap'; type BlackList = { diff --git a/apps/rosen/app/_hooks/useTokenBalance.ts b/apps/rosen/app/_hooks/useTokenBalance.ts index 3be931cc..865f71d9 100644 --- a/apps/rosen/app/_hooks/useTokenBalance.ts +++ b/apps/rosen/app/_hooks/useTokenBalance.ts @@ -4,8 +4,8 @@ import { TokenInfo } from '@rosen-ui/types'; import { RosenAmountValue } from '@rosen-ui/types'; import { Wallet } from '@rosen-ui/wallet-api'; -import useBridgeForm from './useBridgeForm'; -import useWallet from './useWallet'; +import { useBridgeForm } from './useBridgeForm'; +import { useWallet } from './useWallet'; interface UseTokenBalance { isLoading: boolean; @@ -18,7 +18,7 @@ interface UseTokenBalance { * returns the amount of currently selected asset * @returns CONTAINS A WRAPPED-VALUE */ -const useTokenBalance = () => { +export const useTokenBalance = () => { const [balanceState, setBalanceState] = useState({ isLoading: false, amount: 0n, @@ -65,5 +65,3 @@ const useTokenBalance = () => { return balanceState; }; - -export default useTokenBalance; diff --git a/apps/rosen/app/_hooks/useTokenMap.ts b/apps/rosen/app/_hooks/useTokenMap.ts index d2b47e41..8435523c 100644 --- a/apps/rosen/app/_hooks/useTokenMap.ts +++ b/apps/rosen/app/_hooks/useTokenMap.ts @@ -2,7 +2,7 @@ import { useEffect, useState, useTransition } from 'react'; import { TokenMap } from '@rosen-bridge/tokens'; -import { getTokenMap } from '@/_networks/getTokenMap.client'; +import { getTokenMap } from '@/_tokenMap/getClientTokenMap'; /** * return TokenMap instance diff --git a/apps/rosen/app/_hooks/useTransaction.ts b/apps/rosen/app/_hooks/useTransaction.ts index 677d097e..f945e7a2 100644 --- a/apps/rosen/app/_hooks/useTransaction.ts +++ b/apps/rosen/app/_hooks/useTransaction.ts @@ -7,8 +7,8 @@ import { getNonDecimalString } from '@rosen-ui/utils'; import { useNetwork } from './useNetwork'; import { useTokenMap } from './useTokenMap'; -import useTransactionFormData from './useTransactionFormData'; -import useWallet from './useWallet'; +import { useTransactionFormData } from './useTransactionFormData'; +import { useWallet } from './useWallet'; /** * a react hook to create and sign and submit transactions diff --git a/apps/rosen/app/_hooks/useTransactionFees.ts b/apps/rosen/app/_hooks/useTransactionFees.ts index e0cf6129..88c6ea9c 100644 --- a/apps/rosen/app/_hooks/useTransactionFees.ts +++ b/apps/rosen/app/_hooks/useTransactionFees.ts @@ -5,7 +5,7 @@ import { useSnackbar } from '@rosen-bridge/ui-kit'; import { Network } from '@rosen-ui/types'; import { getNonDecimalString, getDecimalString } from '@rosen-ui/utils'; -import { calculateFee } from '@/_actions/calculateFee'; +import { calculateFee } from '@/_actions'; import { unwrap } from '@/_safeServerAction'; import { useNetwork } from './useNetwork'; @@ -15,7 +15,7 @@ import { useTokenMap } from './useTokenMap'; * calculates the fees for a token swap between * two networks */ -const useTransactionFees = ( +export const useTransactionFees = ( sourceChain: Network | null, targetChain: Network | null, token: RosenChainToken | null, @@ -167,5 +167,3 @@ const useTransactionFees = ( return transactionFees; }; - -export default useTransactionFees; diff --git a/apps/rosen/app/_hooks/useTransactionFormData.ts b/apps/rosen/app/_hooks/useTransactionFormData.ts index d6afa1b3..e30c3240 100644 --- a/apps/rosen/app/_hooks/useTransactionFormData.ts +++ b/apps/rosen/app/_hooks/useTransactionFormData.ts @@ -8,7 +8,7 @@ import type { BridgeForm } from '@/(bridge)/page'; * provide access to the bridge form context and current form values */ -const useTransactionFormData = () => { +export const useTransactionFormData = () => { const { control, ...rest } = useFormContext(); const sourceValue = useWatch({ control, name: 'source' }) as Network | null; @@ -27,5 +27,3 @@ const useTransactionFormData = () => { ...rest, }; }; - -export default useTransactionFormData; diff --git a/apps/rosen/app/_hooks/useWallet.ts b/apps/rosen/app/_hooks/useWallet.ts index 41d318f0..bf073965 100644 --- a/apps/rosen/app/_hooks/useWallet.ts +++ b/apps/rosen/app/_hooks/useWallet.ts @@ -27,7 +27,7 @@ const toWalletDescriptor = (wallet: WalletBase): WalletDescriptor => { * handles the wallet connections for all the networks * and reconnect to the wallet on app startup */ -const useWallet = () => { +export const useWallet = () => { const walletGlobalContext = useContext(WalletContext); const isConnecting = useRef(false); const { get, set } = useLocalStorageManager(); @@ -127,5 +127,3 @@ const useWallet = () => { } : {}; }; - -export default useWallet; diff --git a/apps/rosen/app/_networks/bitcoin/client.ts b/apps/rosen/app/_networks/bitcoin/client.ts new file mode 100644 index 00000000..4dc49a33 --- /dev/null +++ b/apps/rosen/app/_networks/bitcoin/client.ts @@ -0,0 +1,39 @@ +import { BitcoinIcon } from '@rosen-bridge/icons'; +import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; +import { xdefiWalletCreator } from '@rosen-ui/xdefi-wallet'; + +import { unwrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getClientTokenMap'; +import { BitcoinNetwork as BitcoinNetworkType } from '@/_types'; + +import { getMaxTransfer } from './getMaxTransfer'; +import { + generateOpReturnData, + generateUnsignedTx, + submitTransaction, + getAddressBalance, +} from './server'; + +const config = { + getTokenMap, + generateOpReturnData: unwrap(generateOpReturnData), + generateUnsignedTx: unwrap(generateUnsignedTx), + getAddressBalance: unwrap(getAddressBalance), + submitTransaction: unwrap(submitTransaction), +}; + +/** + * the main object for Bitcoin network + * providing access to network info and wallets and network specific + * functionality + */ +export const BitcoinNetwork: BitcoinNetworkType = { + name: NETWORKS.BITCOIN, + label: NETWORK_LABELS.BITCOIN, + logo: BitcoinIcon, + wallets: [xdefiWalletCreator(config)], + nextHeightInterval: 1, + lockAddress: process.env.NEXT_PUBLIC_BITCOIN_LOCK_ADDRESS!, + getMaxTransfer: unwrap(getMaxTransfer), + toSafeAddress: (address) => address, +}; diff --git a/apps/rosen/app/_networks/bitcoin/getMaxTransfer.ts b/apps/rosen/app/_networks/bitcoin/getMaxTransfer.ts index a26dc33c..b6e5bd0d 100644 --- a/apps/rosen/app/_networks/bitcoin/getMaxTransfer.ts +++ b/apps/rosen/app/_networks/bitcoin/getMaxTransfer.ts @@ -10,9 +10,8 @@ import { import { NATIVE_TOKENS, NETWORKS } from '@rosen-ui/constants'; import { wrap } from '@/_safeServerAction'; -import { BitcoinNetwork } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.server'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; +import { BitcoinNetwork } from '@/_types'; /** * get max transfer for bitcoin @@ -47,7 +46,7 @@ const getMaxTransferCore: BitcoinNetwork['getMaxTransfer'] = async ({ const estimatedFee = Math.ceil((estimatedTxWeight / 4) * feeRatio); const minSatoshi = await getMinimumMeaningfulSatoshi(feeRatio); - const tokenMap = await getTokenMap(); + const tokenMap = getTokenMap(); const offset = tokenMap.wrapAmount( NATIVE_TOKENS.BITCOIN, diff --git a/apps/rosen/app/_networks/bitcoin/index.ts b/apps/rosen/app/_networks/bitcoin/index.ts index c9bdecd7..4f1cce44 100644 --- a/apps/rosen/app/_networks/bitcoin/index.ts +++ b/apps/rosen/app/_networks/bitcoin/index.ts @@ -1,41 +1 @@ -import { BitcoinIcon } from '@rosen-bridge/icons'; -import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; -import { xdefiWalletCreator } from '@rosen-ui/xdefi-wallet'; - -import { unwrap } from '@/_safeServerAction'; -import { BitcoinNetwork as BitcoinNetworkType } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.client'; -import { getMaxTransfer } from './getMaxTransfer'; -import { - generateOpReturnData, - generateUnsignedTx, - submitTransaction, - getAddressBalance, -} from './server'; - -const config = { - getTokenMap, - generateOpReturnData: unwrap(generateOpReturnData), - generateUnsignedTx: unwrap(generateUnsignedTx), - getAddressBalance: unwrap(getAddressBalance), - submitTransaction: unwrap(submitTransaction), -}; - -/** - * the main object for Bitcoin network - * providing access to network info and wallets and network specific - * functionality - */ -const BitcoinNetwork: BitcoinNetworkType = { - name: NETWORKS.BITCOIN, - label: NETWORK_LABELS.BITCOIN, - logo: BitcoinIcon, - wallets: [xdefiWalletCreator(config)], - nextHeightInterval: 1, - lockAddress: process.env.NEXT_PUBLIC_BITCOIN_LOCK_ADDRESS!, - getMaxTransfer: unwrap(getMaxTransfer), - toSafeAddress: (address) => address, -}; - -export default BitcoinNetwork; +export * from './client'; diff --git a/apps/rosen/app/_networks/bitcoin/server.ts b/apps/rosen/app/_networks/bitcoin/server.ts index c3889df5..e60547ea 100644 --- a/apps/rosen/app/_networks/bitcoin/server.ts +++ b/apps/rosen/app/_networks/bitcoin/server.ts @@ -1,6 +1,5 @@ 'use server'; -import { TokenMap } from '@rosen-bridge/tokens'; import { generateOpReturnData as generateOpReturnDataCore, generateUnsignedTx as generateUnsignedTxCore, @@ -8,19 +7,16 @@ import { submitTransaction as submitTransactionCore, } from '@rosen-network/bitcoin'; -import { getRosenTokens } from '@/_backend/utils'; import { wrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; export const generateOpReturnData = wrap(generateOpReturnDataCore, { traceKey: 'generateOpReturnData', }); -export const generateUnsignedTx = wrap( - generateUnsignedTxCore(new TokenMap(getRosenTokens())), - { - traceKey: 'generateUnsignedTx', - }, -); +export const generateUnsignedTx = wrap(generateUnsignedTxCore(getTokenMap()), { + traceKey: 'generateUnsignedTx', +}); export const getAddressBalance = wrap(getAddressBalanceCore, { cache: 3000, diff --git a/apps/rosen/app/_networks/cardano/client.ts b/apps/rosen/app/_networks/cardano/client.ts new file mode 100644 index 00000000..1dcd1385 --- /dev/null +++ b/apps/rosen/app/_networks/cardano/client.ts @@ -0,0 +1,47 @@ +import { CardanoIcon } from '@rosen-bridge/icons'; +import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; +import { eternlWalletCreator } from '@rosen-ui/eternl-wallet'; +import { flintWalletCreator } from '@rosen-ui/flint-wallet'; +import { laceWalletCreator } from '@rosen-ui/lace-wallet'; +import { namiWalletCreator } from '@rosen-ui/nami-wallet'; + +import { unwrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getClientTokenMap'; +import { CardanoNetwork as CardanoNetworkType } from '@/_types'; + +import { getMaxTransfer } from './getMaxTransfer'; +import { + decodeWasmValue, + generateLockAuxiliaryData, + generateUnsignedTx, + setTxWitnessSet, +} from './server'; + +const config = { + getTokenMap, + decodeWasmValue: unwrap(decodeWasmValue), + generateLockAuxiliaryData: unwrap(generateLockAuxiliaryData), + generateUnsignedTx: unwrap(generateUnsignedTx), + setTxWitnessSet: unwrap(setTxWitnessSet), +}; + +/** + * the main object for Cardano network + * providing access to network info and wallets and network specific + * functionality + */ +export const CardanoNetwork: CardanoNetworkType = { + name: NETWORKS.CARDANO, + label: NETWORK_LABELS.CARDANO, + wallets: [ + eternlWalletCreator(config), + flintWalletCreator(config), + laceWalletCreator(config), + namiWalletCreator(config), + ], + nextHeightInterval: 25, + logo: CardanoIcon, + lockAddress: process.env.NEXT_PUBLIC_CARDANO_LOCK_ADDRESS!, + getMaxTransfer: unwrap(getMaxTransfer), + toSafeAddress: (address) => address, +}; diff --git a/apps/rosen/app/_networks/cardano/getMaxTransfer.ts b/apps/rosen/app/_networks/cardano/getMaxTransfer.ts index a6b9e1be..bc934ea6 100644 --- a/apps/rosen/app/_networks/cardano/getMaxTransfer.ts +++ b/apps/rosen/app/_networks/cardano/getMaxTransfer.ts @@ -4,9 +4,8 @@ import { feeAndMinBoxValue } from '@rosen-network/cardano/dist/src/constants'; import { NATIVE_TOKENS, NETWORKS } from '@rosen-ui/constants'; import { wrap } from '@/_safeServerAction'; -import { CardanoNetwork } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.server'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; +import { CardanoNetwork } from '@/_types'; /** * get max transfer for cardano @@ -15,7 +14,7 @@ const getMaxTransferCore: CardanoNetwork['getMaxTransfer'] = async ({ balance, isNative, }) => { - const tokenMap = await getTokenMap(); + const tokenMap = getTokenMap(); const feeAndMinBoxValueWrapped = tokenMap.wrapAmount( NATIVE_TOKENS.CARDANO, feeAndMinBoxValue, diff --git a/apps/rosen/app/_networks/cardano/index.ts b/apps/rosen/app/_networks/cardano/index.ts index 81e33274..4f1cce44 100644 --- a/apps/rosen/app/_networks/cardano/index.ts +++ b/apps/rosen/app/_networks/cardano/index.ts @@ -1,49 +1 @@ -import { CardanoIcon } from '@rosen-bridge/icons'; -import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; -import { eternlWalletCreator } from '@rosen-ui/eternl-wallet'; -import { flintWalletCreator } from '@rosen-ui/flint-wallet'; -import { laceWalletCreator } from '@rosen-ui/lace-wallet'; -import { namiWalletCreator } from '@rosen-ui/nami-wallet'; - -import { unwrap } from '@/_safeServerAction'; -import { CardanoNetwork as CardanoNetworkType } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.client'; -import { getMaxTransfer } from './getMaxTransfer'; -import { - decodeWasmValue, - generateLockAuxiliaryData, - generateUnsignedTx, - setTxWitnessSet, -} from './server'; - -const config = { - getTokenMap, - decodeWasmValue: unwrap(decodeWasmValue), - generateLockAuxiliaryData: unwrap(generateLockAuxiliaryData), - generateUnsignedTx: unwrap(generateUnsignedTx), - setTxWitnessSet: unwrap(setTxWitnessSet), -}; - -/** - * the main object for Cardano network - * providing access to network info and wallets and network specific - * functionality - */ -const CardanoNetwork: CardanoNetworkType = { - name: NETWORKS.CARDANO, - label: NETWORK_LABELS.CARDANO, - wallets: [ - eternlWalletCreator(config), - flintWalletCreator(config), - laceWalletCreator(config), - namiWalletCreator(config), - ], - nextHeightInterval: 25, - logo: CardanoIcon, - lockAddress: process.env.NEXT_PUBLIC_CARDANO_LOCK_ADDRESS!, - getMaxTransfer: unwrap(getMaxTransfer), - toSafeAddress: (address) => address, -}; - -export default CardanoNetwork; +export * from './client'; diff --git a/apps/rosen/app/_networks/cardano/server.ts b/apps/rosen/app/_networks/cardano/server.ts index 3584e0af..e0659d3a 100644 --- a/apps/rosen/app/_networks/cardano/server.ts +++ b/apps/rosen/app/_networks/cardano/server.ts @@ -1,6 +1,5 @@ 'use server'; -import { TokenMap } from '@rosen-bridge/tokens'; import { decodeWasmValue as decodeWasmValueCore, generateLockAuxiliaryData as generateLockAuxiliaryDataCore, @@ -8,8 +7,8 @@ import { setTxWitnessSet as setTxWitnessSetCore, } from '@rosen-network/cardano'; -import { getRosenTokens } from '@/_backend/utils'; import { wrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; export const decodeWasmValue = wrap(decodeWasmValueCore, { cache: Infinity, @@ -20,12 +19,9 @@ export const generateLockAuxiliaryData = wrap(generateLockAuxiliaryDataCore, { traceKey: 'generateLockAuxiliaryData', }); -export const generateUnsignedTx = wrap( - generateUnsignedTxCore(new TokenMap(getRosenTokens())), - { - traceKey: 'generateUnsignedTx', - }, -); +export const generateUnsignedTx = wrap(generateUnsignedTxCore(getTokenMap()), { + traceKey: 'generateUnsignedTx', +}); export const setTxWitnessSet = wrap(setTxWitnessSetCore, { traceKey: 'setTxWitnessSet', diff --git a/apps/rosen/app/_networks/ergo/client.ts b/apps/rosen/app/_networks/ergo/client.ts new file mode 100644 index 00000000..3d5238e2 --- /dev/null +++ b/apps/rosen/app/_networks/ergo/client.ts @@ -0,0 +1,31 @@ +import { ErgoIcon } from '@rosen-bridge/icons'; +import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; +import { nautilusWalletCreator } from '@rosen-ui/nautilus-wallet'; + +import { unwrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getClientTokenMap'; +import { ErgoNetwork as ErgoNetworkType } from '@/_types'; + +import { getMaxTransfer } from './getMaxTransfer'; +import { generateUnsignedTx } from './server'; + +const config = { + getTokenMap, + generateUnsignedTx: unwrap(generateUnsignedTx), +}; + +/** + * the main object for Ergo network + * providing access to network info and wallets and network specific + * functionality + */ +export const ErgoNetwork: ErgoNetworkType = { + name: NETWORKS.ERGO, + label: NETWORK_LABELS.ERGO, + wallets: [nautilusWalletCreator(config)], + logo: ErgoIcon, + nextHeightInterval: 5, + lockAddress: process.env.NEXT_PUBLIC_ERGO_LOCK_ADDRESS!, + getMaxTransfer: unwrap(getMaxTransfer), + toSafeAddress: (address) => address, +}; diff --git a/apps/rosen/app/_networks/ergo/getMaxTransfer.ts b/apps/rosen/app/_networks/ergo/getMaxTransfer.ts index c22fcbec..3e4ec6ce 100644 --- a/apps/rosen/app/_networks/ergo/getMaxTransfer.ts +++ b/apps/rosen/app/_networks/ergo/getMaxTransfer.ts @@ -7,9 +7,8 @@ import { import { NATIVE_TOKENS, NETWORKS } from '@rosen-ui/constants'; import { wrap } from '@/_safeServerAction'; -import { ErgoNetwork } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.server'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; +import { ErgoNetwork } from '@/_types'; /** * get max transfer for ergo @@ -18,7 +17,7 @@ const getMaxTransferCore: ErgoNetwork['getMaxTransfer'] = async ({ balance, isNative, }) => { - const tokenMap = await getTokenMap(); + const tokenMap = getTokenMap(); const feeAndMinBoxValueWrapped = tokenMap.wrapAmount( NATIVE_TOKENS.ERGO, ergoFee + ergoMinBoxValue, diff --git a/apps/rosen/app/_networks/ergo/index.ts b/apps/rosen/app/_networks/ergo/index.ts index acb00bbd..4f1cce44 100644 --- a/apps/rosen/app/_networks/ergo/index.ts +++ b/apps/rosen/app/_networks/ergo/index.ts @@ -1,33 +1 @@ -import { ErgoIcon } from '@rosen-bridge/icons'; -import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; -import { nautilusWalletCreator } from '@rosen-ui/nautilus-wallet'; - -import { unwrap } from '@/_safeServerAction'; -import { ErgoNetwork as ErgoNetworkType } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.client'; -import { getMaxTransfer } from './getMaxTransfer'; -import { generateUnsignedTx } from './server'; - -const config = { - getTokenMap, - generateUnsignedTx: unwrap(generateUnsignedTx), -}; - -/** - * the main object for Ergo network - * providing access to network info and wallets and network specific - * functionality - */ -const ErgoNetwork: ErgoNetworkType = { - name: NETWORKS.ERGO, - label: NETWORK_LABELS.ERGO, - wallets: [nautilusWalletCreator(config)], - logo: ErgoIcon, - nextHeightInterval: 5, - lockAddress: process.env.NEXT_PUBLIC_ERGO_LOCK_ADDRESS!, - getMaxTransfer: unwrap(getMaxTransfer), - toSafeAddress: (address) => address, -}; - -export default ErgoNetwork; +export * from './client'; diff --git a/apps/rosen/app/_networks/ergo/server.ts b/apps/rosen/app/_networks/ergo/server.ts index b4119ca3..7d071e42 100644 --- a/apps/rosen/app/_networks/ergo/server.ts +++ b/apps/rosen/app/_networks/ergo/server.ts @@ -1,14 +1,10 @@ 'use server'; -import { TokenMap } from '@rosen-bridge/tokens'; import { generateUnsignedTx as generateUnsignedTxCore } from '@rosen-network/ergo'; -import { getRosenTokens } from '@/_backend/utils'; import { wrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; -export const generateUnsignedTx = wrap( - generateUnsignedTxCore(new TokenMap(getRosenTokens())), - { - traceKey: 'generateUnsignedTx', - }, -); +export const generateUnsignedTx = wrap(generateUnsignedTxCore(getTokenMap()), { + traceKey: 'generateUnsignedTx', +}); diff --git a/apps/rosen/app/_networks/ethereum/client.ts b/apps/rosen/app/_networks/ethereum/client.ts new file mode 100644 index 00000000..3c5ca9e3 --- /dev/null +++ b/apps/rosen/app/_networks/ethereum/client.ts @@ -0,0 +1,32 @@ +import { EthereumIcon } from '@rosen-bridge/icons'; +import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; +import { metaMaskWalletCreator } from '@rosen-ui/metamask-wallet'; + +import { unwrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getClientTokenMap'; +import { EthereumNetwork as EthereumNetworkType } from '@/_types'; + +import { getMaxTransfer } from './getMaxTransfer'; +import { generateLockData, generateTxParameters } from './server'; + +/** + * the main object for Ethereum network + * providing access to network info and wallets and network specific + * functionality + */ +export const EthereumNetwork: EthereumNetworkType = { + name: NETWORKS.ETHEREUM, + label: NETWORK_LABELS.ETHEREUM, + wallets: [ + metaMaskWalletCreator({ + getTokenMap, + generateLockData: unwrap(generateLockData), + generateTxParameters: unwrap(generateTxParameters), + }), + ], + logo: EthereumIcon, + nextHeightInterval: 0, + lockAddress: process.env.NEXT_PUBLIC_ETHEREUM_LOCK_ADDRESS!, + getMaxTransfer: unwrap(getMaxTransfer), + toSafeAddress: (address) => address.toLowerCase(), +}; diff --git a/apps/rosen/app/_networks/ethereum/getMaxTransfer.ts b/apps/rosen/app/_networks/ethereum/getMaxTransfer.ts index 29c1f29e..c23d2f4e 100644 --- a/apps/rosen/app/_networks/ethereum/getMaxTransfer.ts +++ b/apps/rosen/app/_networks/ethereum/getMaxTransfer.ts @@ -4,9 +4,8 @@ import { ETH_TRANSFER_GAS, getFeeData } from '@rosen-network/ethereum'; import { NATIVE_TOKENS, NETWORKS } from '@rosen-ui/constants'; import { wrap } from '@/_safeServerAction'; -import { EthereumNetwork } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.server'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; +import { EthereumNetwork } from '@/_types'; /** * get max transfer for ethereum @@ -18,7 +17,7 @@ const getMaxTransferCore: EthereumNetwork['getMaxTransfer'] = async ({ const feeData = await getFeeData(); if (!feeData.gasPrice) throw Error(`gas price is null`); const estimatedFee = feeData.gasPrice * ETH_TRANSFER_GAS; - const tokenMap = await getTokenMap(); + const tokenMap = getTokenMap(); const wrappedFee = tokenMap.wrapAmount( NATIVE_TOKENS.ETHEREUM, diff --git a/apps/rosen/app/_networks/ethereum/index.ts b/apps/rosen/app/_networks/ethereum/index.ts index bcfc420b..4f1cce44 100644 --- a/apps/rosen/app/_networks/ethereum/index.ts +++ b/apps/rosen/app/_networks/ethereum/index.ts @@ -1,34 +1 @@ -import { EthereumIcon } from '@rosen-bridge/icons'; -import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; -import { metaMaskWalletCreator } from '@rosen-ui/metamask-wallet'; - -import { unwrap } from '@/_safeServerAction'; -import { EthereumNetwork as EthereumNetworkType } from '@/_types/network'; - -import { getTokenMap } from '../getTokenMap.client'; -import { getMaxTransfer } from './getMaxTransfer'; -import { generateLockData, generateTxParameters } from './server'; - -/** - * the main object for Ethereum network - * providing access to network info and wallets and network specific - * functionality - */ -const EthereumNetwork: EthereumNetworkType = { - name: NETWORKS.ETHEREUM, - label: NETWORK_LABELS.ETHEREUM, - wallets: [ - metaMaskWalletCreator({ - getTokenMap, - generateLockData: unwrap(generateLockData), - generateTxParameters: unwrap(generateTxParameters), - }), - ], - logo: EthereumIcon, - nextHeightInterval: 0, - lockAddress: process.env.NEXT_PUBLIC_ETHEREUM_LOCK_ADDRESS!, - getMaxTransfer: unwrap(getMaxTransfer), - toSafeAddress: (address) => address.toLowerCase(), -}; - -export default EthereumNetwork; +export * from './client'; diff --git a/apps/rosen/app/_networks/ethereum/server.ts b/apps/rosen/app/_networks/ethereum/server.ts index 3999e814..d9c9a1b4 100644 --- a/apps/rosen/app/_networks/ethereum/server.ts +++ b/apps/rosen/app/_networks/ethereum/server.ts @@ -1,20 +1,19 @@ 'use server'; -import { TokenMap } from '@rosen-bridge/tokens'; import { generateLockData as generateLockDataCore, generateTxParameters as generateTxParametersCore, } from '@rosen-network/ethereum'; -import { getRosenTokens } from '@/_backend/utils'; import { wrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getServerTokenMap'; export const generateLockData = wrap(generateLockDataCore, { traceKey: 'generateLockData', }); export const generateTxParameters = wrap( - generateTxParametersCore(new TokenMap(getRosenTokens())), + generateTxParametersCore(getTokenMap()), { traceKey: 'generateTxParameters', }, diff --git a/apps/rosen/app/_networks/index.ts b/apps/rosen/app/_networks/index.ts index 91de7c40..51b573ab 100644 --- a/apps/rosen/app/_networks/index.ts +++ b/apps/rosen/app/_networks/index.ts @@ -1,9 +1,9 @@ import { NETWORKS } from '@rosen-ui/constants'; -import BitcoinNetwork from './bitcoin'; -import CardanoNetwork from './cardano'; -import ErgoNetwork from './ergo'; -import EthereumNetwork from './ethereum'; +import { BitcoinNetwork } from './bitcoin'; +import { CardanoNetwork } from './cardano'; +import { ErgoNetwork } from './ergo'; +import { EthereumNetwork } from './ethereum'; export const availableNetworks = { [NETWORKS.ERGO]: ErgoNetwork, diff --git a/apps/rosen/app/_networks/getTokenMap.client.ts b/apps/rosen/app/_tokenMap/getClientTokenMap.ts similarity index 86% rename from apps/rosen/app/_networks/getTokenMap.client.ts rename to apps/rosen/app/_tokenMap/getClientTokenMap.ts index 20bea5b2..e8383f50 100644 --- a/apps/rosen/app/_networks/getTokenMap.client.ts +++ b/apps/rosen/app/_tokenMap/getClientTokenMap.ts @@ -1,8 +1,9 @@ import { TokenMap } from '@rosen-bridge/tokens'; -import { getRosenTokensWithCache } from '@/_backend/utils'; import { unwrap } from '@/_safeServerAction'; +import { getRosenTokensWithCache } from './getRosenTokens'; + let tokenMap: TokenMap; /** diff --git a/apps/rosen/app/_backend/utils.ts b/apps/rosen/app/_tokenMap/getRosenTokens.ts similarity index 100% rename from apps/rosen/app/_backend/utils.ts rename to apps/rosen/app/_tokenMap/getRosenTokens.ts diff --git a/apps/rosen/app/_networks/getTokenMap.server.ts b/apps/rosen/app/_tokenMap/getServerTokenMap.ts similarity index 65% rename from apps/rosen/app/_networks/getTokenMap.server.ts rename to apps/rosen/app/_tokenMap/getServerTokenMap.ts index dbd6cf05..1962f5eb 100644 --- a/apps/rosen/app/_networks/getTokenMap.server.ts +++ b/apps/rosen/app/_tokenMap/getServerTokenMap.ts @@ -1,15 +1,15 @@ import { TokenMap } from '@rosen-bridge/tokens'; -import { getRosenTokens } from '@/_backend/utils'; +import { getRosenTokens } from './getRosenTokens'; let tokenMap: TokenMap; /** * get a TokenMap instance using the Rosen TokenMapObject in the server. */ -export const getTokenMap = async () => { +export const getTokenMap = () => { if (tokenMap) return tokenMap; - const tokens = await getRosenTokens(); + const tokens = getRosenTokens(); tokenMap = new TokenMap(tokens); return tokenMap; }; diff --git a/apps/rosen/app/_types/index.ts b/apps/rosen/app/_types/index.ts new file mode 100644 index 00000000..f44194c2 --- /dev/null +++ b/apps/rosen/app/_types/index.ts @@ -0,0 +1,2 @@ +export * from './api'; +export * from './network'; diff --git a/apps/rosen/app/_utils/getMaxTransfer.ts b/apps/rosen/app/_utils/getMaxTransfer.ts index 2a8e051f..003201aa 100644 --- a/apps/rosen/app/_utils/getMaxTransfer.ts +++ b/apps/rosen/app/_utils/getMaxTransfer.ts @@ -6,7 +6,7 @@ import { CardanoNetwork, ErgoNetwork, EthereumNetwork, -} from '@/_types/network'; +} from '@/_types'; /** * return max transfer, considering all the context that affects it diff --git a/apps/rosen/app/_utils/getMinTransfer.ts b/apps/rosen/app/_utils/getMinTransfer.ts index ff1fb157..31eb5a3c 100644 --- a/apps/rosen/app/_utils/getMinTransfer.ts +++ b/apps/rosen/app/_utils/getMinTransfer.ts @@ -1,9 +1,9 @@ import { RosenChainToken } from '@rosen-bridge/tokens'; import { Network, RosenAmountValue } from '@rosen-ui/types'; -import { calculateFee } from '@/_actions/calculateFee'; -import { getTokenMap } from '@/_networks/getTokenMap.client'; +import { calculateFee } from '@/_actions'; import { unwrap } from '@/_safeServerAction'; +import { getTokenMap } from '@/_tokenMap/getClientTokenMap'; /** * get min transfer amount of a token diff --git a/apps/rosen/app/api/v1/assets/detail/[id]/route.ts b/apps/rosen/app/api/v1/assets/detail/[id]/route.ts index 2f238cbe..07eec5e6 100644 --- a/apps/rosen/app/api/v1/assets/detail/[id]/route.ts +++ b/apps/rosen/app/api/v1/assets/detail/[id]/route.ts @@ -1,6 +1,6 @@ import { getAsset } from '@/_backend/assets'; -import withValidation from '../../../withValidation'; +import { withValidation } from '../../../withValidation'; import { validateGet } from './validations'; export const GET = withValidation(validateGet, (value) => getAsset(value.id)); diff --git a/apps/rosen/app/api/v1/assets/route.ts b/apps/rosen/app/api/v1/assets/route.ts index 56ce8fa8..b37e0f64 100644 --- a/apps/rosen/app/api/v1/assets/route.ts +++ b/apps/rosen/app/api/v1/assets/route.ts @@ -2,7 +2,7 @@ import { pick } from 'lodash-es'; import { getAllAssets } from '@/_backend/assets'; -import withValidation from '../withValidation'; +import { withValidation } from '../withValidation'; import { validateGet } from './validations'; export const GET = withValidation(validateGet, (value) => diff --git a/apps/rosen/app/api/v1/events/route.ts b/apps/rosen/app/api/v1/events/route.ts index 30e9e271..e37678dd 100644 --- a/apps/rosen/app/api/v1/events/route.ts +++ b/apps/rosen/app/api/v1/events/route.ts @@ -1,8 +1,8 @@ import { getEventsWithFullTokenData } from '@/_backend/events'; -import withValidation from '../withValidation'; -import EventsValidations from './validations'; +import { withValidation } from '../withValidation'; +import { validateGet } from './validations'; -export const GET = withValidation(EventsValidations.GET, (value) => +export const GET = withValidation(validateGet, (value) => getEventsWithFullTokenData(value.offset, value.limit), ); diff --git a/apps/rosen/app/api/v1/events/validations.ts b/apps/rosen/app/api/v1/events/validations.ts index 24a5cf7a..cbd365d0 100644 --- a/apps/rosen/app/api/v1/events/validations.ts +++ b/apps/rosen/app/api/v1/events/validations.ts @@ -15,12 +15,6 @@ const getQueryParamsSchema = Joi.object().keys({ * validate get requests * @param request */ -const validateGet = ({ nextUrl: { searchParams } }: NextRequest) => { +export const validateGet = ({ nextUrl: { searchParams } }: NextRequest) => { return getQueryParamsSchema.validate(Object.fromEntries(searchParams)); }; - -const EventsValidations = { - GET: validateGet, -}; - -export default EventsValidations; diff --git a/apps/rosen/app/api/v1/withValidation.ts b/apps/rosen/app/api/v1/withValidation.ts index b832658d..56c79e5b 100644 --- a/apps/rosen/app/api/v1/withValidation.ts +++ b/apps/rosen/app/api/v1/withValidation.ts @@ -2,8 +2,6 @@ import { NextRequest } from 'next/server'; import { ValidationResult } from 'joi'; -import NotFoundError from '@/_errors/NotFoundError'; - /** * a wrapper around handler returning a function which validates request, * converts request data during validation, and return general errors responses @@ -12,7 +10,7 @@ import NotFoundError from '@/_errors/NotFoundError'; * @param validator * @param handler */ -const withValidation = +export const withValidation = ( validator: ( request: NextRequest, @@ -31,7 +29,7 @@ const withValidation = const response = await handler(value); return Response.json(response); } catch (error) { - if (error instanceof NotFoundError) { + if (error instanceof ReferenceError) { return Response.json(error.message, { status: 404 }); } if (error instanceof Error) { @@ -40,5 +38,3 @@ const withValidation = return Response.json(JSON.stringify(error), { status: 500 }); } }; - -export default withValidation; diff --git a/apps/rosen/app/assets/TableRow.tsx b/apps/rosen/app/assets/TableRow.tsx index 31d6eff8..cf2f19ed 100644 --- a/apps/rosen/app/assets/TableRow.tsx +++ b/apps/rosen/app/assets/TableRow.tsx @@ -29,7 +29,7 @@ import { } from '@rosen-ui/utils'; import useSWR from 'swr'; -import { ApiAssetResponse, Assets } from '@/_types/api'; +import { ApiAssetResponse, Assets } from '@/_types'; interface RowProps extends Assets { isLoading?: boolean; diff --git a/apps/rosen/app/assets/TableSkeleton.tsx b/apps/rosen/app/assets/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/rosen/app/assets/TableSkeleton.tsx +++ b/apps/rosen/app/assets/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/rosen/app/assets/page.tsx b/apps/rosen/app/assets/page.tsx index 46a56803..b7d9735b 100644 --- a/apps/rosen/app/assets/page.tsx +++ b/apps/rosen/app/assets/page.tsx @@ -20,10 +20,10 @@ import { import { NETWORK_LABELS, NETWORKS } from '@rosen-ui/constants'; import { Network } from '@rosen-ui/types'; -import { ApiAssetsResponse, Assets } from '@/_types/api'; +import { ApiAssetsResponse, Assets as AssetsModel } from '@/_types/api'; import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; +import { TableSkeleton } from './TableSkeleton'; const getKey = (chain: Network | 'all') => (offset: number, limit: number) => { return [ @@ -32,7 +32,7 @@ const getKey = (chain: Network | 'all') => (offset: number, limit: number) => { ]; }; -export default function Page() { +const Assets = () => { const [network, setNetwork] = useState('all'); const { @@ -66,12 +66,12 @@ export default function Page() { ); const renderMobileRow = useCallback( - (rowData: Assets) => , + (rowData: AssetsModel) => , [isLoading], ); const renderTabletRow = useCallback( - (rowData: Assets) => , + (rowData: AssetsModel) => , [isLoading], ); @@ -188,4 +188,6 @@ export default function Page() { ); -} +}; + +export default Assets; diff --git a/apps/rosen/app/events/TableRow.tsx b/apps/rosen/app/events/TableRow.tsx index 8e31bad6..dd4b4d32 100644 --- a/apps/rosen/app/events/TableRow.tsx +++ b/apps/rosen/app/events/TableRow.tsx @@ -14,7 +14,7 @@ import { getDecimalString, getTxURL } from '@rosen-ui/utils'; import { upperFirst } from 'lodash-es'; import moment from 'moment'; -import { Event } from '@/_types/api'; +import { Event } from '@/_types'; interface RowProps extends Event { isLoading?: boolean; diff --git a/apps/rosen/app/events/TableSkeleton.tsx b/apps/rosen/app/events/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/rosen/app/events/TableSkeleton.tsx +++ b/apps/rosen/app/events/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/rosen/app/events/page.tsx b/apps/rosen/app/events/page.tsx index a4acdb5a..6be9bd07 100644 --- a/apps/rosen/app/events/page.tsx +++ b/apps/rosen/app/events/page.tsx @@ -13,10 +13,10 @@ import { useTableDataPagination, } from '@rosen-bridge/ui-kit'; -import { ApiEventResponse, Event } from '@/_types/api'; +import { ApiEventResponse, Event } from '@/_types'; import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; +import { TableSkeleton } from './TableSkeleton'; const getKey = (offset: number, limit: number) => { return ['/v1/events', { offset, limit }]; diff --git a/apps/rosen/app/layout.tsx b/apps/rosen/app/layout.tsx index 572800ec..ff364689 100644 --- a/apps/rosen/app/layout.tsx +++ b/apps/rosen/app/layout.tsx @@ -1,6 +1,6 @@ import { Metadata } from 'next'; -import App from './App'; +import { App } from './App'; export const metadata: Metadata = { title: 'Rosen Bridge', diff --git a/apps/rosen/package.json b/apps/rosen/package.json index 74d71163..d6176770 100644 --- a/apps/rosen/package.json +++ b/apps/rosen/package.json @@ -1,9 +1,9 @@ { "name": "@rosen-bridge/rosen-app", - "version": "2.4.0", + "version": "2.5.0", "private": true, "scripts": { - "prettify": "prettier --write . --ignore-path ./.gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "next lint --fix && npm run prettify", "type-check": "tsc --noEmit", "dev": "next dev", @@ -43,7 +43,6 @@ "@rosen-ui/vespr-wallet": "^0.0.9", "@rosen-ui/wallet-api": "^1.0.3", "@rosen-ui/xdefi-wallet": "^1.0.2", - "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@upstash/ratelimit": "^1.2.1", "@vercel/kv": "^2.0.0", "buffer": "^6.0.3", @@ -60,15 +59,13 @@ "swr": "^2.2.0" }, "devDependencies": { + "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/lodash-es": "^4.17.10", "@types/node": "20.5.7", "@types/react": "18.2.12", "@types/react-dom": "18.2.4", "eslint": "8.42.0", "eslint-config-next": "^14.0.0", - "eslint-config-prettier": "^9.0.0", - "lint-staged": "^13.2.2", - "prettier": "^3.0.2", "typescript": "^5.1.6" } } diff --git a/apps/rosen/public/background-dark.png b/apps/rosen/public/background-dark.png new file mode 100644 index 00000000..c22d4ca0 Binary files /dev/null and b/apps/rosen/public/background-dark.png differ diff --git a/apps/rosen/public/background-light.png b/apps/rosen/public/background-light.png new file mode 100644 index 00000000..8ac0f30f Binary files /dev/null and b/apps/rosen/public/background-light.png differ diff --git a/apps/watcher/.gitignore b/apps/watcher/.gitignore deleted file mode 100644 index c0a3aa5e..00000000 --- a/apps/watcher/.gitignore +++ /dev/null @@ -1,39 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local -.env - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts - -# service binary -.bin diff --git a/apps/watcher/CHANGELOG.md b/apps/watcher/CHANGELOG.md index 3a43b9ff..f10f23ff 100644 --- a/apps/watcher/CHANGELOG.md +++ b/apps/watcher/CHANGELOG.md @@ -1,5 +1,25 @@ # @rosen-bridge/watcher-app +## 3.0.0 + +### Major Changes + +- Split layout.tsx into layout.tsx and App.tsx files, Implemented a dynamic title feature to display the network + +### Minor Changes + +- Implemented a dynamic title system that automatically displays the network's name +- Add a meta tag title to ensure an appropriate title is displayed in browsers +- Add a favicon to enhance browser visibility + +### Patch Changes + +- Update the modules to utilize named exports, enhancing maintainability and aligning with our policy to ensure greater consistency +- Cleaned up duplicate ApiKeyModal files, moved to the design system, and updated the related imports +- Updated dependencies + - @rosen-ui/swr-mock@0.0.2 + - @rosen-bridge/ui-kit@1.5.3 + ## 2.6.0 ### Minor Changes diff --git a/apps/watcher/app/(home)/@actions/page.tsx b/apps/watcher/app/(home)/@actions/page.tsx index 0f270cf2..32ade1f0 100644 --- a/apps/watcher/app/(home)/@actions/page.tsx +++ b/apps/watcher/app/(home)/@actions/page.tsx @@ -9,7 +9,7 @@ import { } from '@rosen-bridge/icons'; import { FullCard, SvgIcon } from '@rosen-bridge/ui-kit'; -import HomeActionButton from '@/_components/HomeActionButton'; +import { HomeActionButton } from '@/_components/HomeActionButton'; const Actions = () => { return ( diff --git a/apps/watcher/app/(home)/@address/AddressSkeleton.tsx b/apps/watcher/app/(home)/@address/AddressSkeleton.tsx index 16a0fd3b..db410edd 100644 --- a/apps/watcher/app/(home)/@address/AddressSkeleton.tsx +++ b/apps/watcher/app/(home)/@address/AddressSkeleton.tsx @@ -3,8 +3,6 @@ import { Skeleton } from '@rosen-bridge/ui-kit'; /** * render a skeleton element for address section of home page */ -const AddressSkeleton = () => ( +export const AddressSkeleton = () => ( ); - -export default AddressSkeleton; diff --git a/apps/watcher/app/(home)/@address/CopyButton.tsx b/apps/watcher/app/(home)/@address/CopyButton.tsx index cf3c49b8..74d467a9 100644 --- a/apps/watcher/app/(home)/@address/CopyButton.tsx +++ b/apps/watcher/app/(home)/@address/CopyButton.tsx @@ -17,7 +17,7 @@ interface CopyButtonProps { * * @param address */ -const CopyButton = ({ address }: CopyButtonProps) => { +export const CopyButton = ({ address }: CopyButtonProps) => { const [open, setOpen] = React.useState(false); const handleClose = ( @@ -43,5 +43,3 @@ const CopyButton = ({ address }: CopyButtonProps) => { ); }; - -export default CopyButton; diff --git a/apps/watcher/app/(home)/@address/QrCodeButton.tsx b/apps/watcher/app/(home)/@address/QrCodeButton.tsx index bd0ccc27..9b4f0fa4 100644 --- a/apps/watcher/app/(home)/@address/QrCodeButton.tsx +++ b/apps/watcher/app/(home)/@address/QrCodeButton.tsx @@ -11,7 +11,7 @@ interface QrCodeButtonProps { * provided address when clicked * @param address */ -const QrCodeButton = ({ address }: QrCodeButtonProps) => { +export const QrCodeButton = ({ address }: QrCodeButtonProps) => { const [open, setOpen] = React.useState(false); const handleOpen = () => setOpen(true); @@ -28,5 +28,3 @@ const QrCodeButton = ({ address }: QrCodeButtonProps) => { ); }; - -export default QrCodeButton; diff --git a/apps/watcher/app/(home)/@address/page.tsx b/apps/watcher/app/(home)/@address/page.tsx index d694e240..082dac07 100644 --- a/apps/watcher/app/(home)/@address/page.tsx +++ b/apps/watcher/app/(home)/@address/page.tsx @@ -1,17 +1,17 @@ 'use client'; import React from 'react'; -import useSWR from 'swr'; import { Box, Card, FullCard, Grid, Typography } from '@rosen-bridge/ui-kit'; import { fetcher } from '@rosen-ui/swr-helpers'; - -import AddressSkeleton from './AddressSkeleton'; -import CopyButton from './CopyButton'; -import QrCodeButton from './QrCodeButton'; +import useSWR from 'swr'; import { ApiInfoResponse } from '@/_types/api'; +import { AddressSkeleton } from './AddressSkeleton'; +import { CopyButton } from './CopyButton'; +import { QrCodeButton } from './QrCodeButton'; + const Address = () => { const { data, isLoading } = useSWR('/info', fetcher); diff --git a/apps/watcher/app/(home)/@infoWidgets/InfoWidgetCard.tsx b/apps/watcher/app/(home)/@infoWidgets/InfoWidgetCard.tsx index 1a12ab33..e6e4f085 100644 --- a/apps/watcher/app/(home)/@infoWidgets/InfoWidgetCard.tsx +++ b/apps/watcher/app/(home)/@infoWidgets/InfoWidgetCard.tsx @@ -1,5 +1,6 @@ import { ReactNode } from 'react'; +import { Alert } from '@rosen-bridge/icons'; import { Box, Card, @@ -10,7 +11,6 @@ import { styled, } from '@rosen-bridge/ui-kit'; import { AugmentedPalette } from '@rosen-ui/types'; -import { Alert } from '@rosen-bridge/icons'; interface InfoWidgetCardBaseProps { widgetColor: keyof AugmentedPalette; @@ -27,11 +27,11 @@ interface InfoWidgetCardBaseProps { */ const InfoWidgetCardBase = styled(Card)( ({ theme, ...props }) => ({ - padding: theme.spacing(2), - backgroundColor: theme.palette[props.widgetColor].main, - color: theme.palette[props.widgetColor].contrastText, - display: 'flex', - gap: theme.spacing(2), + 'padding': theme.spacing(2), + 'backgroundColor': theme.palette[props.widgetColor].main, + 'color': theme.palette[props.widgetColor].contrastText, + 'display': 'flex', + 'gap': theme.spacing(2), '& .column': { display: 'flex', flexDirection: 'column', @@ -44,12 +44,12 @@ const InfoWidgetCardBase = styled(Card)( opacity: 0.75, }, '& .value': { - fontSize: theme.typography.h6.fontSize, - fontWeight: 'bold', - lineHeight: 1, - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', + 'fontSize': theme.typography.h6.fontSize, + 'fontWeight': 'bold', + 'lineHeight': 1, + 'display': 'flex', + 'justifyContent': 'space-between', + 'alignItems': 'center', '& span': { fontSize: '60%', fontWeight: 'normal', @@ -57,8 +57,8 @@ const InfoWidgetCardBase = styled(Card)( }, }, [theme.breakpoints.down('tablet')]: { - flexDirection: 'column', - alignItems: 'center', + 'flexDirection': 'column', + 'alignItems': 'center', '& p': { textAlign: 'center', }, @@ -85,7 +85,7 @@ interface InfoWidgetCardProps { * @param unit * @param value */ -const InfoWidgetCard = ({ +export const InfoWidgetCard = ({ color = 'secondary', icon, isLoading, @@ -125,5 +125,3 @@ const InfoWidgetCard = ({ ); }; - -export default InfoWidgetCard; diff --git a/apps/watcher/app/(home)/@infoWidgets/page.tsx b/apps/watcher/app/(home)/@infoWidgets/page.tsx index 30d9aef1..c284ccec 100644 --- a/apps/watcher/app/(home)/@infoWidgets/page.tsx +++ b/apps/watcher/app/(home)/@infoWidgets/page.tsx @@ -1,8 +1,6 @@ 'use client'; -import { upperFirst } from 'lodash-es'; import Image from 'next/image'; -import useSWR from 'swr'; import { LockAlt, @@ -10,20 +8,21 @@ import { ShieldExclamation, Wallet, } from '@rosen-bridge/icons'; -import { Box, Grid, SvgIcon, Typography } from '@rosen-bridge/ui-kit'; +import { Box, Grid, SvgIcon } from '@rosen-bridge/ui-kit'; import { healthStatusColorMap } from '@rosen-ui/constants'; import { fetcher } from '@rosen-ui/swr-helpers'; import { AugmentedPalette } from '@rosen-ui/types'; import { getDecimalString } from '@rosen-ui/utils'; +import { upperFirst } from 'lodash-es'; +import useSWR from 'swr'; -import InfoWidgetCard from './InfoWidgetCard'; - -import useRsnToken from '@/_hooks/useRsnToken'; -import useERsnToken from '@/_hooks/useERsnToken'; -import useToken from '@/_hooks/useToken'; - +import { useERsnToken } from '@/_hooks/useERsnToken'; +import { useRsnToken } from '@/_hooks/useRsnToken'; +import { useToken } from '@/_hooks/useToken'; import { ApiInfoResponse } from '@/_types/api'; +import { InfoWidgetCard } from './InfoWidgetCard'; + const InfoWidgets = () => { const { data, isLoading: isInfoLoading } = useSWR( '/info', diff --git a/apps/watcher/app/(home)/@revenue/PeriodSelect.tsx b/apps/watcher/app/(home)/@revenue/PeriodSelect.tsx index da1c173e..15c80449 100644 --- a/apps/watcher/app/(home)/@revenue/PeriodSelect.tsx +++ b/apps/watcher/app/(home)/@revenue/PeriodSelect.tsx @@ -15,7 +15,7 @@ interface PeriodSelectProps { * @param period * @param setPeriod */ -const PeriodSelect = ({ period, setPeriod }: PeriodSelectProps) => { +export const PeriodSelect = ({ period, setPeriod }: PeriodSelectProps) => { const [anchorElement, setAnchorElement] = useState( null, ); @@ -84,5 +84,3 @@ const PeriodSelect = ({ period, setPeriod }: PeriodSelectProps) => { ); }; - -export default PeriodSelect; diff --git a/apps/watcher/app/(home)/@revenue/RevenueChart.tsx b/apps/watcher/app/(home)/@revenue/RevenueChart.tsx index 6e06135f..916dcb9e 100644 --- a/apps/watcher/app/(home)/@revenue/RevenueChart.tsx +++ b/apps/watcher/app/(home)/@revenue/RevenueChart.tsx @@ -1,10 +1,10 @@ -import moment from 'moment'; import React, { useMemo } from 'react'; import Chart from 'react-apexcharts'; import { useTheme } from '@rosen-bridge/ui-kit'; import { ChartPeriod } from '@rosen-ui/types'; import { getDecimalString, roundToPrecision } from '@rosen-ui/utils'; +import moment from 'moment'; import { ApiRevenueChartResponse } from '@/_types/api'; @@ -63,7 +63,7 @@ interface RevenueChartProps { * @param period * @param data */ -const RevenueChart = ({ period, data }: RevenueChartProps) => { +export const RevenueChart = ({ period, data }: RevenueChartProps) => { const theme = useTheme(); const reversedData = useMemo( @@ -138,5 +138,3 @@ const RevenueChart = ({ period, data }: RevenueChartProps) => { /> ); }; - -export default RevenueChart; diff --git a/apps/watcher/app/(home)/@revenue/RevenueChartSkeleton.tsx b/apps/watcher/app/(home)/@revenue/RevenueChartSkeleton.tsx index a11533c2..6b2cbc49 100644 --- a/apps/watcher/app/(home)/@revenue/RevenueChartSkeleton.tsx +++ b/apps/watcher/app/(home)/@revenue/RevenueChartSkeleton.tsx @@ -3,8 +3,6 @@ import { Skeleton } from '@rosen-bridge/ui-kit'; /** * render a skeleton element for `RevenueChart` */ -const RevenueChartSkeleton = () => ( +export const RevenueChartSkeleton = () => ( ); - -export default RevenueChartSkeleton; diff --git a/apps/watcher/app/(home)/@revenue/page.tsx b/apps/watcher/app/(home)/@revenue/page.tsx index d2f97d58..3708fc95 100644 --- a/apps/watcher/app/(home)/@revenue/page.tsx +++ b/apps/watcher/app/(home)/@revenue/page.tsx @@ -2,22 +2,25 @@ import dynamic from 'next/dynamic'; import React, { useState } from 'react'; -import useSWR from 'swr'; import { FullCard } from '@rosen-bridge/ui-kit'; import { fetcher } from '@rosen-ui/swr-helpers'; import { ChartPeriod } from '@rosen-ui/types'; - -import PeriodSelect from './PeriodSelect'; -import RevenueChartSkeleton from './RevenueChartSkeleton'; +import useSWR from 'swr'; import { ApiRevenueChartResponse } from '@/_types/api'; +import { PeriodSelect } from './PeriodSelect'; +import { RevenueChartSkeleton } from './RevenueChartSkeleton'; + /** * This is required because revenue chart cannot be pre-rendered in next and * throws an error */ -const RevenueChart = dynamic(() => import('./RevenueChart'), { ssr: false }); +const RevenueChart = dynamic( + () => import('./RevenueChart').then((mod) => mod.RevenueChart), + { ssr: false }, +); const Revenue = () => { const [period, setPeriod] = useState('week'); diff --git a/apps/watcher/app/(home)/@tokens/page.tsx b/apps/watcher/app/(home)/@tokens/page.tsx index 2c841623..4ca23bf0 100644 --- a/apps/watcher/app/(home)/@tokens/page.tsx +++ b/apps/watcher/app/(home)/@tokens/page.tsx @@ -1,9 +1,8 @@ 'use client'; -import useSWR from 'swr'; - import { TokensCard } from '@rosen-bridge/ui-kit'; import { fetcher } from '@rosen-ui/swr-helpers'; +import useSWR from 'swr'; import { ApiAddressAssetsResponse } from '@/_types/api'; diff --git a/apps/watcher/app/App.tsx b/apps/watcher/app/App.tsx index a53bf690..5a5a0e71 100644 --- a/apps/watcher/app/App.tsx +++ b/apps/watcher/app/App.tsx @@ -1,14 +1,13 @@ 'use client'; import React, { useEffect } from 'react'; -import SWRConfig from '@rosen-ui/swr-mock'; /** * FIXME: import NoSsr from ui-kit * local:ergo/rosen-bridge/ui#193 */ import { NoSsr } from '@mui/material'; - +import { ApiKeyContextProvider } from '@rosen-bridge/shared-contexts'; import { AppSnackbar, styled, @@ -16,16 +15,14 @@ import { ThemeProvider, CssBaseline, } from '@rosen-bridge/ui-kit'; -import { ApiKeyContextProvider } from '@rosen-bridge/shared-contexts'; - -import { SideBar } from './SideBar'; -import Toolbar from './Toolbar'; +import { SWRConfig } from '@rosen-ui/swr-mock'; +import { upperFirst } from 'lodash-es'; +import { useInfo } from './_hooks/useInfo'; +import { mockedData } from './_mock/mockedData'; import { theme } from './_theme/theme'; - -import mockedData from './_mock/mockedData'; -import useInfo from './_hooks/useInfo'; -import { upperFirst } from 'lodash-es'; +import { SideBar } from './SideBar'; +import { Toolbar } from './Toolbar'; const Root = styled('div')(({ theme }) => ({ width: '100vw', @@ -72,7 +69,7 @@ interface AppProps { children?: React.ReactNode; } -const App = ({ children }: AppProps) => { +export const App = ({ children }: AppProps) => { const { data: info } = useInfo(); /** @@ -126,5 +123,3 @@ const App = ({ children }: AppProps) => { ); }; - -export default App; diff --git a/apps/watcher/app/SideBar.tsx b/apps/watcher/app/SideBar.tsx index ffd16161..e40af801 100644 --- a/apps/watcher/app/SideBar.tsx +++ b/apps/watcher/app/SideBar.tsx @@ -10,9 +10,8 @@ import { } from '@rosen-bridge/icons'; import { AppBar, AppLogo } from '@rosen-bridge/ui-kit'; -import useInfo from './_hooks/useInfo'; - import packageJson from '../package.json'; +import { useInfo } from './_hooks/useInfo'; /** * render sidebar log and navigation buttons diff --git a/apps/watcher/app/Toolbar.tsx b/apps/watcher/app/Toolbar.tsx index af211f1e..cc0e810e 100644 --- a/apps/watcher/app/Toolbar.tsx +++ b/apps/watcher/app/Toolbar.tsx @@ -5,27 +5,26 @@ import { ToolbarThemeTogglerAction, Toolbar as UiKitToolbar, } from '@rosen-bridge/ui-kit'; - -import ApiKeyModal from './_modals/ApiKeyModal'; +import { ApiKeyModal } from '@rosen-bridge/ui-kit'; const pageTitleMap: Record = { '(home)': 'Home', - actions: 'Actions', - events: 'Events', - health: 'Health', - observations: 'Observations', - revenues: 'Revenues', + 'actions': 'Actions', + 'events': 'Events', + 'health': 'Health', + 'observations': 'Observations', + 'revenues': 'Revenues', }; /** * render toolbar containing page title and some actions */ -const Toolbar = () => { +export const Toolbar = () => { const page = useSelectedLayoutSegment(); return ( @@ -35,5 +34,3 @@ const Toolbar = () => { /> ); }; - -export default Toolbar; diff --git a/apps/watcher/app/_components/HomeActionButton.tsx b/apps/watcher/app/_components/HomeActionButton.tsx index e005e4e1..d10d51dd 100644 --- a/apps/watcher/app/_components/HomeActionButton.tsx +++ b/apps/watcher/app/_components/HomeActionButton.tsx @@ -7,16 +7,16 @@ import { Button, styled } from '@rosen-bridge/ui-kit'; * render an action button containing some possible children */ const HomeActionButtonBase = styled(Button)(({ theme }) => ({ - display: 'flex', - flexDirection: 'column', - gap: theme.spacing(0.5), - color: + 'display': 'flex', + 'flexDirection': 'column', + 'gap': theme.spacing(0.5), + 'color': theme.palette.mode === 'light' ? theme.palette.primary.dark : theme.palette.text.primary, - opacity: 0.8, - fontSize: theme.typography.subtitle2.fontSize, - flexBasis: '20%', + 'opacity': 0.8, + 'fontSize': theme.typography.subtitle2.fontSize, + 'flexBasis': '20%', '&:hover': { opacity: 1, backgroundColor: 'transparent', @@ -48,7 +48,7 @@ interface HomeActionButtonProps { * @param action * @param disabled */ -const HomeActionButton = ({ +export const HomeActionButton = ({ label, icon, action, @@ -66,5 +66,3 @@ const HomeActionButton = ({ ); }; - -export default HomeActionButton; diff --git a/apps/watcher/app/_hooks/useERsnToken.ts b/apps/watcher/app/_hooks/useERsnToken.ts index 010fa456..ab5d0563 100644 --- a/apps/watcher/app/_hooks/useERsnToken.ts +++ b/apps/watcher/app/_hooks/useERsnToken.ts @@ -1,15 +1,14 @@ -import useSWR from 'swr'; - import { fetcher } from '@rosen-ui/swr-helpers'; - -import useToken from './useToken'; +import useSWR from 'swr'; import { ApiInfoResponse } from '@/_types/api'; +import { useToken } from './useToken'; + /** * fetch ersn token info (if present) */ -const useERsnToken = () => { +export const useERsnToken = () => { const { data: info, isLoading: isInfoLoading } = useSWR( '/info', fetcher, @@ -24,5 +23,3 @@ const useERsnToken = () => { isLoading: isInfoLoading || isERsnInfoLoading, }; }; - -export default useERsnToken; diff --git a/apps/watcher/app/_hooks/useInfo.ts b/apps/watcher/app/_hooks/useInfo.ts index d9605c9f..5ef120a8 100644 --- a/apps/watcher/app/_hooks/useInfo.ts +++ b/apps/watcher/app/_hooks/useInfo.ts @@ -6,6 +6,4 @@ import { ApiInfoResponse } from '@/_types/api'; /** * wrap useSWR for fetching info api */ -const useInfo = () => useSWR('/info', fetcher); - -export default useInfo; +export const useInfo = () => useSWR('/info', fetcher); diff --git a/apps/watcher/app/_hooks/useRsnToken.ts b/apps/watcher/app/_hooks/useRsnToken.ts index ad5d798a..5960c024 100644 --- a/apps/watcher/app/_hooks/useRsnToken.ts +++ b/apps/watcher/app/_hooks/useRsnToken.ts @@ -1,15 +1,14 @@ -import useSWR from 'swr'; - import { fetcher } from '@rosen-ui/swr-helpers'; - -import useToken from './useToken'; +import useSWR from 'swr'; import { ApiInfoResponse } from '@/_types/api'; +import { useToken } from './useToken'; + /** * fetch rsn token info (if present) */ -const useRsnToken = () => { +export const useRsnToken = () => { const { data: info, isLoading: isInfoLoading } = useSWR( '/info', fetcher, @@ -24,5 +23,3 @@ const useRsnToken = () => { isLoading: isInfoLoading || isRsnInfoLoading, }; }; - -export default useRsnToken; diff --git a/apps/watcher/app/_hooks/useToken.ts b/apps/watcher/app/_hooks/useToken.ts index 29eb51bc..4c53c0e7 100644 --- a/apps/watcher/app/_hooks/useToken.ts +++ b/apps/watcher/app/_hooks/useToken.ts @@ -1,13 +1,12 @@ -import useSWR from 'swr'; - import { fetcher } from '@rosen-ui/swr-helpers'; +import useSWR from 'swr'; import { ApiAddressAssetsResponse } from '@/_types/api'; /** * fetch a token info (if present) */ -const useToken = (tokenId: string | undefined) => { +export const useToken = (tokenId: string | undefined) => { const { data, isLoading } = useSWR( tokenId ? [ @@ -25,5 +24,3 @@ const useToken = (tokenId: string | undefined) => { isLoading, }; }; - -export default useToken; diff --git a/apps/watcher/app/_mock/mockedData.ts b/apps/watcher/app/_mock/mockedData.ts index eea5aa6f..98f26758 100644 --- a/apps/watcher/app/_mock/mockedData.ts +++ b/apps/watcher/app/_mock/mockedData.ts @@ -1,11 +1,9 @@ -import moment from 'moment'; - import { NETWORKS } from '@rosen-ui/constants'; import { SWRConfigProps } from '@rosen-ui/swr-mock'; import { ChartPeriod } from '@rosen-ui/types'; +import moment from 'moment'; import { ApiPermitReturnResponse, Event } from '@/_types/api'; - import { ApiEventResponse, ApiAddressAssetsResponse, @@ -386,7 +384,7 @@ const events: ApiEventResponse = { items: generateEventRecords(100), }; -const mockedData: SWRConfigProps['fakeData'] = { +export const mockedData: SWRConfigProps['fakeData'] = { withStringKeys: { '/info': info, '/health/status': healthStatus, @@ -429,5 +427,3 @@ const mockedData: SWRConfigProps['fakeData'] = { }, }, }; - -export default mockedData; diff --git a/apps/watcher/app/_modals/ApiKeyModal.tsx b/apps/watcher/app/_modals/ApiKeyModal.tsx deleted file mode 100644 index 6fc4fa65..00000000 --- a/apps/watcher/app/_modals/ApiKeyModal.tsx +++ /dev/null @@ -1,129 +0,0 @@ -import { FormEvent, useEffect, useState } from 'react'; - -import { KeySkeleton, Eye, EyeSlash, Times } from '@rosen-bridge/icons'; -import { useForm, Controller } from 'react-hook-form'; -import { useModalManager } from '@rosen-ui/common-hooks'; - -import { - Button, - Dialog, - DialogActions, - DialogContent, - DialogTitle, - Tooltip, - IconButton, - InputAdornment, - SvgIcon, - TextField, - Typography, - useSnackbar, -} from '@rosen-bridge/ui-kit'; - -import { useApiKey } from '@rosen-bridge/shared-contexts'; - -interface FormValues { - apiKey: string; -} - -export interface ApiKeyModalProps { - children?: (open: () => void) => React.ReactNode; -} - -const ApiKeyModal = ({ children }: ApiKeyModalProps) => { - const { apiKey, setApiKey } = useApiKey(); - const { openSnackbar } = useSnackbar(); - - const { isOpen, handleOpenModal, handleCloseModal } = useModalManager(); - - const [showKey, setShowKey] = useState(false); - const handleToggleShowKey = () => setShowKey((prevState) => !prevState); - - const { control, handleSubmit, reset, setValue } = useForm({ - defaultValues: { - apiKey: apiKey || '', - }, - }); - - const handleSetKey = (values: FormValues) => { - setApiKey(values.apiKey); - handleCloseModal(); - openSnackbar('Api key is set!', 'success'); - }; - - const onSubmit = (event: FormEvent) => { - event.stopPropagation(); - handleSubmit(handleSetKey)(event); - }; - - useEffect(() => { - isOpen && setValue('apiKey', apiKey || ''); - }, [apiKey, isOpen, setValue]); - - return ( - <> - {children?.(handleOpenModal) || ( - - - - - - )} - - Authorization -
- - Set API key to access actions - ( - - - reset()}> - - - - - - - - - {showKey ? : } - - - - - ), - }} - /> - )} - > - - - - - -
-
- - ); -}; - -export default ApiKeyModal; diff --git a/apps/watcher/app/_theme/theme.ts b/apps/watcher/app/_theme/theme.ts index aa9e27be..3e333e2d 100644 --- a/apps/watcher/app/_theme/theme.ts +++ b/apps/watcher/app/_theme/theme.ts @@ -243,7 +243,7 @@ const create = (baseTheme: Theme) => }, body: { [baseTheme.breakpoints.down('tablet')]: { - verticalAlign: 'top', + 'verticalAlign': 'top', '&:not(.MuiTableCell-paddingNone)': { padding: baseTheme.spacing(1), }, @@ -253,12 +253,12 @@ const create = (baseTheme: Theme) => }, }, head: { - backgroundColor: + 'backgroundColor': baseTheme.palette.mode === 'light' ? baseTheme.palette.primary.dark : '#ffffff11', - color: baseTheme.palette.primary.contrastText, - whiteSpace: 'noWrap', + 'color': baseTheme.palette.primary.contrastText, + 'whiteSpace': 'noWrap', '&:nth-of-type(1)': { borderTopLeftRadius: baseTheme.shape.borderRadius, borderBottomLeftRadius: baseTheme.shape.borderRadius / 2, @@ -272,7 +272,7 @@ const create = (baseTheme: Theme) => }, }, footer: { - backgroundColor: + 'backgroundColor': baseTheme.palette.mode === 'light' ? '#00000011' : '#ffffff11', '&:nth-of-type(1)': { borderTopLeftRadius: baseTheme.shape.borderRadius / 2, diff --git a/apps/watcher/app/actions/@form/lock/page.tsx b/apps/watcher/app/actions/@form/lock/page.tsx index 8bb5884e..6372a8dd 100644 --- a/apps/watcher/app/actions/@form/lock/page.tsx +++ b/apps/watcher/app/actions/@form/lock/page.tsx @@ -2,9 +2,9 @@ import React, { useState, useEffect, useMemo, ReactNode } from 'react'; import { FormProvider, SubmitHandler, useForm } from 'react-hook-form'; -import useSWR from 'swr'; -import useSWRMutation from 'swr/mutation'; +import { Alert } from '@rosen-bridge/icons'; +import { useApiKey } from '@rosen-bridge/shared-contexts'; import { AlertCard, AlertProps, @@ -15,31 +15,30 @@ import { SubmitButton, Typography, } from '@rosen-bridge/ui-kit'; +import { ApiKeyModal } from '@rosen-bridge/ui-kit'; +import { NETWORKS } from '@rosen-ui/constants'; import { mutatorWithHeaders, fetcher } from '@rosen-ui/swr-helpers'; import { getNonDecimalString, getDecimalString, getTxURL, } from '@rosen-ui/utils'; +import useSWR from 'swr'; +import useSWRMutation from 'swr/mutation'; -import ConfirmationModal from '../../ConfirmationModal'; -import TokenAmountTextField, { - TokenAmountCompatibleFormSchema, -} from '../../TokenAmountTextField'; - -import { Alert } from '@rosen-bridge/icons'; - -import { useApiKey } from '@rosen-bridge/shared-contexts'; -import useRsnToken from '@/_hooks/useRsnToken'; -import useToken from '@/_hooks/useToken'; - +import { useRsnToken } from '@/_hooks/useRsnToken'; +import { useToken } from '@/_hooks/useToken'; import { ApiPermitRequestBody, ApiPermitResponse, ApiInfoResponse, } from '@/_types/api'; -import ApiKeyModal from '@/_modals/ApiKeyModal'; -import { NETWORKS } from '@rosen-ui/constants'; + +import { ConfirmationModal } from '../../ConfirmationModal'; +import { + TokenAmountTextField, + TokenAmountCompatibleFormSchema, +} from '../../TokenAmountTextField'; const LockForm = () => { const { rsnToken, isLoading: isRsnTokenLoading } = useRsnToken(); diff --git a/apps/watcher/app/actions/@form/unlock/page.tsx b/apps/watcher/app/actions/@form/unlock/page.tsx index c1016310..7a28b156 100644 --- a/apps/watcher/app/actions/@form/unlock/page.tsx +++ b/apps/watcher/app/actions/@form/unlock/page.tsx @@ -2,9 +2,9 @@ import React, { useMemo, useState, useEffect } from 'react'; import { FormProvider, SubmitHandler, useForm } from 'react-hook-form'; -import useSWR from 'swr'; -import useSWRMutation from 'swr/mutation'; +import { Alert } from '@rosen-bridge/icons'; +import { useApiKey } from '@rosen-bridge/shared-contexts'; import { AlertCard, AlertProps, @@ -14,26 +14,25 @@ import { SubmitButton, Button, } from '@rosen-bridge/ui-kit'; +import { ApiKeyModal } from '@rosen-bridge/ui-kit'; import { fetcher, mutatorWithHeaders } from '@rosen-ui/swr-helpers'; import { TokenInfo } from '@rosen-ui/types'; import { getNonDecimalString } from '@rosen-ui/utils'; +import useSWR from 'swr'; +import useSWRMutation from 'swr/mutation'; -import { Alert } from '@rosen-bridge/icons'; - -import ConfirmationModal from '../../ConfirmationModal'; -import TokenAmountTextField, { - TokenAmountCompatibleFormSchema, -} from '../../TokenAmountTextField'; - -import { useApiKey } from '@rosen-bridge/shared-contexts'; -import useRsnToken from '@/_hooks/useRsnToken'; - +import { useRsnToken } from '@/_hooks/useRsnToken'; import { ApiInfoResponse, ApiPermitReturnRequestBody, ApiPermitReturnResponse, } from '@/_types/api'; -import ApiKeyModal from '@/_modals/ApiKeyModal'; + +import { ConfirmationModal } from '../../ConfirmationModal'; +import { + TokenAmountTextField, + TokenAmountCompatibleFormSchema, +} from '../../TokenAmountTextField'; const UnlockForm = () => { const { data: info, isLoading: isInfoLoading } = useSWR( diff --git a/apps/watcher/app/actions/@form/withdraw/page.tsx b/apps/watcher/app/actions/@form/withdraw/page.tsx index 8c2be97a..a0161bb7 100644 --- a/apps/watcher/app/actions/@form/withdraw/page.tsx +++ b/apps/watcher/app/actions/@form/withdraw/page.tsx @@ -7,9 +7,9 @@ import { useController, useForm, } from 'react-hook-form'; -import useSWR from 'swr'; -import useSWRMutation from 'swr/mutation'; +import { Alert } from '@rosen-bridge/icons'; +import { useApiKey } from '@rosen-bridge/shared-contexts'; import { AlertCard, AlertProps, @@ -24,26 +24,25 @@ import { TextField, Button, } from '@rosen-bridge/ui-kit'; +import { ApiKeyModal } from '@rosen-bridge/ui-kit'; import { TOKEN_NAME_PLACEHOLDER } from '@rosen-ui/constants'; import { fetcher, mutatorWithHeaders } from '@rosen-ui/swr-helpers'; import { getNonDecimalString } from '@rosen-ui/utils'; +import useSWR from 'swr'; +import useSWRMutation from 'swr/mutation'; -import { Alert } from '@rosen-bridge/icons'; - -import ConfirmationModal from '../../ConfirmationModal'; -import TokenAmountTextField, { - TokenAmountCompatibleFormSchema, -} from '../../TokenAmountTextField'; - -import useToken from '@/_hooks/useToken'; -import { useApiKey } from '@rosen-bridge/shared-contexts'; - +import { useToken } from '@/_hooks/useToken'; import { ApiAddressAssetsResponse, ApiWithdrawRequestBody, ApiWithdrawResponse, } from '@/_types/api'; -import ApiKeyModal from '@/_modals/ApiKeyModal'; + +import { ConfirmationModal } from '../../ConfirmationModal'; +import { + TokenAmountTextField, + TokenAmountCompatibleFormSchema, +} from '../../TokenAmountTextField'; interface Form extends TokenAmountCompatibleFormSchema { address: string; diff --git a/apps/watcher/app/actions/@text/lock/page.tsx b/apps/watcher/app/actions/@text/lock/page.tsx index d6da2d29..12d777b6 100644 --- a/apps/watcher/app/actions/@text/lock/page.tsx +++ b/apps/watcher/app/actions/@text/lock/page.tsx @@ -1,19 +1,18 @@ 'use client'; import React from 'react'; -import useSWR from 'swr'; import { CircularProgress, Typography } from '@rosen-bridge/ui-kit'; import { fetcher } from '@rosen-ui/swr-helpers'; import { getDecimalString } from '@rosen-ui/utils'; +import useSWR from 'swr'; -import ActionText from '../../ActionText'; - -import useToken from '@/_hooks/useToken'; -import useRsnToken from '@/_hooks/useRsnToken'; - +import { useRsnToken } from '@/_hooks/useRsnToken'; +import { useToken } from '@/_hooks/useToken'; import { ApiInfoResponse } from '@/_types/api'; +import { ActionText } from '../../ActionText'; + const LockText = () => { const { data: info, isLoading: isInfoLoading } = useSWR( '/info', diff --git a/apps/watcher/app/actions/@text/unlock/page.tsx b/apps/watcher/app/actions/@text/unlock/page.tsx index 256770c7..6de73d5f 100644 --- a/apps/watcher/app/actions/@text/unlock/page.tsx +++ b/apps/watcher/app/actions/@text/unlock/page.tsx @@ -1,15 +1,15 @@ 'use client'; import React from 'react'; -import useSWR from 'swr'; import { Typography } from '@rosen-bridge/ui-kit'; import { fetcher } from '@rosen-ui/swr-helpers'; - -import ActionText from '../../ActionText'; +import useSWR from 'swr'; import { ApiInfoResponse } from '@/_types/api'; +import { ActionText } from '../../ActionText'; + const LockText = () => { const { data: info, isLoading: isInfoLoading } = useSWR( '/info', diff --git a/apps/watcher/app/actions/@text/withdraw/page.tsx b/apps/watcher/app/actions/@text/withdraw/page.tsx index 446c20ce..78c3d7f1 100644 --- a/apps/watcher/app/actions/@text/withdraw/page.tsx +++ b/apps/watcher/app/actions/@text/withdraw/page.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { Typography } from '@rosen-bridge/ui-kit'; -import ActionText from '../../ActionText'; +import { ActionText } from '../../ActionText'; const WithdrawalText = () => { return ( diff --git a/apps/watcher/app/actions/ActionText.tsx b/apps/watcher/app/actions/ActionText.tsx index 3f20a063..35a0113b 100644 --- a/apps/watcher/app/actions/ActionText.tsx +++ b/apps/watcher/app/actions/ActionText.tsx @@ -10,7 +10,7 @@ interface ActionText { * render a card showing some text to be used in actions page * @param children */ -const ActionText = ({ title, children }: ActionText) => ( +export const ActionText = ({ title, children }: ActionText) => ( ( {children} ); - -export default ActionText; diff --git a/apps/watcher/app/actions/ConfirmationModal.tsx b/apps/watcher/app/actions/ConfirmationModal.tsx index 6566b13d..2e37fd65 100644 --- a/apps/watcher/app/actions/ConfirmationModal.tsx +++ b/apps/watcher/app/actions/ConfirmationModal.tsx @@ -27,7 +27,7 @@ interface ConfirmationModalProps { * @param onConfirm * @param handleClose */ -const ConfirmationModal = ({ +export const ConfirmationModal = ({ open, title, content, @@ -66,5 +66,3 @@ const ConfirmationModal = ({ ); }; - -export default ConfirmationModal; diff --git a/apps/watcher/app/actions/ToggleButton.tsx b/apps/watcher/app/actions/ToggleButton.tsx index 8bf648c3..c0c1de26 100644 --- a/apps/watcher/app/actions/ToggleButton.tsx +++ b/apps/watcher/app/actions/ToggleButton.tsx @@ -10,15 +10,15 @@ import { * wrap `UiKitToggleButton` to add some styling */ const ToggleButtonBase = styled(UiKitToggleButton)(({ theme }) => ({ - minWidth: 100, - borderWidth: 0, - borderBottomRightRadius: 0, - borderBottomLeftRadius: 0, - display: 'flex', - flexDirection: 'column', - gap: theme.spacing(1), - color: 'white', - opacity: 0.8, + 'minWidth': 100, + 'borderWidth': 0, + 'borderBottomRightRadius': 0, + 'borderBottomLeftRadius': 0, + 'display': 'flex', + 'flexDirection': 'column', + 'gap': theme.spacing(1), + 'color': 'white', + 'opacity': 0.8, '&:hover': { opacity: 1, }, @@ -43,7 +43,7 @@ interface CustomToggleButtonProps extends ToggleButtonProps { * @param label * @param icon */ -const ToggleButton = ({ +export const ToggleButton = ({ label, icon, ...restProps @@ -54,5 +54,3 @@ const ToggleButton = ({ ); }; - -export default ToggleButton; diff --git a/apps/watcher/app/actions/TokenAmountTextField.tsx b/apps/watcher/app/actions/TokenAmountTextField.tsx index f07b0de0..7e6a9109 100644 --- a/apps/watcher/app/actions/TokenAmountTextField.tsx +++ b/apps/watcher/app/actions/TokenAmountTextField.tsx @@ -31,7 +31,7 @@ interface TokenAmountTextFieldProps { * @param loading * @param token */ -const TokenAmountTextField = ({ +export const TokenAmountTextField = ({ disabled, loading, token, @@ -124,5 +124,3 @@ const TokenAmountTextField = ({ /> ); }; - -export default TokenAmountTextField; diff --git a/apps/watcher/app/actions/layout.tsx b/apps/watcher/app/actions/layout.tsx index f269e6b1..24249ddd 100644 --- a/apps/watcher/app/actions/layout.tsx +++ b/apps/watcher/app/actions/layout.tsx @@ -17,11 +17,10 @@ import { styled, Grid, } from '@rosen-bridge/ui-kit'; - -import ToggleButton from './ToggleButton'; - import { LayoutProps } from '@rosen-ui/types'; +import { ToggleButton } from './ToggleButton'; + /** * render a box which is scrollable in mobile devices */ diff --git a/apps/watcher/app/events/TableRow.tsx b/apps/watcher/app/events/TableRow.tsx index df9f76eb..ae7025d9 100644 --- a/apps/watcher/app/events/TableRow.tsx +++ b/apps/watcher/app/events/TableRow.tsx @@ -1,5 +1,6 @@ import { useState, FC, useMemo } from 'react'; +import { AngleDown, AngleUp } from '@rosen-bridge/icons'; import { Button, EnhancedTableCell, @@ -9,8 +10,6 @@ import { } from '@rosen-bridge/ui-kit'; import { getDecimalString, getTxURL } from '@rosen-ui/utils'; -import { AngleDown, AngleUp } from '@rosen-bridge/icons'; - import { Event } from '@/_types/api'; interface RowProps extends Event { diff --git a/apps/watcher/app/events/TableSkeleton.tsx b/apps/watcher/app/events/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/watcher/app/events/TableSkeleton.tsx +++ b/apps/watcher/app/events/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/watcher/app/events/page.tsx b/apps/watcher/app/events/page.tsx index 93c16088..14b11099 100644 --- a/apps/watcher/app/events/page.tsx +++ b/apps/watcher/app/events/page.tsx @@ -1,4 +1,5 @@ 'use client'; + import { MouseEvent, useCallback, useMemo } from 'react'; import { @@ -8,11 +9,11 @@ import { useTableDataPagination, } from '@rosen-bridge/ui-kit'; -import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; - import { ApiEventResponse, Event } from '@/_types/api'; +import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; +import { TableSkeleton } from './TableSkeleton'; + const getKey = (offset: number, limit: number) => { return ['/events', { offset, limit }]; }; diff --git a/apps/watcher/app/health/page.tsx b/apps/watcher/app/health/page.tsx index 51cc0839..7cbab549 100644 --- a/apps/watcher/app/health/page.tsx +++ b/apps/watcher/app/health/page.tsx @@ -1,7 +1,6 @@ 'use client'; import { useCallback, useState } from 'react'; -import useSWR from 'swr'; import { Grid, @@ -9,13 +8,13 @@ import { HealthParamCardSkeleton, useSnackbar, } from '@rosen-bridge/ui-kit'; +import { HEALTH_DATA_REFRESH_INTERVAL } from '@rosen-ui/constants'; import { fetcher } from '@rosen-ui/swr-helpers'; import { HealthParamInfo } from '@rosen-ui/types'; +import useSWR from 'swr'; import { ApiHealthStatusResponse } from '@/_types/api'; -import { HEALTH_DATA_REFRESH_INTERVAL } from '@rosen-ui/constants'; - const Health = () => { const [checking, setChecking] = useState([]); diff --git a/apps/watcher/app/layout.tsx b/apps/watcher/app/layout.tsx index ccc79593..628afa40 100644 --- a/apps/watcher/app/layout.tsx +++ b/apps/watcher/app/layout.tsx @@ -1,6 +1,7 @@ -import React from 'react'; -import App from './App'; import { Metadata } from 'next'; +import React from 'react'; + +import { App } from './App'; export const metadata: Metadata = { title: 'Watcher', diff --git a/apps/watcher/app/observations/TableRow.tsx b/apps/watcher/app/observations/TableRow.tsx index a748723c..19753b62 100644 --- a/apps/watcher/app/observations/TableRow.tsx +++ b/apps/watcher/app/observations/TableRow.tsx @@ -1,5 +1,6 @@ import { useState, FC, useMemo } from 'react'; +import { AngleDown, AngleUp } from '@rosen-bridge/icons'; import { Button, EnhancedTableCell, @@ -9,8 +10,6 @@ import { } from '@rosen-bridge/ui-kit'; import { getDecimalString, getTxURL } from '@rosen-ui/utils'; -import { AngleDown, AngleUp } from '@rosen-bridge/icons'; - import { Observation } from '@/_types/api'; interface RowProps extends Observation { diff --git a/apps/watcher/app/observations/TableSkeleton.tsx b/apps/watcher/app/observations/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/watcher/app/observations/TableSkeleton.tsx +++ b/apps/watcher/app/observations/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/watcher/app/observations/page.tsx b/apps/watcher/app/observations/page.tsx index 0edc103c..bf4fb5a6 100644 --- a/apps/watcher/app/observations/page.tsx +++ b/apps/watcher/app/observations/page.tsx @@ -1,4 +1,5 @@ 'use client'; + import { MouseEvent, useCallback, useMemo } from 'react'; import { @@ -8,11 +9,11 @@ import { useTableDataPagination, } from '@rosen-bridge/ui-kit'; -import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; - import { ApiObservationResponse, Observation } from '@/_types/api'; +import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; +import { TableSkeleton } from './TableSkeleton'; + const getKey = (offset: number, limit: number) => { return ['/observation', { offset, limit }]; }; diff --git a/apps/watcher/app/revenues/TableRow.tsx b/apps/watcher/app/revenues/TableRow.tsx index 22d97c41..84c973be 100644 --- a/apps/watcher/app/revenues/TableRow.tsx +++ b/apps/watcher/app/revenues/TableRow.tsx @@ -1,14 +1,12 @@ import { useState, FC, useMemo } from 'react'; +import { AngleDown, AngleUp } from '@rosen-bridge/icons'; import { Button, EnhancedTableCell, Id, TableRow } from '@rosen-bridge/ui-kit'; import { getDecimalString } from '@rosen-ui/utils'; -import { AngleDown, AngleUp } from '@rosen-bridge/icons'; - -import useRsnToken from '@/_hooks/useRsnToken'; - +import { useERsnToken } from '@/_hooks/useERsnToken'; +import { useRsnToken } from '@/_hooks/useRsnToken'; import { Revenue } from '@/_types/api'; -import useERsnToken from '@/_hooks/useERsnToken'; interface RowProps extends Revenue { isLoading?: boolean; diff --git a/apps/watcher/app/revenues/TableSkeleton.tsx b/apps/watcher/app/revenues/TableSkeleton.tsx index 0a760bc4..174cc526 100644 --- a/apps/watcher/app/revenues/TableSkeleton.tsx +++ b/apps/watcher/app/revenues/TableSkeleton.tsx @@ -13,7 +13,7 @@ interface TableSkeletonProps { numberOfItems: number; } -const TableSkeleton: FC = (props) => { +export const TableSkeleton: FC = (props) => { const renderMobileRow = useCallback( () => ( @@ -65,5 +65,3 @@ const TableSkeleton: FC = (props) => { /> ); }; - -export default TableSkeleton; diff --git a/apps/watcher/app/revenues/page.tsx b/apps/watcher/app/revenues/page.tsx index c49c80ac..fbc655e1 100644 --- a/apps/watcher/app/revenues/page.tsx +++ b/apps/watcher/app/revenues/page.tsx @@ -1,4 +1,5 @@ 'use client'; + import { MouseEvent, useCallback, useMemo } from 'react'; import { @@ -8,11 +9,11 @@ import { TablePaginationProps, } from '@rosen-bridge/ui-kit'; -import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; -import TableSkeleton from './TableSkeleton'; - import { ApiRevenueResponse, Revenue } from '@/_types/api'; +import { MobileRow, TabletRow, mobileHeader, tabletHeader } from './TableRow'; +import { TableSkeleton } from './TableSkeleton'; + const getKey = (offset: number, limit: number) => { return ['/revenue', { offset, limit }]; }; diff --git a/apps/watcher/package.json b/apps/watcher/package.json index bb045a99..811a3f40 100644 --- a/apps/watcher/package.json +++ b/apps/watcher/package.json @@ -1,9 +1,9 @@ { "name": "@rosen-bridge/watcher-app", - "version": "2.6.0", + "version": "3.0.0", "private": true, "scripts": { - "prettify": "prettier --write . --ignore-path ./.gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "next lint --fix && npm run prettify", "type-check": "tsc --noEmit", "dev": "next dev", @@ -17,11 +17,11 @@ "@rosen-bridge/icons": "^0.6.0", "@rosen-bridge/json-bigint": "^0.1.0", "@rosen-bridge/shared-contexts": "^0.0.1", - "@rosen-bridge/ui-kit": "^1.5.2", + "@rosen-bridge/ui-kit": "^1.5.3", "@rosen-ui/common-hooks": "^0.1.0", "@rosen-ui/constants": "^0.0.5", "@rosen-ui/swr-helpers": "^0.2.0", - "@rosen-ui/swr-mock": "^0.0.1", + "@rosen-ui/swr-mock": "^0.0.2", "@rosen-ui/utils": "^0.4.1", "lodash-es": "^4.17.21", "moment": "^2.29.4", @@ -43,9 +43,6 @@ "@types/react-dom": "18.2.4", "eslint": "8.42.0", "eslint-config-next": "13.4.4", - "eslint-config-prettier": "^9.0.0", - "lint-staged": "^13.2.2", - "prettier": "^3.0.2", "typescript": "^5.3.3" } } diff --git a/apps/watcher/src-tauri/.gitignore b/apps/watcher/src-tauri/.gitignore deleted file mode 100644 index aba21e24..00000000 --- a/apps/watcher/src-tauri/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..e4b9a796 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,81 @@ +import pluginJs from '@eslint/js'; +import typescriptEslint from '@typescript-eslint/eslint-plugin'; +import typescriptParser from '@typescript-eslint/parser'; +import prettier from 'eslint-config-prettier'; +import reactHooks from 'eslint-plugin-react-hooks'; +import reactRefresh from 'eslint-plugin-react-refresh'; +import globals from 'globals'; + +export default [ + { + ignores: ['**/dist/*'], + }, + { + files: [ + 'networks/**/*.{js,jsx,ts,tsx}', + 'packages/**/*.{js,jsx,ts,tsx}', + 'wallets/**/*.{js,jsx,ts,tsx}', + ], + rules: { + ...pluginJs.configs.recommended.rules, + ...typescriptEslint.configs.recommended.rules, + }, + plugins: { + '@typescript-eslint': typescriptEslint, + }, + languageOptions: { + parser: typescriptParser, + ecmaVersion: 'latest', + sourceType: 'module', + }, + }, + { + files: [ + 'networks/**/*.{js,jsx,ts,tsx}', + 'packages/asset-calculator/**/*.{js,jsx,ts,tsx}', + ], + languageOptions: { + globals: globals.node, + }, + }, + { + files: [ + 'packages/common-hooks/**/*.{js,jsx,ts,tsx}', + 'packages/constants/**/*.{js,jsx,ts,tsx}', + 'packages/icons/**/*.{js,jsx,ts,tsx}', + 'packages/swr-helpers/**/*.{js,jsx,ts,tsx}', + 'packages/swr-mock/**/*.{js,jsx,ts,tsx}', + 'packages/types/**/*.{js,jsx,ts,tsx}', + 'packages/utils/**/*.{js,jsx,ts,tsx}', + 'wallets/**/*.{js,jsx,ts,tsx}', + ], + languageOptions: { + globals: globals.browser, + }, + }, + { + files: [ + 'packages/shared-contexts/**/*.{js,jsx,ts,tsx}', + 'packages/ui-kit/**/*.{js,jsx,ts,tsx}', + ], + plugins: { + 'react-refresh': reactRefresh, + 'react-hooks': reactHooks, + }, + rules: { + 'react-refresh/only-export-components': 'warn', + ...reactHooks.configs.recommended.rules, + }, + }, + /** + * TODO: revise the global ESLint configuration rules + * local:ergo/rosen-bridge/ui#442 + */ + { + rules: { + 'no-undef': 'off', + '@typescript-eslint/no-unused-expressions': 'off', + }, + }, + prettier, +]; diff --git a/networks/bitcoin/.eslintignore b/networks/bitcoin/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/networks/bitcoin/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/networks/bitcoin/.eslintrc.json b/networks/bitcoin/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/networks/bitcoin/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/networks/bitcoin/README.md b/networks/bitcoin/README.md deleted file mode 100644 index a55ec81f..00000000 --- a/networks/bitcoin/README.md +++ /dev/null @@ -1 +0,0 @@ -# @rosen-network/bitcoin diff --git a/networks/bitcoin/package.json b/networks/bitcoin/package.json index 0b47bf7e..96b7743f 100644 --- a/networks/bitcoin/package.json +++ b/networks/bitcoin/package.json @@ -2,11 +2,12 @@ "name": "@rosen-network/bitcoin", "version": "1.0.1", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit", @@ -21,11 +22,6 @@ "bitcoinjs-lib": "^6.1.6" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } } diff --git a/networks/bitcoin/src/generateUnsignedTx.ts b/networks/bitcoin/src/generateUnsignedTx.ts index b3725e71..59ba0084 100644 --- a/networks/bitcoin/src/generateUnsignedTx.ts +++ b/networks/bitcoin/src/generateUnsignedTx.ts @@ -1,4 +1,7 @@ import { selectBitcoinUtxos } from '@rosen-bridge/bitcoin-utxo-selection'; +import { TokenMap, RosenChainToken } from '@rosen-bridge/tokens'; +import { NETWORKS } from '@rosen-ui/constants'; +import { RosenAmountValue } from '@rosen-ui/types'; import { Psbt, address, payments } from 'bitcoinjs-lib'; import { SEGWIT_INPUT_WEIGHT_UNIT } from './constants'; @@ -9,9 +12,6 @@ import { getFeeRatio, getMinimumMeaningfulSatoshi, } from './utils'; -import { TokenMap, RosenChainToken } from '@rosen-bridge/tokens'; -import { NETWORKS } from '@rosen-ui/constants'; -import { RosenAmountValue } from '@rosen-ui/types'; /** * generates bitcoin lock tx @@ -25,12 +25,12 @@ export const generateUnsignedTx = fromAddress: string, wrappedAmount: RosenAmountValue, opReturnData: string, - token: RosenChainToken + token: RosenChainToken, ): Promise => { const unwrappedAmount = tokenMap.unwrapAmount( token[tokenMap.getIdKey(NETWORKS.BITCOIN)], wrappedAmount, - NETWORKS.BITCOIN + NETWORKS.BITCOIN, ).amount; // generate txBuilder @@ -70,13 +70,13 @@ export const generateUnsignedTx = minSatoshi, SEGWIT_INPUT_WEIGHT_UNIT, estimatedTxWeight, - feeRatio + feeRatio, ); if (!coveredBoxes.covered) { throw new Error( `Available boxes didn't cover required assets. BTC: ${ unwrappedAmount + minSatoshi - }` + }`, ); } @@ -101,13 +101,13 @@ export const generateUnsignedTx = estimatedTxWeight = estimateTxWeight( psbt.txInputs.length, 2, - opReturnData.length + opReturnData.length, ); const estimatedFee = BigInt( Math.ceil( (estimatedTxWeight / 4) * // estimate tx weight and convert to virtual size - feeRatio - ) + feeRatio, + ), ); remainingBtc -= estimatedFee; psbt.addOutput({ diff --git a/networks/bitcoin/src/utils.ts b/networks/bitcoin/src/utils.ts index 4c8456f2..3aec8e9d 100644 --- a/networks/bitcoin/src/utils.ts +++ b/networks/bitcoin/src/utils.ts @@ -1,15 +1,14 @@ import { encodeAddress } from '@rosen-bridge/address-codec'; -import Axios from 'axios'; -import { Psbt, address } from 'bitcoinjs-lib'; import { NETWORK_VALUES } from '@rosen-ui/constants'; import { Network } from '@rosen-ui/types'; +import Axios from 'axios'; +import { Psbt, address } from 'bitcoinjs-lib'; import { CONFIRMATION_TARGET, SEGWIT_INPUT_WEIGHT_UNIT, SEGWIT_OUTPUT_WEIGHT_UNIT, } from './constants'; - import type { BitcoinUtxo, EsploraAddress, EsploraUtxo } from './types'; /** @@ -25,11 +24,11 @@ export const generateOpReturnData = async ( toChain: Network, toAddress: string, networkFee: string, - bridgeFee: string + bridgeFee: string, ): Promise => { // parse toChain const toChainCode = NETWORK_VALUES.indexOf( - toChain as (typeof NETWORK_VALUES)[number] + toChain as (typeof NETWORK_VALUES)[number], ); if (toChainCode === -1) throw Error(`invalid toChain [${toChain}]`); const toChainHex = toChainCode.toString(16).padStart(2, '0'); @@ -47,7 +46,7 @@ export const generateOpReturnData = async ( .padStart(2, '0'); return Promise.resolve( - toChainHex + bridgeFeeHex + networkFeeHex + addressLengthCode + addressHex + toChainHex + bridgeFeeHex + networkFeeHex + addressLengthCode + addressHex, ); }; @@ -57,7 +56,7 @@ export const generateOpReturnData = async ( * @returns */ export const getAddressUtxos = async ( - address: string + address: string, ): Promise> => { const esploraUrl = process.env.BITCOIN_ESPLORA_API; const GET_ADDRESS_UTXOS = `${esploraUrl}/api/address/${address}/utxo`; @@ -102,8 +101,8 @@ export const getFeeRatio = async (): Promise => { export const getMinimumMeaningfulSatoshi = (feeRatio: number): bigint => { return BigInt( Math.ceil( - (feeRatio * SEGWIT_INPUT_WEIGHT_UNIT) / 4 // estimate fee per weight and convert to virtual size - ) + (feeRatio * SEGWIT_INPUT_WEIGHT_UNIT) / 4, // estimate fee per weight and convert to virtual size + ), ); }; @@ -117,7 +116,7 @@ export const getMinimumMeaningfulSatoshi = (feeRatio: number): bigint => { export const estimateTxWeight = ( inputSize: number, outputSize: number, - opReturnLength: number + opReturnLength: number, ): number => { const x = 40 + @@ -134,7 +133,7 @@ export const estimateTxWeight = ( * @param psbtBase64 psbt in base64 format */ export const submitTransaction = async ( - psbtBase64: string + psbtBase64: string, ): Promise => { const esploraUrl = process.env.BITCOIN_ESPLORA_API; const POST_TX = `${esploraUrl}/api/tx`; @@ -143,7 +142,7 @@ export const submitTransaction = async ( psbt.finalizeAllInputs(); const res = await Axios.post( POST_TX, - psbt.extractTransaction().toHex() + psbt.extractTransaction().toHex(), ); return res.data; }; diff --git a/networks/bitcoin/tsconfig.json b/networks/bitcoin/tsconfig.json index 23387a49..c843ae70 100644 --- a/networks/bitcoin/tsconfig.json +++ b/networks/bitcoin/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/networks/bitcoin/unitTests/src/generateTx.test.ts b/networks/bitcoin/unitTests/src/generateTx.test.ts index 29bffe2c..04d87481 100644 --- a/networks/bitcoin/unitTests/src/generateTx.test.ts +++ b/networks/bitcoin/unitTests/src/generateTx.test.ts @@ -1,9 +1,10 @@ -import { describe, expect, it, vi } from 'vitest'; +import { TokenMap } from '@rosen-bridge/tokens'; +import { Network } from '@rosen-ui/types'; import { Psbt } from 'bitcoinjs-lib'; +import { describe, expect, it, vi } from 'vitest'; + import { generateUnsignedTx } from '../../src'; import { testTokenMap, multiDecimalTokenMap } from '../test-data'; -import { TokenMap } from '@rosen-bridge/tokens'; -import { Network } from '@rosen-ui/types'; const testData = await vi.hoisted(async () => await import('./testData')); @@ -52,7 +53,12 @@ describe('generateUnsignedTx', () => { fromAddress, amount, data, - {} as any + /** + * TODO: remove the inline ESLint comment + * local:ergo/rosen-bridge/ui#441 + */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + {} as any, ); const psbt = Psbt.fromBase64(result.psbt); @@ -61,7 +67,7 @@ describe('generateUnsignedTx', () => { expect(psbt.inputCount).toEqual(1); const mockedInput = testData.mockedUtxos[0]; expect(psbt.txInputs[0].hash.reverse().toString('hex')).toEqual( - mockedInput.txId + mockedInput.txId, ); expect(psbt.txInputs[0].index).toEqual(mockedInput.index); @@ -70,7 +76,7 @@ describe('generateUnsignedTx', () => { expect(opReturnUtxo.script.toString('hex')).toEqual( '6a' + // OP_RETURN (data.length / 2).toString(16).padStart(2, '0') + - data + data, ); expect(opReturnUtxo.value).toEqual(0); const lockUtxo = psbt.txOutputs[1]; @@ -80,7 +86,7 @@ describe('generateUnsignedTx', () => { expect(changeUtxo.address).toEqual(fromAddress); const expectedFee = 203n; expect(changeUtxo.value).toEqual( - Number(mockedInput.value - amount - expectedFee) + Number(mockedInput.value - amount - expectedFee), ); }); @@ -120,7 +126,7 @@ describe('generateUnsignedTx', () => { fromAddress, wrappedAmount, data, - token + token, ); const psbt = Psbt.fromBase64(result.psbt); @@ -129,7 +135,7 @@ describe('generateUnsignedTx', () => { expect(psbt.inputCount).toEqual(1); const mockedInput = testData.mockedUtxos[0]; expect(psbt.txInputs[0].hash.reverse().toString('hex')).toEqual( - mockedInput.txId + mockedInput.txId, ); expect(psbt.txInputs[0].index).toEqual(mockedInput.index); @@ -138,7 +144,7 @@ describe('generateUnsignedTx', () => { expect(opReturnUtxo.script.toString('hex')).toEqual( '6a' + // OP_RETURN (data.length / 2).toString(16).padStart(2, '0') + - data + data, ); expect(opReturnUtxo.value).toEqual(0); const lockUtxo = psbt.txOutputs[1]; @@ -148,7 +154,7 @@ describe('generateUnsignedTx', () => { expect(changeUtxo.address).toEqual(fromAddress); const expectedFee = 203n; expect(changeUtxo.value).toEqual( - Number(mockedInput.value - unwrappedAmount - expectedFee) + Number(mockedInput.value - unwrappedAmount - expectedFee), ); }); @@ -175,7 +181,12 @@ describe('generateUnsignedTx', () => { fromAddress, amount, data, - {} as any + /** + * TODO: remove the inline ESLint comment + * local:ergo/rosen-bridge/ui#441 + */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + {} as any, ); }).rejects.toThrow(Error); }); diff --git a/networks/bitcoin/unitTests/src/utils.test.ts b/networks/bitcoin/unitTests/src/utils.test.ts index e4b56f33..1f438ab6 100644 --- a/networks/bitcoin/unitTests/src/utils.test.ts +++ b/networks/bitcoin/unitTests/src/utils.test.ts @@ -29,7 +29,7 @@ describe('generateOpReturnData', () => { toChain, toAddress, networkFee, - bridgeFee + bridgeFee, ); // result in hex: 00000000007554fc820000000000962f582103f999da8e6e42660e4464d17d29e63bc006734a6710a24eb489b466323d3a9339 @@ -40,7 +40,7 @@ describe('generateOpReturnData', () => { const encodedAddress = result.slice(36); expect(encodedAddress.length).toEqual(2 * 33); // 33 bytes, 66 characters in hex expect(encodedAddress).toEqual( - '03f999da8e6e42660e4464d17d29e63bc006734a6710a24eb489b466323d3a9339' + '03f999da8e6e42660e4464d17d29e63bc006734a6710a24eb489b466323d3a9339', ); }); diff --git a/networks/cardano/.eslintignore b/networks/cardano/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/networks/cardano/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/networks/cardano/.eslintrc.json b/networks/cardano/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/networks/cardano/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/networks/cardano/README.md b/networks/cardano/README.md deleted file mode 100644 index 058da2af..00000000 --- a/networks/cardano/README.md +++ /dev/null @@ -1 +0,0 @@ -# @rosen-network/cardano diff --git a/networks/cardano/package.json b/networks/cardano/package.json index 01014f0d..84d198a6 100644 --- a/networks/cardano/package.json +++ b/networks/cardano/package.json @@ -2,11 +2,12 @@ "name": "@rosen-network/cardano", "version": "1.0.0", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" @@ -18,11 +19,6 @@ "@rosen-ui/wallet-api": "^1.0.3" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } } diff --git a/networks/cardano/src/generateUnsignedTx.ts b/networks/cardano/src/generateUnsignedTx.ts index 6b0d3919..2a5d8aab 100644 --- a/networks/cardano/src/generateUnsignedTx.ts +++ b/networks/cardano/src/generateUnsignedTx.ts @@ -3,6 +3,9 @@ import { AssetBalance, selectCardanoUtxos, } from '@rosen-bridge/cardano-utxo-selection'; +import { TokenMap } from '@rosen-bridge/tokens'; +import { NETWORKS } from '@rosen-ui/constants'; +import { RosenAmountValue } from '@rosen-ui/types'; import { feeAndMinBoxValue } from './constants'; import { ADA_POLICY_ID } from './types'; @@ -15,9 +18,6 @@ import { sumAssetBalance, walletUtxoToCardanoUtxo, } from './utils'; -import { TokenMap } from '@rosen-bridge/tokens'; -import { NETWORKS } from '@rosen-ui/constants'; -import { RosenAmountValue } from '@rosen-ui/types'; /** * generates a lock transaction on Cardano @@ -33,12 +33,12 @@ export const generateUnsignedTx = policyIdHex: string, assetNameHex: string, wrappedAmount: RosenAmountValue, - auxiliaryDataHex: string + auxiliaryDataHex: string, ): Promise => { const unwrappedAmount = tokenMap.unwrapAmount( `${policyIdHex}.${assetNameHex}`, wrappedAmount, - NETWORKS.CARDANO + NETWORKS.CARDANO, ).amount; // converts hex address to bech32 address @@ -48,7 +48,7 @@ export const generateUnsignedTx = // generate txBuilder const protocolParams = await getCardanoProtocolParams(); const txBuilder = wasm.TransactionBuilder.new( - getTxBuilderConfig(protocolParams) + getTxBuilderConfig(protocolParams), ); // generate lock box @@ -69,7 +69,7 @@ export const generateUnsignedTx = const lockBox = generateOutputBox( lockAssets, lockAddress, - protocolParams.coins_per_utxo_size + protocolParams.coins_per_utxo_size, ); // add lock box to tx and calculate required assets to get input boxes @@ -85,7 +85,7 @@ export const generateUnsignedTx = requiredAssets, [], new Map(), - utxos.values() + utxos.values(), ); if (!inputs.covered) throw Error(`Not enough assets`); let inputAssets: AssetBalance = { @@ -99,9 +99,9 @@ export const generateUnsignedTx = wasm.Address.from_bech32(utxo.address), wasm.TransactionInput.new( wasm.TransactionHash.from_hex(utxo.txId), - utxo.index + utxo.index, ), - lockBox.amount() + lockBox.amount(), ); }); @@ -114,7 +114,7 @@ export const generateUnsignedTx = const tempChangeBox = generateOutputBox( changeAssets, changeAddress, - protocolParams.coins_per_utxo_size + protocolParams.coins_per_utxo_size, ); const fee = txBuilder .min_fee() @@ -123,7 +123,7 @@ export const generateUnsignedTx = const changeBox = generateOutputBox( changeAssets, changeAddress, - protocolParams.coins_per_utxo_size + protocolParams.coins_per_utxo_size, ); txBuilder.add_output(changeBox); diff --git a/networks/cardano/src/utils.ts b/networks/cardano/src/utils.ts index 93f4d665..31a920c2 100644 --- a/networks/cardano/src/utils.ts +++ b/networks/cardano/src/utils.ts @@ -18,7 +18,7 @@ import { CardanoProtocolParams } from './types'; export const getCardanoProtocolParams = async (): Promise => { const cardanoKoiosClient = cardanoKoiosClientFactory( - process.env.CARDANO_KOIOS_API! // TODO + process.env.CARDANO_KOIOS_API!, // TODO ); return await cardanoKoiosClient.getEpochParams().then((epochParams) => { const params = epochParams[0]; @@ -32,7 +32,7 @@ export const getCardanoProtocolParams = !params.coins_per_utxo_size ) throw Error( - `Some required Cardano protocol params fetched from koios are undefined or null ` + `Some required Cardano protocol params fetched from koios are undefined or null `, ); return { min_fee_a: params.min_fee_a, @@ -52,14 +52,14 @@ export const getCardanoProtocolParams = * @returns */ export const getTxBuilderConfig = ( - params: CardanoProtocolParams + params: CardanoProtocolParams, ): wasm.TransactionBuilderConfig => { return wasm.TransactionBuilderConfigBuilder.new() .fee_algo( wasm.LinearFee.new( wasm.BigNum.from_str(params.min_fee_a.toString()), - wasm.BigNum.from_str(params.min_fee_b.toString()) - ) + wasm.BigNum.from_str(params.min_fee_b.toString()), + ), ) .pool_deposit(wasm.BigNum.from_str(params.pool_deposit)) .key_deposit(wasm.BigNum.from_str(params.key_deposit)) @@ -84,7 +84,7 @@ export const generateLockAuxiliaryData = async ( toAddress: string, fromAddressHex: string, networkFee: string, - bridgeFee: string + bridgeFee: string, ): Promise => { // converts hex address to bech32 address const fromAddress = wasm.Address.from_hex(fromAddressHex).to_bech32(); @@ -101,8 +101,8 @@ export const generateLockAuxiliaryData = async ( map.insert( wasm.TransactionMetadatum.new_text(key), wasm.TransactionMetadatum.new_text( - metadataJson[key as keyof typeof metadataJson] - ) + metadataJson[key as keyof typeof metadataJson], + ), ); } @@ -110,19 +110,19 @@ export const generateLockAuxiliaryData = async ( let i = 0; while (i < fromAddress.length) { fromAddressList.add( - wasm.TransactionMetadatum.new_text(fromAddress.substring(i, i + 64)) + wasm.TransactionMetadatum.new_text(fromAddress.substring(i, i + 64)), ); i += 64; } map.insert( wasm.TransactionMetadatum.new_text('fromAddress'), - wasm.TransactionMetadatum.new_list(fromAddressList) + wasm.TransactionMetadatum.new_list(fromAddressList), ); const generalTxMetadata = wasm.GeneralTransactionMetadata.new(); generalTxMetadata.insert( wasm.BigNum.from_str('0'), - wasm.TransactionMetadatum.new_map(map) + wasm.TransactionMetadatum.new_map(map), ); const aux = wasm.AuxiliaryData.new(); aux.set_metadata(generalTxMetadata); @@ -137,7 +137,7 @@ export const generateLockAuxiliaryData = async ( * @param serializedUtxo serialized hex string of TransactionUnspentOutput */ export const walletUtxoToCardanoUtxo = ( - serializedUtxo: string + serializedUtxo: string, ): CardanoUtxo => { const utxo = wasm.TransactionUnspentOutput.from_hex(serializedUtxo); const assets: Array = []; @@ -179,7 +179,7 @@ export const walletUtxoToCardanoUtxo = ( */ export const sumAssetBalance = ( a: AssetBalance, - b: AssetBalance + b: AssetBalance, ): AssetBalance => { // sum native token const nativeToken = a.nativeToken + b.nativeToken; @@ -232,7 +232,7 @@ export const subtractAssetBalance = ( a: AssetBalance, b: AssetBalance, minimumNativeToken = 0n, - allowNegativeNativeToken = false + allowNegativeNativeToken = false, ): AssetBalance => { // sum native token let nativeToken = 0n; @@ -241,7 +241,7 @@ export const subtractAssetBalance = ( else if (allowNegativeNativeToken) nativeToken = 0n; else throw new Error( - `Cannot reduce native token: [${a.nativeToken.toString()}] is less than [${b.nativeToken.toString()} + ${minimumNativeToken.toString()}]` + `Cannot reduce native token: [${a.nativeToken.toString()}] is less than [${b.nativeToken.toString()} + ${minimumNativeToken.toString()}]`, ); // reduce all `b` tokens @@ -255,7 +255,7 @@ export const subtractAssetBalance = ( throw new Error( `Cannot reduce token [${token.id}]: [${tokens[ index - ].value.toString()}] is less than [${token.value.toString()}]` + ].value.toString()}] is less than [${token.value.toString()}]`, ); } else throw new Error(`Cannot reduce token [${token.id}]: Token not found`); @@ -276,7 +276,7 @@ export const subtractAssetBalance = ( export const generateOutputBox = ( balance: AssetBalance, address: string, - coinsPerUtxoByte: string + coinsPerUtxoByte: string, ): wasm.TransactionOutput => { const changeBoxBuilder = wasm.TransactionOutputBuilder.new() .with_address(wasm.Address.from_bech32(address)) @@ -290,7 +290,7 @@ export const generateOutputBox = ( multiAsset.set_asset( policyId, assetName, - wasm.BigNum.from_str(token.value.toString()) + wasm.BigNum.from_str(token.value.toString()), ); }); @@ -299,16 +299,16 @@ export const generateOutputBox = ( .with_value( wasm.Value.new_with_assets( wasm.BigNum.from_str(balance.nativeToken.toString()), - multiAsset - ) + multiAsset, + ), ) .build() : changeBoxBuilder .with_asset_and_min_required_coin_by_utxo_cost( multiAsset, wasm.DataCost.new_coins_per_byte( - wasm.BigNum.from_str(coinsPerUtxoByte) - ) + wasm.BigNum.from_str(coinsPerUtxoByte), + ), ) .build(); }; @@ -321,19 +321,19 @@ export const generateOutputBox = ( */ export const setTxWitnessSet = async ( transactionHex: string, - witnessSetHex: string + witnessSetHex: string, ): Promise => { const witnessSet = wasm.TransactionWitnessSet.new(); const tx = wasm.Transaction.from_hex(transactionHex); const vKeys = wasm.TransactionWitnessSet.from_bytes( - Buffer.from(witnessSetHex, 'hex') + Buffer.from(witnessSetHex, 'hex'), ).vkeys(); if (vKeys) witnessSet.set_vkeys(vKeys); const signedTx = wasm.Transaction.new( tx.body(), witnessSet, - tx.auxiliary_data() + tx.auxiliary_data(), ); return signedTx.to_hex(); diff --git a/networks/cardano/tsconfig.json b/networks/cardano/tsconfig.json index 23387a49..c843ae70 100644 --- a/networks/cardano/tsconfig.json +++ b/networks/cardano/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/networks/ergo/.eslintignore b/networks/ergo/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/networks/ergo/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/networks/ergo/.eslintrc.json b/networks/ergo/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/networks/ergo/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/networks/ergo/README.md b/networks/ergo/README.md deleted file mode 100644 index bec8323a..00000000 --- a/networks/ergo/README.md +++ /dev/null @@ -1 +0,0 @@ -# @rosen-network/ergo diff --git a/networks/ergo/package.json b/networks/ergo/package.json index c8f8713d..168019fc 100644 --- a/networks/ergo/package.json +++ b/networks/ergo/package.json @@ -2,11 +2,12 @@ "name": "@rosen-network/ergo", "version": "1.0.0", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" @@ -17,11 +18,6 @@ "ergo-lib-wasm-nodejs": "^0.24.1" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } } diff --git a/networks/ergo/src/generateUnsignedTx.ts b/networks/ergo/src/generateUnsignedTx.ts index ffdbac37..c18d0f14 100644 --- a/networks/ergo/src/generateUnsignedTx.ts +++ b/networks/ergo/src/generateUnsignedTx.ts @@ -1,8 +1,13 @@ +import { ErgoBoxProxy } from '@rosen-bridge/ergo-box-selection'; +import { TokenMap, RosenChainToken } from '@rosen-bridge/tokens'; +import { NETWORKS } from '@rosen-ui/constants'; +import { Network, RosenAmountValue } from '@rosen-ui/types'; import { UnsignedErgoTxProxy } from '@rosen-ui/wallet-api'; +import * as wasm from 'ergo-lib-wasm-nodejs'; import { fee, minBoxValue } from './constants'; -import { unsignedTransactionToProxy } from './unsignedTransactionToProxy'; import { AssetBalance } from './types'; +import { unsignedTransactionToProxy } from './unsignedTransactionToProxy'; import { createChangeBox, createLockBox, @@ -12,11 +17,6 @@ import { subtractAssetBalance, sumAssetBalance, } from './utils'; -import * as wasm from 'ergo-lib-wasm-nodejs'; -import { ErgoBoxProxy } from '@rosen-bridge/ergo-box-selection'; -import { TokenMap, RosenChainToken } from '@rosen-bridge/tokens'; -import { NETWORKS } from '@rosen-ui/constants'; -import { Network, RosenAmountValue } from '@rosen-ui/types'; /** * generates an unsigned lock transaction on Ergo @@ -34,13 +34,13 @@ export const generateUnsignedTx = wrappedAmount: RosenAmountValue, bridgeFeeString: string, networkFeeString: string, - token: RosenChainToken + token: RosenChainToken, ): Promise => { const tokenId = token[tokenMap.getIdKey(NETWORKS.ERGO)]; const unwrappedAmount = tokenMap.unwrapAmount( tokenId, wrappedAmount, - NETWORKS.ERGO + NETWORKS.ERGO, ).amount; const height = await getHeight(); @@ -72,7 +72,7 @@ export const generateUnsignedTx = toAddress, changeAddress, bridgeFee, - networkFee + networkFee, ); // calculate required assets to get input boxes const requiredAssets = sumAssetBalance(lockAssets, { @@ -85,7 +85,7 @@ export const generateUnsignedTx = requiredAssets, [], new Map(), - walletUtxos.values() + walletUtxos.values(), ); if (!inputs.covered) throw Error(`Not enough assets`); let inputAssets: AssetBalance = { @@ -96,7 +96,7 @@ export const generateUnsignedTx = const unsignedInputs = new wasm.UnsignedInputs(); inputs.boxes.forEach((box) => { unsignedInputs.add( - wasm.UnsignedInput.from_box_id(wasm.BoxId.from_str(box.boxId)) + wasm.UnsignedInput.from_box_id(wasm.BoxId.from_str(box.boxId)), ); inputAssets = sumAssetBalance(inputAssets, getBoxAssets(box)); }); @@ -107,7 +107,7 @@ export const generateUnsignedTx = const changeBox = createChangeBox(changeAddress, height, changeAssets); const feeBox = wasm.ErgoBoxCandidate.new_miner_fee_box( wasm.BoxValue.from_i64(wasm.I64.from_str(fee.toString())), - height + height, ); const txOutputs = new wasm.ErgoBoxCandidates(lockBox); @@ -117,7 +117,7 @@ export const generateUnsignedTx = const unsignedTx = new wasm.UnsignedTransaction( unsignedInputs, new wasm.DataInputs(), - txOutputs + txOutputs, ); return unsignedTransactionToProxy(unsignedTx, inputs.boxes); }; diff --git a/networks/ergo/src/unsignedTransactionToProxy.ts b/networks/ergo/src/unsignedTransactionToProxy.ts index 46754017..75d10f20 100644 --- a/networks/ergo/src/unsignedTransactionToProxy.ts +++ b/networks/ergo/src/unsignedTransactionToProxy.ts @@ -9,7 +9,7 @@ import * as wasm from 'ergo-lib-wasm-nodejs'; */ export const unsignedTransactionToProxy = ( unsignedTx: wasm.UnsignedTransaction, - inputs: ErgoBoxProxy[] + inputs: ErgoBoxProxy[], ): UnsignedErgoTxProxy => { const unsignedErgoTxProxy = unsignedTx.to_js_eip12(); unsignedErgoTxProxy.inputs = inputs.map((box) => { diff --git a/networks/ergo/src/utils.ts b/networks/ergo/src/utils.ts index 1e247d01..f0d5dbda 100644 --- a/networks/ergo/src/utils.ts +++ b/networks/ergo/src/utils.ts @@ -1,9 +1,10 @@ +import ergoExplorerClientFactory from '@rosen-clients/ergo-explorer'; +import { Network } from '@rosen-ui/types'; +import { ErgoBoxProxy } from '@rosen-ui/wallet-api'; import * as wasm from 'ergo-lib-wasm-nodejs'; + import { minBoxValue } from './constants'; import { AssetBalance, BoxInfo, CoveringBoxes, TokenInfo } from './types'; -import { ErgoBoxProxy } from '@rosen-ui/wallet-api'; -import ergoExplorerClientFactory from '@rosen-clients/ergo-explorer'; -import { Network } from '@rosen-ui/types'; /** * gets Ergo current block height @@ -11,7 +12,7 @@ import { Network } from '@rosen-ui/types'; */ export const getHeight = async (): Promise => { const explorerClient = ergoExplorerClientFactory( - 'https://api.ergoplatform.com' + 'https://api.ergoplatform.com', ); return Number((await explorerClient.v1.getApiV1Networkstate()).height); }; @@ -37,7 +38,7 @@ export const createLockBox = ( toAddress: string, fromAddress: string, bridgeFee: bigint, - networkFee: bigint + networkFee: bigint, ): wasm.ErgoBoxCandidate => { /** * TODO: fix ergo native token id @@ -47,7 +48,7 @@ export const createLockBox = ( const lockBox = new wasm.ErgoBoxCandidateBuilder( wasm.BoxValue.from_i64(wasm.I64.from_str(boxErgValue.toString())), wasm.Contract.pay_to_address(wasm.Address.from_base58(lockAddress)), - height + height, ); lockBox.set_register_value( @@ -58,7 +59,7 @@ export const createLockBox = ( Buffer.from(networkFee.toString()), Buffer.from(bridgeFee.toString()), Buffer.from(fromAddress.toString()), - ]) + ]), ); /** @@ -68,7 +69,7 @@ export const createLockBox = ( if (tokenId !== 'erg') { lockBox.add_token( wasm.TokenId.from_str(tokenId), - wasm.TokenAmount.from_i64(wasm.I64.from_str(amount.toString())) + wasm.TokenAmount.from_i64(wasm.I64.from_str(amount.toString())), ); } return lockBox.build(); @@ -87,18 +88,18 @@ export const createLockBox = ( export const createChangeBox = ( changeAddress: string, height: number, - balance: AssetBalance + balance: AssetBalance, ): wasm.ErgoBoxCandidate => { const changeBox = new wasm.ErgoBoxCandidateBuilder( wasm.BoxValue.from_i64(wasm.I64.from_str(balance.nativeToken.toString())), wasm.Contract.pay_to_address(wasm.Address.from_base58(changeAddress)), - height + height, ); balance.tokens.forEach((token) => { changeBox.add_token( wasm.TokenId.from_str(token.id), - wasm.TokenAmount.from_i64(wasm.I64.from_str(token.value.toString())) + wasm.TokenAmount.from_i64(wasm.I64.from_str(token.value.toString())), ); }); return changeBox.build(); @@ -140,18 +141,17 @@ export const getCoveringBoxes = async ( requiredAssets: AssetBalance, forbiddenBoxIds: Array, trackMap: Map, - boxIterator: Iterator + boxIterator: Iterator, ): Promise => { let uncoveredNativeToken = requiredAssets.nativeToken; const uncoveredTokens = requiredAssets.tokens.filter( - (info) => info.value > 0n + (info) => info.value > 0n, ); const isRequirementRemaining = () => { return uncoveredTokens.length > 0 || uncoveredNativeToken > 0n; }; - const offset = 0; const result: Array = []; // get boxes until requirements are satisfied @@ -172,7 +172,6 @@ export const getCoveringBoxes = async ( skipBox = true; break; } - const previousBoxId = boxInfo.id; boxInfo = getBoxInfo(trackedBox); } @@ -185,7 +184,7 @@ export const getCoveringBoxes = async ( let isUseful = false; boxInfo.assets.tokens.forEach((boxToken) => { const tokenIndex = uncoveredTokens.findIndex( - (requiredToken) => requiredToken.id === boxToken.id + (requiredToken) => requiredToken.id === boxToken.id, ); if (tokenIndex !== -1) { isUseful = true; @@ -221,7 +220,7 @@ export const getCoveringBoxes = async ( */ export const sumAssetBalance = ( a: AssetBalance, - b: AssetBalance + b: AssetBalance, ): AssetBalance => { // sum native token const nativeToken = a.nativeToken + b.nativeToken; @@ -256,7 +255,7 @@ export const subtractAssetBalance = ( a: AssetBalance, b: AssetBalance, minimumNativeToken = 0n, - allowNegativeNativeToken = false + allowNegativeNativeToken = false, ): AssetBalance => { // sum native token let nativeToken = 0n; @@ -265,7 +264,7 @@ export const subtractAssetBalance = ( else if (allowNegativeNativeToken) nativeToken = 0n; else throw new Error( - `Cannot reduce native token: [${a.nativeToken.toString()}] is less than [${b.nativeToken.toString()} + ${minimumNativeToken.toString()}]` + `Cannot reduce native token: [${a.nativeToken.toString()}] is less than [${b.nativeToken.toString()} + ${minimumNativeToken.toString()}]`, ); // reduce all `b` tokens @@ -279,7 +278,7 @@ export const subtractAssetBalance = ( throw new Error( `Cannot reduce token [${token.id}]: [${tokens[ index - ].value.toString()}] is less than [${token.value.toString()}]` + ].value.toString()}] is less than [${token.value.toString()}]`, ); } else throw new Error(`Cannot reduce token [${token.id}]: Token not found`); diff --git a/networks/ergo/tsconfig.json b/networks/ergo/tsconfig.json index 23387a49..c843ae70 100644 --- a/networks/ergo/tsconfig.json +++ b/networks/ergo/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/networks/ethereum/.eslintignore b/networks/ethereum/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/networks/ethereum/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/networks/ethereum/.eslintrc.json b/networks/ethereum/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/networks/ethereum/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/networks/ethereum/README.md b/networks/ethereum/README.md deleted file mode 100644 index 0fe51c22..00000000 --- a/networks/ethereum/README.md +++ /dev/null @@ -1 +0,0 @@ -# @rosen-network/ethereum diff --git a/networks/ethereum/package.json b/networks/ethereum/package.json index 36a9cc37..d364e2d1 100644 --- a/networks/ethereum/package.json +++ b/networks/ethereum/package.json @@ -2,11 +2,12 @@ "name": "@rosen-network/ethereum", "version": "0.1.1", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" @@ -18,11 +19,6 @@ "ethers": "^6.13.2" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } } diff --git a/networks/ethereum/src/generateTxParameters.ts b/networks/ethereum/src/generateTxParameters.ts index 936d5a2e..e3d14a65 100644 --- a/networks/ethereum/src/generateTxParameters.ts +++ b/networks/ethereum/src/generateTxParameters.ts @@ -1,9 +1,10 @@ -import { RosenAmountValue } from '@rosen-ui/types'; import { TokenMap, RosenChainToken } from '@rosen-bridge/tokens'; import { NETWORKS } from '@rosen-ui/constants'; -import { ETH, transferABI } from './constants'; +import { RosenAmountValue } from '@rosen-ui/types'; import { Contract } from 'ethers'; +import { ETH, transferABI } from './constants'; + /** * generates ethereum lock tx * @param tokenMap @@ -17,12 +18,12 @@ export const generateTxParameters = fromAddress: string, wrappedAmount: RosenAmountValue, rosenData: string, - token: RosenChainToken + token: RosenChainToken, ) => { const unwrappedAmount = tokenMap.unwrapAmount( token[tokenMap.getIdKey(NETWORKS.ETHEREUM)], wrappedAmount, - NETWORKS.ETHEREUM + NETWORKS.ETHEREUM, ).amount; let transactionParameters; diff --git a/networks/ethereum/src/types.ts b/networks/ethereum/src/types.ts index 7781ce8c..28d8e82c 100644 --- a/networks/ethereum/src/types.ts +++ b/networks/ethereum/src/types.ts @@ -1,7 +1,8 @@ import { TokenMap } from '@rosen-bridge/tokens'; import { Wallet } from '@rosen-ui/wallet-api'; -import { generateLockData } from './utils'; + import { generateTxParameters } from './generateTxParameters'; +import { generateLockData } from './utils'; export type WalletCreator = (config: WalletCreatorConfig) => Wallet; diff --git a/networks/ethereum/src/utils.ts b/networks/ethereum/src/utils.ts index 5813aa73..7d8bcf6a 100644 --- a/networks/ethereum/src/utils.ts +++ b/networks/ethereum/src/utils.ts @@ -1,7 +1,7 @@ -import { FeeData, isAddress, JsonRpcProvider } from 'ethers'; -import { NETWORK_VALUES } from '@rosen-ui/constants'; import { encodeAddress } from '@rosen-bridge/address-codec'; +import { NETWORK_VALUES } from '@rosen-ui/constants'; import { Network } from '@rosen-ui/types'; +import { FeeData, isAddress, JsonRpcProvider } from 'ethers'; /** * generates metadata for lock transaction @@ -16,11 +16,11 @@ export const generateLockData = async ( toChain: Network, toAddress: string, networkFee: string, - bridgeFee: string + bridgeFee: string, ): Promise => { // parse toChain const toChainCode = NETWORK_VALUES.indexOf( - toChain as (typeof NETWORK_VALUES)[number] + toChain as (typeof NETWORK_VALUES)[number], ); if (toChainCode === -1) throw Error(`invalid toChain [${toChain}]`); const toChainHex = toChainCode.toString(16).padStart(2, '0'); @@ -48,7 +48,7 @@ export const generateLockData = async ( */ export const getHeight = async (): Promise => { return await new JsonRpcProvider( - process.env.ETHEREUM_BLAST_API + process.env.ETHEREUM_BLAST_API, ).getBlockNumber(); }; diff --git a/networks/ethereum/tsconfig.json b/networks/ethereum/tsconfig.json index 23387a49..c843ae70 100644 --- a/networks/ethereum/tsconfig.json +++ b/networks/ethereum/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/package-lock.json b/package-lock.json index a7e12961..4292a98e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,22 +16,29 @@ }, "devDependencies": { "@rosen-bridge/changeset-formatter": "^0.1.0", + "@typescript-eslint/eslint-plugin": "^8.15.0", + "@typescript-eslint/parser": "^8.15.0", "@vitest/coverage-istanbul": "^1.3.1", + "eslint": "^8.57.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "globals": "^15.12.0", "husky": "^8.0.0", "lint-staged": "^13.2.2", - "prettier": "^2.8.8", + "prettier": "^3.3.3", "vitest": "^1.2.2" } }, "apps/guard": { "name": "@rosen-bridge/guard-app", - "version": "1.7.0", + "version": "1.8.0", "dependencies": { "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@rosen-bridge/icons": "^0.6.0", "@rosen-bridge/shared-contexts": "^0.0.1", - "@rosen-bridge/ui-kit": "^1.5.2", + "@rosen-bridge/ui-kit": "^1.5.3", "@rosen-ui/constants": "^0.0.5", "@rosen-ui/swr-helpers": "^0.2.0", "@rosen-ui/utils": "^0.4.1", @@ -46,7 +53,7 @@ }, "devDependencies": { "@rosen-ui/common-hooks": "^0.1.0", - "@rosen-ui/swr-mock": "^0.0.1", + "@rosen-ui/swr-mock": "^0.0.2", "@rosen-ui/types": "^0.3.1", "@tauri-apps/cli": "^1.4.0", "@types/moment": "^2.13.0", @@ -56,29 +63,166 @@ "@types/react-dom": "18.2.4", "eslint": "8.42.0", "eslint-config-next": "13.4.4", - "eslint-config-prettier": "^9.0.0", - "lint-staged": "^13.2.2", - "prettier": "^3.0.2", "typescript": "^5.3.3" } }, - "apps/guard/node_modules/prettier": { - "version": "3.1.0", + "apps/guard/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "apps/guard/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "apps/guard/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "apps/guard/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "apps/guard/node_modules/eslint": { + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, "bin": { - "prettier": "bin/prettier.cjs" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=14" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://opencollective.com/eslint" + } + }, + "apps/guard/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "apps/guard/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "apps/guard/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "apps/guard/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "apps/rosen": { "name": "@rosen-bridge/rosen-app", - "version": "2.4.0", + "version": "2.5.0", "dependencies": { "@emurgo/cardano-serialization-lib-browser": "^11.5.0", "@emurgo/cardano-serialization-lib-nodejs": "^11.5.0", @@ -109,7 +253,6 @@ "@rosen-ui/vespr-wallet": "^0.0.9", "@rosen-ui/wallet-api": "^1.0.3", "@rosen-ui/xdefi-wallet": "^1.0.2", - "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@upstash/ratelimit": "^1.2.1", "@vercel/kv": "^2.0.0", "buffer": "^6.0.3", @@ -126,15 +269,13 @@ "swr": "^2.2.0" }, "devDependencies": { + "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/lodash-es": "^4.17.10", "@types/node": "20.5.7", "@types/react": "18.2.12", "@types/react-dom": "18.2.4", "eslint": "8.42.0", "eslint-config-next": "^14.0.0", - "eslint-config-prettier": "^9.0.0", - "lint-staged": "^13.2.2", - "prettier": "^3.0.2", "typescript": "^5.1.6" } }, @@ -190,24 +331,27 @@ "dev": true, "license": "MIT" }, - "apps/rosen/node_modules/eslint-config-next": { - "version": "14.0.3", + "apps/rosen/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "14.0.3", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -215,259 +359,493 @@ } } }, - "apps/rosen/node_modules/prettier": { - "version": "3.1.0", + "apps/rosen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "apps/rosen/node_modules/serialize-error": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-11.0.3.tgz", - "integrity": "sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==", + "apps/rosen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "type-fest": "^2.12.2" - }, - "engines": { - "node": ">=14.16" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "apps/rosen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "engines": { - "node": ">=12.20" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "apps/watcher": { - "name": "@rosen-bridge/watcher-app", - "version": "2.6.0", - "dependencies": { - "@emotion/react": "^11.11.1", - "@emotion/styled": "^11.11.0", - "@rosen-bridge/icons": "^0.6.0", - "@rosen-bridge/json-bigint": "^0.1.0", - "@rosen-bridge/shared-contexts": "^0.0.1", - "@rosen-bridge/ui-kit": "^1.5.2", - "@rosen-ui/common-hooks": "^0.1.0", - "@rosen-ui/constants": "^0.0.5", - "@rosen-ui/swr-helpers": "^0.2.0", - "@rosen-ui/swr-mock": "^0.0.1", - "@rosen-ui/utils": "^0.4.1", - "lodash-es": "^4.17.21", - "moment": "^2.29.4", - "next": "14.1.0", - "react": "^18.2.0", - "react-apexcharts": "^1.4.0", - "react-copy-to-clipboard": "^5.1.0", - "react-dom": "^18.2.0", - "react-hook-form": "^7.45.0", - "swr": "^2.1.5" - }, - "devDependencies": { - "@rosen-ui/types": "^0.3.1", - "@tauri-apps/cli": "^1.4.0", - "@types/lodash-es": "^4.17.11", - "@types/moment": "^2.13.0", - "@types/node": "20.2.5", - "@types/react": "18.2.12", - "@types/react-dom": "18.2.4", - "eslint": "8.42.0", - "eslint-config-next": "13.4.4", - "eslint-config-prettier": "^9.0.0", - "lint-staged": "^13.2.2", - "prettier": "^3.0.2", - "typescript": "^5.3.3" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "apps/watcher/node_modules/prettier": { - "version": "3.1.0", + "apps/rosen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=7.0.0" } }, - "networks/bitcoin": { - "name": "@rosen-network/bitcoin", - "version": "1.0.1", - "dependencies": { - "@rosen-bridge/address-codec": "^0.3.0", - "@rosen-bridge/bitcoin-utxo-selection": "^0.2.0", - "@rosen-ui/constants": "^0.0.5", - "@rosen-ui/wallet-api": "^1.0.3", - "axios": "^1.7.2", - "bitcoinjs-lib": "^6.1.6" - }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", - "typescript": "^5.0.0" - } + "apps/rosen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "networks/bitcoin/node_modules/prettier": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", - "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "apps/rosen/node_modules/eslint": { + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, "bin": { - "prettier": "bin/prettier.cjs" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=14" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "networks/cardano": { - "name": "@rosen-network/cardano", - "version": "1.0.0", + "apps/rosen/node_modules/eslint-config-next": { + "version": "14.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "@emurgo/cardano-serialization-lib-nodejs": "^11.5.0", - "@rosen-bridge/cardano-utxo-selection": "^1.1.0", - "@rosen-clients/cardano-koios": "^2.0.3", - "@rosen-ui/wallet-api": "^1.0.3" + "@next/eslint-plugin-next": "14.0.3", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", - "typescript": "^5.0.0" + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "networks/cardano/node_modules/prettier": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", - "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "apps/rosen/node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "apps/rosen/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "networks/ergo": { - "name": "@rosen-network/ergo", - "version": "1.0.0", + "apps/rosen/node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "apps/rosen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "apps/rosen/node_modules/serialize-error": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-11.0.3.tgz", + "integrity": "sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==", "dependencies": { - "@rosen-clients/ergo-explorer": "^1.1.1", - "@rosen-ui/wallet-api": "^1.0.3", - "ergo-lib-wasm-nodejs": "^0.24.1" + "type-fest": "^2.12.2" }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", - "typescript": "^5.0.0" + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "networks/ergo/node_modules/prettier": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", - "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "apps/rosen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=8" + } + }, + "apps/rosen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "networks/ethereum": { - "name": "@rosen-network/ethereum", - "version": "0.1.1", + "apps/watcher": { + "name": "@rosen-bridge/watcher-app", + "version": "3.0.0", "dependencies": { - "@rosen-bridge/address-codec": "^0.3.0", - "@rosen-bridge/tokens": "^1.2.1", - "@rosen-ui/wallet-api": "^1.0.3", - "ethers": "^6.13.2" + "@emotion/react": "^11.11.1", + "@emotion/styled": "^11.11.0", + "@rosen-bridge/icons": "^0.6.0", + "@rosen-bridge/json-bigint": "^0.1.0", + "@rosen-bridge/shared-contexts": "^0.0.1", + "@rosen-bridge/ui-kit": "^1.5.3", + "@rosen-ui/common-hooks": "^0.1.0", + "@rosen-ui/constants": "^0.0.5", + "@rosen-ui/swr-helpers": "^0.2.0", + "@rosen-ui/swr-mock": "^0.0.2", + "@rosen-ui/utils": "^0.4.1", + "lodash-es": "^4.17.21", + "moment": "^2.29.4", + "next": "14.1.0", + "react": "^18.2.0", + "react-apexcharts": "^1.4.0", + "react-copy-to-clipboard": "^5.1.0", + "react-dom": "^18.2.0", + "react-hook-form": "^7.45.0", + "swr": "^2.1.5" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", - "typescript": "^5.0.0" + "@rosen-ui/types": "^0.3.1", + "@tauri-apps/cli": "^1.4.0", + "@types/lodash-es": "^4.17.11", + "@types/moment": "^2.13.0", + "@types/node": "20.2.5", + "@types/react": "18.2.12", + "@types/react-dom": "18.2.4", + "eslint": "8.42.0", + "eslint-config-next": "13.4.4", + "typescript": "^5.3.3" } }, - "networks/ethereum/node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "apps/watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", + "apps/watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@adraffy/ens-normalize": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "license": "Apache-2.0", + "apps/watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6.0.0" + "node": ">=7.0.0" } }, - "node_modules/@apollo/client": { - "version": "3.8.8", + "apps/watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "apps/watcher/node_modules/eslint": { + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "apps/watcher/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "apps/watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "apps/watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "apps/watcher/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "networks/bitcoin": { + "name": "@rosen-network/bitcoin", + "version": "1.0.1", + "dependencies": { + "@rosen-bridge/address-codec": "^0.3.0", + "@rosen-bridge/bitcoin-utxo-selection": "^0.2.0", + "@rosen-ui/constants": "^0.0.5", + "@rosen-ui/wallet-api": "^1.0.3", + "axios": "^1.7.2", + "bitcoinjs-lib": "^6.1.6" + }, + "devDependencies": { + "typescript": "^5.0.0" + } + }, + "networks/cardano": { + "name": "@rosen-network/cardano", + "version": "1.0.0", + "dependencies": { + "@emurgo/cardano-serialization-lib-nodejs": "^11.5.0", + "@rosen-bridge/cardano-utxo-selection": "^1.1.0", + "@rosen-clients/cardano-koios": "^2.0.3", + "@rosen-ui/wallet-api": "^1.0.3" + }, + "devDependencies": { + "typescript": "^5.0.0" + } + }, + "networks/ergo": { + "name": "@rosen-network/ergo", + "version": "1.0.0", + "dependencies": { + "@rosen-clients/ergo-explorer": "^1.1.1", + "@rosen-ui/wallet-api": "^1.0.3", + "ergo-lib-wasm-nodejs": "^0.24.1" + }, + "devDependencies": { + "typescript": "^5.0.0" + } + }, + "networks/ethereum": { + "name": "@rosen-network/ethereum", + "version": "0.1.1", + "dependencies": { + "@rosen-bridge/address-codec": "^0.3.0", + "@rosen-bridge/tokens": "^1.2.1", + "@rosen-ui/wallet-api": "^1.0.3", + "ethers": "^6.13.2" + }, + "devDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@apollo/client": { + "version": "3.8.8", "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -701,6 +1079,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" @@ -713,6 +1092,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.24.7", @@ -726,6 +1106,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" @@ -860,6 +1241,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" @@ -1568,6 +1950,15 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", @@ -2570,6 +2961,14 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", @@ -2843,6 +3242,20 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/@changesets/apply-release-plan/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": { "version": "5.0.0", "license": "MIT", @@ -3336,6 +3749,20 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/@changesets/write/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@changesets/write/node_modules/universalify": { "version": "0.1.2", "license": "MIT", @@ -3898,17 +4325,19 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -3928,9 +4357,10 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -3943,8 +4373,9 @@ }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3954,8 +4385,9 @@ }, "node_modules/@eslint/js": { "version": "8.42.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", + "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -4061,12 +4493,14 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -4086,9 +4520,11 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "dev": true, - "license": "BSD-3-Clause" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true }, "node_modules/@isaacs/cliui": { "version": "8.0.2", @@ -5390,6 +5826,15 @@ "node": ">= 8" } }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "engines": { + "node": ">=12.4.0" + } + }, "node_modules/@npmcli/fs": { "version": "1.1.1", "license": "ISC", @@ -9131,6 +9576,12 @@ "resolved": "wallets/xdefi-wallet", "link": true }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true + }, "node_modules/@rushstack/eslint-patch": { "version": "1.5.1", "dev": true, @@ -9625,6 +10076,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.3.0.tgz", "integrity": "sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@babel/generator": "7.17.7", @@ -9648,6 +10100,7 @@ "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.17.0", @@ -9662,6 +10115,7 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", @@ -9683,6 +10137,7 @@ "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.26.2", @@ -9699,6 +10154,7 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -9712,6 +10168,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -9724,6 +10181,7 @@ "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", @@ -9733,6 +10191,15 @@ "node": ">=6.9.0" } }, + "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@ts-morph/common": { "version": "0.19.0", "dev": true, @@ -9864,15 +10331,11 @@ "version": "1.0.4", "license": "MIT" }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "dev": true, - "license": "MIT" - }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true }, "node_modules/@types/jsonwebtoken": { "version": "9.0.5", @@ -10027,31 +10490,31 @@ "peer": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz", + "integrity": "sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/type-utils": "8.15.0", + "@typescript-eslint/utils": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -10059,67 +10522,86 @@ } } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz", + "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz", + "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz", + "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "8.15.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.15.0.tgz", + "integrity": "sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/typescript-estree": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", + "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -10127,33 +10609,53 @@ } } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz", + "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==", "dev": true, - "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz", + "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz", + "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -10165,1010 +10667,983 @@ } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz", + "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@typescript-eslint/types": "8.15.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", + "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", + "node_modules/@typescript-eslint/parser/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC" - }, - "node_modules/@upstash/core-analytics": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@upstash/core-analytics/-/core-analytics-0.0.9.tgz", - "integrity": "sha512-9NXXxZ5y1/A/zqKLlVT7NsAWSggJfOjB0hG6Ffx29b4jbzHOiQVWB55h5+j2clT9Ib+mNPXn0iB5zN3aWLkICw==", "dependencies": { - "@upstash/redis": "^1.28.3" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@upstash/ratelimit": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@upstash/ratelimit/-/ratelimit-1.2.1.tgz", - "integrity": "sha512-o01lV1yFS5Fzj5KONZmNyVch/Qrlj785B2ob+kStUmxn8F6xXk7IHTQqVcHE+Ce3CmT/qQIwvMxDZftyJ5wYpQ==", - "dependencies": { - "@upstash/core-analytics": "^0.0.9" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@upstash/redis": { - "version": "1.31.6", - "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.31.6.tgz", - "integrity": "sha512-7sDQQqvVnnV+2PUVGjocITa34CULGLoWhmfSY/LtpxNYv24EsgOk9VXhmGXIyzJBcXxB614wOF6ccEN0Lr7fqQ==", - "dependencies": { - "crypto-js": "^4.2.0" + "node_modules/@typescript-eslint/parser/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@vercel/kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@vercel/kv/-/kv-2.0.0.tgz", - "integrity": "sha512-zdVrhbzZBYo5d1Hfn4bKtqCeKf0FuzW8rSHauzQVMUgv1+1JOwof2mWcBuI+YMJy8s0G0oqAUfQ7HgUDzb8EbA==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, "dependencies": { - "@upstash/redis": "^1.31.3" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { - "node": ">=14.6" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@vitest/coverage-istanbul": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-1.4.0.tgz", - "integrity": "sha512-39TjURYyAY6CLDx8M1RNYGoAuWicPWoofk+demJbAZROLCwUgGPgMRSg51GN+snbmQRTpSizuS9XC3cMSdQH2Q==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz", + "integrity": "sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==", "dev": true, "dependencies": { + "@typescript-eslint/typescript-estree": "8.15.0", + "@typescript-eslint/utils": "8.15.0", "debug": "^4.3.4", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-instrument": "^6.0.1", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^5.0.4", - "istanbul-reports": "^3.1.6", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "test-exclude": "^6.0.0" + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "vitest": "1.4.0" + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@vitest/expect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz", - "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==", + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz", + "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==", "dev": true, - "dependencies": { - "@vitest/spy": "1.4.0", - "@vitest/utils": "1.4.0", - "chai": "^4.3.10" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@vitest/runner": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz", - "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==", + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz", + "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==", "dev": true, "dependencies": { - "@vitest/utils": "1.4.0", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz", + "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==", "dev": true, "dependencies": { - "yocto-queue": "^1.0.0" + "@typescript-eslint/types": "8.15.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@vitest/runner/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, "engines": { - "node": ">=12.20" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@vitest/snapshot": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz", - "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==", + "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@vitest/snapshot/node_modules/magic-string": { - "version": "0.30.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz", - "integrity": "sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==", + "node_modules/@typescript-eslint/type-utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/@vitest/spy": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz", - "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==", + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, - "dependencies": { - "tinyspy": "^2.2.0" + "engines": { + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@vitest/utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.4.0.tgz", - "integrity": "sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@vitest/utils/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "@types/estree": "^1.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@wry/caches": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, "dependencies": { - "tslib": "^2.3.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@wry/context": { - "version": "0.7.4", - "license": "MIT", + "node_modules/@typescript-eslint/utils": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz", + "integrity": "sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==", + "dev": true, "dependencies": { - "tslib": "^2.3.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.15.0", + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/typescript-estree": "8.15.0" }, "engines": { - "node": ">=8" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@wry/equality": { - "version": "0.5.7", - "license": "MIT", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz", + "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==", + "dev": true, "dependencies": { - "tslib": "^2.3.0" + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0" }, "engines": { - "node": ">=8" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@wry/trie": { - "version": "0.5.0", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz", + "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==", + "dev": true, "engines": { - "node": ">=8" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@yr/monotone-cubic-spline": { - "version": "1.0.3", - "license": "MIT", - "peer": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "license": "ISC" - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz", + "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==", + "dev": true, "dependencies": { - "event-target-shim": "^5.0.0" + "@typescript-eslint/types": "8.15.0", + "@typescript-eslint/visitor-keys": "8.15.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": ">=6.5" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "peer": true, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz", + "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==", + "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "@typescript-eslint/types": "8.15.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": ">=0.4.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", + "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "devOptional": true, - "license": "MIT", + "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" - }, - "node_modules/agent-base": { - "version": "6.0.2", - "license": "MIT", - "dependencies": { - "debug": "4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": ">= 6.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "license": "MIT", - "optional": true, + "node_modules/@typescript-eslint/utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, "dependencies": { - "humanize-ms": "^1.2.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/ajv": { - "version": "6.12.6", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, - "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", - "peer": true + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "license": "MIT", + "node_modules/@upstash/core-analytics": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@upstash/core-analytics/-/core-analytics-0.0.9.tgz", + "integrity": "sha512-9NXXxZ5y1/A/zqKLlVT7NsAWSggJfOjB0hG6Ffx29b4jbzHOiQVWB55h5+j2clT9Ib+mNPXn0iB5zN3aWLkICw==", + "dependencies": { + "@upstash/redis": "^1.28.3" + }, "engines": { - "node": ">=6" + "node": ">=16.0.0" } }, - "node_modules/ansi-escapes": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/@upstash/ratelimit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@upstash/ratelimit/-/ratelimit-1.2.1.tgz", + "integrity": "sha512-o01lV1yFS5Fzj5KONZmNyVch/Qrlj785B2ob+kStUmxn8F6xXk7IHTQqVcHE+Ce3CmT/qQIwvMxDZftyJ5wYpQ==", "dependencies": { - "type-fest": "^1.0.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@upstash/core-analytics": "^0.0.9" } }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "peer": true, + "node_modules/@upstash/redis": { + "version": "1.31.6", + "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.31.6.tgz", + "integrity": "sha512-7sDQQqvVnnV+2PUVGjocITa34CULGLoWhmfSY/LtpxNYv24EsgOk9VXhmGXIyzJBcXxB614wOF6ccEN0Lr7fqQ==", "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" + "crypto-js": "^4.2.0" } }, - "node_modules/ansi-fragments/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "peer": true, + "node_modules/@vercel/kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@vercel/kv/-/kv-2.0.0.tgz", + "integrity": "sha512-zdVrhbzZBYo5d1Hfn4bKtqCeKf0FuzW8rSHauzQVMUgv1+1JOwof2mWcBuI+YMJy8s0G0oqAUfQ7HgUDzb8EbA==", + "dependencies": { + "@upstash/redis": "^1.31.3" + }, "engines": { - "node": ">=6" + "node": ">=14.6" } }, - "node_modules/ansi-fragments/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "peer": true, + "node_modules/@vitest/coverage-istanbul": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-1.4.0.tgz", + "integrity": "sha512-39TjURYyAY6CLDx8M1RNYGoAuWicPWoofk+demJbAZROLCwUgGPgMRSg51GN+snbmQRTpSizuS9XC3cMSdQH2Q==", + "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-instrument": "^6.0.1", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "test-exclude": "^6.0.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.4.0" } }, - "node_modules/ansi-fragments/node_modules/colorette": { + "node_modules/@vitest/expect": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "peer": true - }, - "node_modules/ansi-fragments/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "peer": true, - "engines": { - "node": ">=4" + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz", + "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==", + "dev": true, + "dependencies": { + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/ansi-fragments/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "peer": true, + "node_modules/@vitest/runner": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz", + "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "@vitest/utils": "1.4.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/ansi-fragments/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "peer": true, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/@vitest/snapshot": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz", + "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/vitest" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "peer": true, + "node_modules/@vitest/snapshot/node_modules/magic-string": { + "version": "0.30.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz", + "integrity": "sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==", + "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@jridgewell/sourcemap-codec": "^1.4.15" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/apexcharts": { - "version": "3.44.0", - "license": "MIT", - "peer": true, + "node_modules/@vitest/spy": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz", + "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==", + "dev": true, "dependencies": { - "@yr/monotone-cubic-spline": "^1.0.3", - "svg.draggable.js": "^2.2.2", - "svg.easing.js": "^2.0.0", - "svg.filter.js": "^2.0.2", - "svg.pathmorphing.js": "^0.1.3", - "svg.resize.js": "^1.4.3", - "svg.select.js": "^3.0.1" + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/app-root-path": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">= 6.0.0" + "node_modules/@vitest/utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.4.0.tgz", + "integrity": "sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/appdirsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", - "peer": true - }, - "node_modules/aproba": { - "version": "2.0.0", - "license": "ISC" + "node_modules/@vitest/utils/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } }, - "node_modules/archive-type": { - "version": "4.0.0", + "node_modules/@wry/caches": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "file-type": "^4.2.0" + "tslib": "^2.3.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/archive-type/node_modules/file-type": { - "version": "4.4.0", + "node_modules/@wry/context": { + "version": "0.7.4", "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "license": "ISC", + "node_modules/@wry/equality": { + "version": "0.5.7", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "tslib": "^2.3.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/@wry/trie": { + "version": "0.5.0", "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "tslib": "^2.3.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/arg": { - "version": "4.1.3", - "devOptional": true, - "license": "MIT" + "node_modules/@yr/monotone-cubic-spline": { + "version": "1.0.3", + "license": "MIT", + "peer": true }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" + "node_modules/abbrev": { + "version": "1.1.1", + "license": "ISC" }, - "node_modules/aria-query": { - "version": "5.3.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { - "dequal": "^2.0.3" + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "license": "MIT", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.6" } }, - "node_modules/array-includes": { - "version": "3.1.7", - "dev": true, + "node_modules/acorn": { + "version": "8.11.3", "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.4.0" } }, - "node_modules/array-union": { - "version": "2.1.0", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "devOptional": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "dev": true, + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + }, + "node_modules/agent-base": { + "version": "6.0.2", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "debug": "4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6.0.0" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", + "node_modules/agentkeepalive": { + "version": "4.5.0", "license": "MIT", + "optional": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "humanize-ms": "^1.2.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8.0.0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "dev": true, + "node_modules/aggregate-error": { + "version": "3.1.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.2", + "node_modules/ajv": { + "version": "6.12.6", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "peer": true + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" + "type-fest": "^1.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/arrify": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "peer": true, + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "peer": true - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, + "node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "peer": true, "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "node_modules/ansi-fragments/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "peer": true, "dependencies": { - "tslib": "^2.0.1" + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "dev": true, - "license": "MIT" + "node_modules/ansi-fragments/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "peer": true }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "node_modules/ansi-fragments/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "peer": true, "engines": { "node": ">=4" } }, - "node_modules/async": { - "version": "3.2.5", - "license": "MIT" + "node_modules/ansi-fragments/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } }, - "node_modules/async-exit-hook": { - "version": "2.0.1", - "license": "MIT", + "node_modules/ansi-fragments/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "peer": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "peer": true - }, - "node_modules/async-mutex": { - "version": "0.4.0", - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "dev": true, + "node_modules/ansi-regex": { + "version": "5.0.1", "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" + "engines": { + "node": ">=8" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", + "node_modules/ansi-styles": { + "version": "6.2.1", "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/await-semaphore": { - "version": "0.1.3", + "node_modules/any-promise": { + "version": "1.3.0", "license": "MIT" }, - "node_modules/axe-core": { - "version": "4.7.0", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axobject-query": { - "version": "3.2.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "peer": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", - "peer": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "node": ">= 8" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "node_modules/apexcharts": { + "version": "3.44.0", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "@yr/monotone-cubic-spline": "^1.0.3", + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" } }, - "node_modules/babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", - "peer": true, - "dependencies": { - "@babel/plugin-syntax-flow": "^7.12.1" + "node_modules/app-root-path": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/base-x": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-4.0.0.tgz", - "integrity": "sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "peer": true }, - "node_modules/bech32": { + "node_modules/aproba": { "version": "2.0.0", - "license": "MIT" - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "license": "Apache-2.0" + "license": "ISC" }, - "node_modules/better-path-resolve": { - "version": "1.0.0", + "node_modules/archive-type": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "is-windows": "^1.0.0" + "file-type": "^4.2.0" }, "engines": { "node": ">=4" } }, - "node_modules/bignumber.js": { - "version": "9.1.2", + "node_modules/archive-type/node_modules/file-type": { + "version": "4.4.0", "license": "MIT", "engines": { - "node": "*" - } - }, - "node_modules/bip174": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bip174/-/bip174-2.1.1.tgz", - "integrity": "sha512-mdFV5+/v0XyNYXjBS6CQPLo9ekCx4gtKZFnJm5PMto7Fs9hTTDpkkzOB7/FtluRI6JbUUAu+snTYfJRgHLZbZQ==", - "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/bitcoinjs-lib": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.1.6.tgz", - "integrity": "sha512-Fk8+Vc+e2rMoDU5gXkW9tD+313rhkm5h6N9HfZxXvYU9LedttVvmXKTgd9k5rsQJjkSfsv6XRM8uhJv94SrvcA==", + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "license": "ISC", "dependencies": { - "@noble/hashes": "^1.2.0", - "bech32": "^2.0.0", - "bip174": "^2.1.1", - "bs58check": "^3.0.1", - "typeforce": "^1.11.3", - "varuint-bitcoin": "^1.1.2" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/bl": { - "version": "5.1.0", - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "node": ">=10" } }, - "node_modules/bl/node_modules/readable-stream": { + "node_modules/are-we-there-yet/node_modules/readable-stream": { "version": "3.6.2", "license": "MIT", "dependencies": { @@ -11180,2019 +11655,2056 @@ "node": ">= 6" } }, - "node_modules/blake2b": { - "version": "2.1.3", - "license": "ISC", - "dependencies": { - "blake2b-wasm": "^1.1.0", - "nanoassert": "^1.0.0" - } - }, - "node_modules/blake2b-wasm": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "nanoassert": "^1.0.0" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", + "node_modules/arg": { + "version": "4.1.3", + "devOptional": true, "license": "MIT" }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/bottleneck": { - "version": "2.19.5", - "license": "MIT" + "node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/braces": { - "version": "3.0.2", - "license": "MIT", + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/breakword": { - "version": "1.0.6", + "node_modules/array-union": { + "version": "2.1.0", "license": "MIT", - "dependencies": { - "wcwidth": "^1.0.1" + "engines": { + "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bs58": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz", - "integrity": "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, "dependencies": { - "base-x": "^4.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bs58check": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-3.0.1.tgz", - "integrity": "sha512-hjuuJvoWEybo7Hn/0xOrczQKKEKD63WguEjlhLExYs2wUBcebDC1jDNK17eEAD2lYfw82d5ASC1d7K3SWszjaQ==", + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "license": "MIT", "dependencies": { - "@noble/hashes": "^1.2.0", - "bs58": "^5.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "peer": true, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/btoa": { - "version": "1.2.1", - "license": "(MIT OR Apache-2.0)", - "bin": { - "btoa": "bin/btoa.js" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/btoa-lite": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/buffer": { - "version": "6.0.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "license": "MIT", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", + "node_modules/arrify": { + "version": "1.0.1", "license": "MIT", "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "license": "BSD-3-Clause" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "peer": true }, - "node_modules/buffer-writer": { - "version": "2.0.0", - "license": "MIT", + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/bufferutil": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", - "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", - "hasInstallScript": true, + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "peer": true, "dependencies": { - "node-gyp-build": "^4.3.0" + "tslib": "^2.0.1" }, "engines": { - "node": ">=6.14.2" + "node": ">=4" } }, - "node_modules/busboy": { - "version": "1.6.0", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, + "node_modules/async": { + "version": "3.2.5", + "license": "MIT" + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/cacache": { - "version": "15.3.0", - "license": "ISC", - "optional": true, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "peer": true + }, + "node_modules/async-mutex": { + "version": "0.4.0", + "license": "MIT", "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" + "tslib": "^2.4.0" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "optional": true, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dependencies": { - "yallist": "^4.0.0" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "license": "MIT", - "optional": true, - "bin": { - "mkdirp": "bin/cmd.js" + "node": ">= 0.4" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true + "node_modules/await-semaphore": { + "version": "0.1.3", + "license": "MIT" }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "license": "MIT", + "node_modules/axe-core": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", + "dev": true, "engines": { - "node": ">=10.6.0" + "node": ">=4" } }, - "node_modules/cacheable-request": { - "version": "2.1.4", - "license": "MIT", + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "3.0.0", - "license": "MIT", + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/json-buffer": { - "version": "3.0.0", - "license": "MIT" - }, - "node_modules/cacheable-request/node_modules/keyv": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.0" + "node": ">= 0.4" } }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "peer": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/call-bind": { - "version": "1.0.5", + "node_modules/babel-plugin-macros": { + "version": "3.1.0", "license": "MIT", "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10", + "npm": ">=6" } }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "peer": true, "dependencies": { - "callsites": "^2.0.0" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "peer": true, - "engines": { - "node": ">=4" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "peer": true, "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "license": "MIT", - "engines": { - "node": ">=10" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "license": "MIT", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "peer": true, "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "peer": true, + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" } }, - "node_modules/camelcase-keys/node_modules/quick-lru": { - "version": "4.0.1", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" }, - "node_modules/caniuse-lite": { - "version": "1.0.30001659", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001659.tgz", - "integrity": "sha512-Qxxyfv3RdHAfJcXelgf0hU4DFUVXBGTjqrBUZLUh8AtlGnsDo+CnncYtTd95+ZKfnANUOzxyIQCuU/UeBZBYoA==", + "node_modules/base-x": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-4.0.0.tgz", + "integrity": "sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + "type": "patreon", + "url": "https://www.patreon.com/feross" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "consulting", + "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/cbor": { - "version": "8.1.0", + "node_modules/bech32": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "license": "Apache-2.0" + }, + "node_modules/better-path-resolve": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "nofilter": "^3.1.0" + "is-windows": "^1.0.0" }, "engines": { - "node": ">=12.19" + "node": ">=4" } }, - "node_modules/cbor-extract": { - "version": "2.2.0", - "hasInstallScript": true, + "node_modules/bignumber.js": { + "version": "9.1.2", "license": "MIT", - "optional": true, - "dependencies": { - "node-gyp-build-optional-packages": "5.1.1" - }, - "bin": { - "download-cbor-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@cbor-extract/cbor-extract-darwin-arm64": "2.2.0", - "@cbor-extract/cbor-extract-darwin-x64": "2.2.0", - "@cbor-extract/cbor-extract-linux-arm": "2.2.0", - "@cbor-extract/cbor-extract-linux-arm64": "2.2.0", - "@cbor-extract/cbor-extract-linux-x64": "2.2.0", - "@cbor-extract/cbor-extract-win32-x64": "2.2.0" + "engines": { + "node": "*" } }, - "node_modules/cbor-x": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/cbor-x/-/cbor-x-1.5.9.tgz", - "integrity": "sha512-OEI5rEu3MeR0WWNUXuIGkxmbXVhABP+VtgAXzm48c9ulkrsvxshjjk94XSOGphyAKeNGLPfAxxzEtgQ6rEVpYQ==", - "optionalDependencies": { - "cbor-extract": "^2.2.0" + "node_modules/bip174": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bip174/-/bip174-2.1.1.tgz", + "integrity": "sha512-mdFV5+/v0XyNYXjBS6CQPLo9ekCx4gtKZFnJm5PMto7Fs9hTTDpkkzOB7/FtluRI6JbUUAu+snTYfJRgHLZbZQ==", + "engines": { + "node": ">=8.0.0" } }, - "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", - "dev": true, + "node_modules/bitcoinjs-lib": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.1.6.tgz", + "integrity": "sha512-Fk8+Vc+e2rMoDU5gXkW9tD+313rhkm5h6N9HfZxXvYU9LedttVvmXKTgd9k5rsQJjkSfsv6XRM8uhJv94SrvcA==", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "@noble/hashes": "^1.2.0", + "bech32": "^2.0.0", + "bip174": "^2.1.1", + "bs58check": "^3.0.1", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.1.2" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/chalk": { - "version": "5.3.0", + "node_modules/bl": { + "version": "5.1.0", "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/chardet": { - "version": "0.7.0", - "license": "MIT" - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", "dependencies": { - "get-func-name": "^2.0.2" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "*" + "node": ">= 6" } }, - "node_modules/chownr": { - "version": "2.0.0", + "node_modules/blake2b": { + "version": "2.1.3", "license": "ISC", - "engines": { - "node": ">=10" + "dependencies": { + "blake2b-wasm": "^1.1.0", + "nanoassert": "^1.0.0" } }, - "node_modules/chrome-launcher": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", - "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", - "peer": true, + "node_modules/blake2b-wasm": { + "version": "1.1.7", + "license": "MIT", "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, - "engines": { - "node": ">=12.13.0" + "nanoassert": "^1.0.0" } }, - "node_modules/chromium-edge-launcher": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", - "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==", - "peer": true, + "node_modules/blakejs": { + "version": "1.2.1", + "license": "MIT" + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/bottleneck": { + "version": "2.19.5", + "license": "MIT" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "license": "MIT", "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0", - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/chromium-edge-launcher/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" + "node_modules/braces": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/ci-info": { - "version": "3.9.0", + "node_modules/breakword": { + "version": "1.0.6", + "license": "MIT", + "dependencies": { + "wcwidth": "^1.0.1" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, { "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, "engines": { - "node": ">=8" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/bs58": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz", + "integrity": "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==", + "dependencies": { + "base-x": "^4.0.0" } }, - "node_modules/cli-cursor": { - "version": "4.0.0", - "license": "MIT", + "node_modules/bs58check": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-3.0.1.tgz", + "integrity": "sha512-hjuuJvoWEybo7Hn/0xOrczQKKEKD63WguEjlhLExYs2wUBcebDC1jDNK17eEAD2lYfw82d5ASC1d7K3SWszjaQ==", "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@noble/hashes": "^1.2.0", + "bs58": "^5.0.0" } }, - "node_modules/cli-highlight": { - "version": "2.1.11", - "license": "ISC", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "peer": true, "dependencies": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, + "node-int64": "^0.4.0" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "license": "(MIT OR Apache-2.0)", "bin": { - "highlight": "bin/highlight" + "btoa": "bin/btoa.js" }, "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" + "node": ">= 0.4.0" } }, - "node_modules/cli-highlight/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/btoa-lite": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/buffer": { + "version": "6.0.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/cli-highlight/node_modules/chalk": { - "version": "4.1.2", + "node_modules/buffer-alloc": { + "version": "1.2.0", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "node_modules/cli-highlight/node_modules/cliui": { - "version": "7.0.4", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "license": "MIT" }, - "node_modules/cli-highlight/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/buffer-crc32": { + "version": "0.2.13", "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": "*" } }, - "node_modules/cli-highlight/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "license": "BSD-3-Clause" }, - "node_modules/cli-highlight/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/buffer-fill": { + "version": "1.0.0", "license": "MIT" }, - "node_modules/cli-highlight/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "peer": true + }, + "node_modules/buffer-writer": { + "version": "2.0.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/cli-highlight/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", + "node_modules/bufferutil": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, "engines": { - "node": ">=8" + "node": ">=6.14.2" } }, - "node_modules/cli-highlight/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", + "node_modules/busboy": { + "version": "1.6.0", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "streamsearch": "^1.1.0" }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/cli-highlight/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/cacache": { + "version": "15.3.0", + "license": "ISC", + "optional": true, "dependencies": { - "has-flag": "^4.0.0" + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/cli-highlight/node_modules/wrap-ansi": { - "version": "7.0.0", - "license": "MIT", + "node_modules/cacache/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "optional": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/cli-highlight/node_modules/yargs": { - "version": "16.2.0", + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { "node": ">=10" } }, - "node_modules/cli-highlight/node_modules/yargs-parser": { - "version": "20.2.9", + "node_modules/cacache/node_modules/yallist": { + "version": "4.0.0", "license": "ISC", - "engines": { - "node": ">=10" - } + "optional": true }, - "node_modules/cli-spinners": { - "version": "2.9.1", + "node_modules/cacheable-lookup": { + "version": "5.0.4", "license": "MIT", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.6.0" } }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "node_modules/cacheable-request": { + "version": "2.1.4", + "license": "MIT", "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "3.0.0", + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/client-only": { - "version": "0.0.1", + "node_modules/cacheable-request/node_modules/json-buffer": { + "version": "3.0.0", "license": "MIT" }, - "node_modules/cliui": { - "version": "8.0.1", - "license": "ISC", + "node_modules/cacheable-request/node_modules/keyv": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" + "json-buffer": "3.0.0" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "1.0.0", "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "color-convert": "^2.0.1" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "callsites": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "peer": true, + "engines": { + "node": ">=4" + } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "peer": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/callsites": { + "version": "3.1.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", + "node_modules/camelcase": { + "version": "6.3.0", "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/camelcase-keys": { + "version": "6.2.2", "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clone": { - "version": "1.0.4", + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">=6" } }, - "node_modules/clone-deep": { + "node_modules/camelcase-keys/node_modules/quick-lru": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "peer": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "peer": true, + "node_modules/caniuse-lite": { + "version": "1.0.30001659", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001659.tgz", + "integrity": "sha512-Qxxyfv3RdHAfJcXelgf0hU4DFUVXBGTjqrBUZLUh8AtlGnsDo+CnncYtTd95+ZKfnANUOzxyIQCuU/UeBZBYoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/cbor": { + "version": "8.1.0", + "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "nofilter": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12.19" } }, - "node_modules/clone-response": { - "version": "1.0.2", + "node_modules/cbor-extract": { + "version": "2.2.0", + "hasInstallScript": true, "license": "MIT", + "optional": true, "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/clsx": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=6" + "node-gyp-build-optional-packages": "5.1.1" + }, + "bin": { + "download-cbor-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@cbor-extract/cbor-extract-darwin-arm64": "2.2.0", + "@cbor-extract/cbor-extract-darwin-x64": "2.2.0", + "@cbor-extract/cbor-extract-linux-arm": "2.2.0", + "@cbor-extract/cbor-extract-linux-arm64": "2.2.0", + "@cbor-extract/cbor-extract-linux-x64": "2.2.0", + "@cbor-extract/cbor-extract-win32-x64": "2.2.0" } }, - "node_modules/cockatiel": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz", - "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==", - "engines": { - "node": ">=16" + "node_modules/cbor-x": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/cbor-x/-/cbor-x-1.5.9.tgz", + "integrity": "sha512-OEI5rEu3MeR0WWNUXuIGkxmbXVhABP+VtgAXzm48c9ulkrsvxshjjk94XSOGphyAKeNGLPfAxxzEtgQ6rEVpYQ==", + "optionalDependencies": { + "cbor-extract": "^2.2.0" } }, - "node_modules/code-block-writer": { - "version": "12.0.0", + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, - "license": "MIT" - }, - "node_modules/color": { - "version": "3.2.1", - "license": "MIT", "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" } }, - "node_modules/color-convert": { - "version": "1.9.3", + "node_modules/chalk": { + "version": "5.3.0", "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/color-name": { - "version": "1.1.3", + "node_modules/chardet": { + "version": "0.7.0", "license": "MIT" }, - "node_modules/color-string": { - "version": "1.9.1", - "license": "MIT", + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" } }, - "node_modules/color-support": { - "version": "1.1.3", + "node_modules/chownr": { + "version": "2.0.0", "license": "ISC", - "bin": { - "color-support": "bin.js" + "engines": { + "node": ">=10" } }, - "node_modules/colorette": { - "version": "2.0.20", - "dev": true, - "license": "MIT" - }, - "node_modules/colors": { - "version": "1.2.5", - "dev": true, - "license": "MIT", + "node_modules/chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "peer": true, + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" + }, + "bin": { + "print-chrome-path": "bin/print-chrome-path.js" + }, "engines": { - "node": ">=0.1.90" + "node": ">=12.13.0" } }, - "node_modules/colorspace": { - "version": "1.1.4", - "license": "MIT", + "node_modules/chromium-edge-launcher": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", + "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==", + "peer": true, "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" + "node_modules/chromium-edge-launcher/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "peer": true - }, - "node_modules/commander": { - "version": "11.0.0", - "dev": true, + "node_modules/ci-info": { + "version": "3.9.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { - "node": ">=16" + "node": ">=8" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "peer": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "peer": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, + "node_modules/clean-stack": { + "version": "2.2.0", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "peer": true, + "node_modules/cli-cursor": { + "version": "4.0.0", + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, + "node_modules/cli-highlight": { + "version": "2.1.11", + "license": "ISC", "dependencies": { - "ms": "2.0.0" + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "peer": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/config": { - "version": "3.3.9", + "node_modules/cli-highlight/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "json5": "^2.2.3" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 10.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "peer": true, + "node_modules/cli-highlight/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, + "node_modules/cli-highlight/node_modules/cliui": { + "version": "7.0.4", + "license": "ISC", "dependencies": { - "ms": "2.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "license": "ISC" - }, - "node_modules/content-disposition": { - "version": "0.5.4", + "node_modules/cli-highlight/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "safe-buffer": "5.2.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", + "node_modules/cli-highlight/node_modules/color-name": { + "version": "1.1.4", "license": "MIT" }, - "node_modules/copy-to-clipboard": { - "version": "3.3.3", + "node_modules/cli-highlight/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/cli-highlight/node_modules/has-flag": { + "version": "4.0.0", "license": "MIT", - "dependencies": { - "toggle-selection": "^1.0.6" + "engines": { + "node": ">=8" } }, - "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", - "peer": true, - "dependencies": { - "browserslist": "^4.23.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/cli-highlight/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", + "node_modules/cli-highlight/node_modules/string-width": { + "version": "4.2.3", "license": "MIT", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" + "node_modules/cli-highlight/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "devOptional": true, - "license": "MIT" - }, - "node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" + "node": ">=8" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/cli-highlight/node_modules/wrap-ansi": { + "version": "7.0.0", "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/crypto-js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" - }, - "node_modules/csstype": { - "version": "3.1.2", - "license": "MIT" - }, - "node_modules/csv": { - "version": "5.5.3", + "node_modules/cli-highlight/node_modules/yargs": { + "version": "16.2.0", "license": "MIT", "dependencies": { - "csv-generate": "^3.4.3", - "csv-parse": "^4.16.3", - "csv-stringify": "^5.6.5", - "stream-transform": "^2.1.3" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 0.1.90" + "node": ">=10" } }, - "node_modules/csv-generate": { - "version": "3.4.3", - "license": "MIT" - }, - "node_modules/csv-parse": { - "version": "4.16.3", - "license": "MIT" + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.9", + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "node_modules/csv-stringify": { - "version": "5.6.5", - "license": "MIT" + "node_modules/cli-spinners": { + "version": "2.9.1", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", + "node_modules/cli-truncate": { + "version": "3.1.0", "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0" + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" }, "engines": { - "node": ">=0.11" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dayjs": { - "version": "1.11.10", + "node_modules/client-only": { + "version": "0.0.1", "license": "MIT" }, - "node_modules/debug": { - "version": "4.3.4", - "license": "MIT", + "node_modules/cliui": { + "version": "8.0.1", + "license": "ISC", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/decamelize-keys": { - "version": "1.1.1", + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/decode-uri-component": { - "version": "0.2.2", + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/decompress": { - "version": "4.2.1", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", "license": "MIT", "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/decompress-response": { - "version": "3.3.0", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", "license": "MIT", "dependencies": { - "mimic-response": "^1.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", + "node_modules/clone": { + "version": "1.0.4", "license": "MIT", - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, "engines": { - "node": ">=4" + "node": ">=0.8" } }, - "node_modules/decompress-tar/node_modules/file-type": { - "version": "5.2.0", - "license": "MIT", + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "peer": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "license": "MIT", + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "peer": true, "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" + "isobject": "^3.0.1" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", + "node_modules/clone-response": { + "version": "1.0.2", "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "mimic-response": "^1.0.0" } }, - "node_modules/decompress-targz": { - "version": "4.1.1", + "node_modules/clsx": { + "version": "2.0.0", "license": "MIT", - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/decompress-targz/node_modules/file-type": { - "version": "5.2.0", - "license": "MIT", + "node_modules/cockatiel": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz", + "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==", "engines": { - "node": ">=4" + "node": ">=16" } }, - "node_modules/decompress-unzip": { - "version": "4.0.1", + "node_modules/code-block-writer": { + "version": "12.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/color": { + "version": "3.2.1", "license": "MIT", "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", + "node_modules/color-convert": { + "version": "1.9.3", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", + "node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", "license": "MIT", "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/color-support": { + "version": "1.1.3", + "license": "ISC", + "bin": { + "color-support": "bin.js" } }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", + "node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.2.5", + "dev": true, "license": "MIT", - "dependencies": { - "pify": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=0.1.90" } }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", + "node_modules/colorspace": { + "version": "1.1.4", "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" } }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", + "node_modules/combined-stream": { + "version": "1.0.8", "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "peer": true + }, + "node_modules/commander": { + "version": "11.0.0", "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=16" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "peer": true }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "peer": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/defaults": { - "version": "1.0.4", - "license": "MIT", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "peer": true, "dependencies": { - "clone": "^1.0.2" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "license": "MIT", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "ms": "2.0.0" } }, - "node_modules/define-lazy-prop": { + "node_modules/compression/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, - "node_modules/define-properties": { - "version": "1.2.1", + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/config": { + "version": "3.3.9", "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "json5": "^2.2.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10.0.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.10.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "license": "MIT" + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "peer": true }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "peer": true, + "node_modules/console-control-strings": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "license": "ISC" + "node_modules/convert-source-map": { + "version": "1.9.0", + "license": "MIT" }, - "node_modules/dequal": { - "version": "2.0.3", - "dev": true, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "toggle-selection": "^1.0.6" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "peer": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/detect-browser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", - "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" }, - "node_modules/detect-indent": { - "version": "6.1.0", + "node_modules/cosmiconfig": { + "version": "7.1.0", "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/detect-libc": { - "version": "2.0.2", - "license": "Apache-2.0", + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/diff": { - "version": "4.0.2", + "node_modules/create-require": { + "version": "1.1.1", "devOptional": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } + "license": "MIT" }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" } }, - "node_modules/dir-glob": { - "version": "3.0.1", + "node_modules/cross-spawn": { + "version": "7.0.3", "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, + "node_modules/csstype": { + "version": "3.1.2", + "license": "MIT" + }, + "node_modules/csv": { + "version": "5.5.3", + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "csv-generate": "^3.4.3", + "csv-parse": "^4.16.3", + "csv-stringify": "^5.6.5", + "stream-transform": "^2.1.3" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.1.90" } }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "license": "MIT", + "node_modules/csv-generate": { + "version": "3.4.3", + "license": "MIT" + }, + "node_modules/csv-parse": { + "version": "4.16.3", + "license": "MIT" + }, + "node_modules/csv-stringify": { + "version": "5.6.5", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "dev": true, - "license": "MIT", + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dotenv": { - "version": "16.3.1", - "license": "BSD-2-Clause", + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/download": { - "version": "8.0.0", - "license": "MIT", + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dependencies": { - "archive-type": "^4.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.2.1", - "ext-name": "^5.0.0", - "file-type": "^11.1.0", - "filenamify": "^3.0.0", - "get-stream": "^4.1.0", - "got": "^8.3.1", - "make-dir": "^2.1.0", - "p-event": "^2.1.0", - "pify": "^4.0.1" + "@babel/runtime": "^7.21.0" }, "engines": { - "node": ">=10" + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" } }, - "node_modules/duplexer3": { - "version": "0.1.5", - "license": "BSD-3-Clause" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", + "node_modules/dayjs": { + "version": "1.11.10", "license": "MIT" }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "license": "Apache-2.0", + "node_modules/debug": { + "version": "4.3.4", + "license": "MIT", "dependencies": { - "safe-buffer": "^5.0.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/eciesjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.3.20.tgz", - "integrity": "sha512-Rz5AB8v9+xmMdS/R7RzWPe/R8DP5QfyrkA6ce4umJopoB5su2H2aDy/GcgIfwhmCwxnBkqGf/PbGzmKcGtIgGA==", - "dependencies": { - "@types/secp256k1": "^4.0.6", - "futoin-hkdf": "^1.5.3", - "secp256k1": "^5.0.0" + "node_modules/decamelize": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eciesjs/node_modules/node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" - }, - "node_modules/eciesjs/node_modules/secp256k1": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz", - "integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==", - "hasInstallScript": true, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "license": "MIT", "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^5.0.0", - "node-gyp-build": "^4.2.0" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "peer": true - }, - "node_modules/electron-to-chromium": { - "version": "1.5.18", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz", - "integrity": "sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==" - }, - "node_modules/elliptic": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", - "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" - }, - "node_modules/enabled": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "peer": true, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=0.10" } }, - "node_modules/encoding": { - "version": "0.1.13", + "node_modules/decompress": { + "version": "4.2.1", "license": "MIT", - "optional": true, "dependencies": { - "iconv-lite": "^0.6.2" + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", + "node_modules/decompress-response": { + "version": "3.3.0", "license": "MIT", "dependencies": { - "once": "^1.4.0" + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/engine.io-client": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz", - "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==", + "node_modules/decompress-tar": { + "version": "4.1.1", + "license": "MIT", "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">=4" } }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "node_modules/decompress-tar/node_modules/file-type": { + "version": "5.2.0", + "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "dev": true, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" }, "engines": { - "node": ">=10.13.0" + "node": ">=4" } }, - "node_modules/enquirer": { - "version": "2.4.1", + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8.6" + "node": ">=4" } }, - "node_modules/entities": { - "version": "4.5.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" + "node_modules/decompress-targz": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "engines": { + "node": ">=4" } }, - "node_modules/env-paths": { - "version": "2.2.1", + "node_modules/decompress-targz/node_modules/file-type": { + "version": "5.2.0", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/envinfo": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", - "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", - "peer": true, - "bin": { - "envinfo": "dist/cli.js" + "node_modules/decompress-unzip": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" }, "engines": { "node": ">=4" } }, - "node_modules/ergo-lib-wasm-nodejs": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ergo-lib-wasm-nodejs/-/ergo-lib-wasm-nodejs-0.24.1.tgz", - "integrity": "sha512-S80/psMHAmsKndrrL7IAYT5TJD1YnHlTpqWr/oAaO0yGafjRxIB5MxX4GDxZhDem+hu44O8Nl/e0ieG/SytUtg==" - }, - "node_modules/err-code": { - "version": "2.0.3", + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", "license": "MIT", - "optional": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/error-ex": { - "version": "1.3.2", + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "peer": true, - "dependencies": { - "stackframe": "^1.3.4" + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "peer": true, + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "license": "MIT", "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" + "pify": "^3.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/es-abstract": { - "version": "1.22.3", + "node_modules/decompress/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/pify": { + "version": "2.3.0", "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "type-detect": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/es-iterator-helpers": { - "version": "1.0.15", + "node_modules/deep-is": { + "version": "0.1.4", "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", "license": "MIT", "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", + "node_modules/defer-to-connect": { + "version": "2.0.1", "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" } }, - "node_modules/es-to-primitive": { + "node_modules/define-properties": { "version": "1.2.1", "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -13201,2499 +13713,2400 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.18.20", - "dev": true, - "hasInstallScript": true, + "node_modules/delayed-stream": { + "version": "1.0.0", "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "node": ">=0.4.0" } }, - "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], + "node_modules/delegates": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "peer": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "peer": true, "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], + "node_modules/deprecation": { + "version": "2.3.1", + "license": "ISC" + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "peer": true, "engines": { - "node": ">=12" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], + "node_modules/detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/detect-libc": { + "version": "2.0.2", + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], + "node_modules/diff": { + "version": "4.0.2", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/dir-glob": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/dom-helpers": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], + "node_modules/dot-case": { + "version": "3.0.4", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/dotenv": { + "version": "16.3.1", + "license": "BSD-2-Clause", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/download": { + "version": "8.0.0", + "license": "MIT", + "dependencies": { + "archive-type": "^4.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.2.1", + "ext-name": "^5.0.0", + "file-type": "^11.1.0", + "filenamify": "^3.0.0", + "get-stream": "^4.1.0", + "got": "^8.3.1", + "make-dir": "^2.1.0", + "p-event": "^2.1.0", + "pify": "^4.0.1" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "node_modules/duplexer3": { + "version": "0.1.5", + "license": "BSD-3-Clause" }, - "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "node_modules/eastasianwidth": { + "version": "0.2.0", + "license": "MIT" }, - "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/eciesjs": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.3.20.tgz", + "integrity": "sha512-Rz5AB8v9+xmMdS/R7RzWPe/R8DP5QfyrkA6ce4umJopoB5su2H2aDy/GcgIfwhmCwxnBkqGf/PbGzmKcGtIgGA==", + "dependencies": { + "@types/secp256k1": "^4.0.6", + "futoin-hkdf": "^1.5.3", + "secp256k1": "^5.0.0" } }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } + "node_modules/eciesjs/node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" }, - "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "node_modules/eciesjs/node_modules/secp256k1": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz", + "integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==", + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^5.0.0", + "node-gyp-build": "^4.2.0" + }, "engines": { - "node": ">=12" + "node": ">=14.0.0" } }, - "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "peer": true }, - "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } + "node_modules/electron-to-chromium": { + "version": "1.5.18", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz", + "integrity": "sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==" }, - "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "node_modules/elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } + "node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "node_modules/enabled": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "peer": true, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "peer": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/encoding": { + "version": "0.1.13", "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "node_modules/eslint": { - "version": "8.42.0", - "dev": true, + "node_modules/end-of-stream": { + "version": "1.4.4", "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.42.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "once": "^1.4.0" } }, - "node_modules/eslint-config-next": { - "version": "13.4.4", - "dev": true, - "license": "MIT", + "node_modules/engine.io-client": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz", + "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==", "dependencies": { - "@next/eslint-plugin-next": "13.4.4", - "@rushstack/eslint-patch": "^1.1.3", - "@typescript-eslint/parser": "^5.42.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.31.7", - "eslint-plugin-react-hooks": "^4.5.0" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "node_modules/engine.io-client/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "engines": { + "node": ">=10.0.0" }, "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { - "typescript": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { "optional": true } } }, - "node_modules/eslint-config-next/node_modules/@next/eslint-plugin-next": { - "version": "13.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "7.1.7" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "engines": { + "node": ">=10.0.0" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, + "node_modules/enquirer": { + "version": "2.4.1", "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" } }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.6.1", + "node_modules/entities": { + "version": "4.5.0", "dev": true, - "license": "ISC", - "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "fast-glob": "^3.3.1", - "get-tsconfig": "^4.5.0", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3" - }, + "license": "BSD-2-Clause", "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=0.12" }, "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "dev": true, + "node_modules/env-paths": { + "version": "2.2.1", "license": "MIT", - "dependencies": { - "debug": "^3.2.7" + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", + "peer": true, + "bin": { + "envinfo": "dist/cli.js" }, "engines": { "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, + "node_modules/ergo-lib-wasm-nodejs": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ergo-lib-wasm-nodejs/-/ergo-lib-wasm-nodejs-0.24.1.tgz", + "integrity": "sha512-S80/psMHAmsKndrrL7IAYT5TJD1YnHlTpqWr/oAaO0yGafjRxIB5MxX4GDxZhDem+hu44O8Nl/e0ieG/SytUtg==" + }, + "node_modules/err-code": { + "version": "2.0.3", "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } + "optional": true }, - "node_modules/eslint-plugin-import": { - "version": "2.29.0", - "dev": true, + "node_modules/error-ex": { + "version": "1.3.2", "license": "MIT", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "is-arrayish": "^0.2.1" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "peer": true, "dependencies": { - "ms": "^2.1.1" + "stackframe": "^1.3.4" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "peer": true, "dependencies": { - "esutils": "^2.0.2" + "accepts": "~1.3.7", + "escape-html": "~1.0.3" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": ">= 0.8" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "node_modules/es-abstract": { + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { - "node": ">=4.0" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "dev": true, - "license": "MIT", + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">= 0.4" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "dev": true, - "license": "MIT", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=7" + "node": ">= 0.4" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", + "node_modules/es-iterator-helpers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "esutils": "^2.0.2" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "dev": true, - "license": "MIT", + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "es-errors": "^1.3.0" }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">= 0.4" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 0.4" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "hasown": "^2.0.0" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "node_modules/es-to-primitive": { + "version": "1.2.1", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/esbuild": { + "version": "0.18.20", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" }, - "funding": { - "url": "https://opencollective.com/eslint" + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", + "node_modules/esbuild/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/esbuild/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/esbuild/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", + "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "(MIT OR CC0-1.0)", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/espree": { - "version": "9.6.1", + "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=12" } }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/esquery": { - "version": "1.5.0", + "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=0.10" + "node": ">=12" } }, - "node_modules/esrecurse": { - "version": "4.3.0", + "node_modules/esbuild/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4.0" + "node": ">=12" } }, - "node_modules/estraverse": { - "version": "5.3.0", + "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-2-Clause", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4.0" + "node": ">=12" } }, - "node_modules/estree-walker": { - "version": "2.0.2", + "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "peer": true, + "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/eth-rpc-errors": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", - "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/ethereum-cryptography": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", - "dependencies": { - "@noble/curves": "1.4.2", - "@noble/hashes": "1.4.0", - "@scure/bip32": "1.4.0", - "@scure/bip39": "1.3.0" - } - }, - "node_modules/ethereum-cryptography/node_modules/@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", - "dependencies": { - "@noble/hashes": "1.4.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/ethers": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.2.tgz", - "integrity": "sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/ethers-io/" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } + "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" ], - "dependencies": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "18.15.13", - "aes-js": "4.0.0-beta.5", - "tslib": "2.4.0", - "ws": "8.17.1" - }, "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "node_modules/ethers/node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=12" } }, - "node_modules/ethers/node_modules/@types/node": { - "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" - }, - "node_modules/ethers/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/ethers/node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=12" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/eventemitter2": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", - "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" - }, - "node_modules/eventemitter3": { - "version": "5.0.1", + "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=0.8.x" + "node": ">=12" } }, - "node_modules/execa": { - "version": "7.2.0", + "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=12" } }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", + "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "3.0.0", + "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", - "peer": true - }, - "node_modules/ext-list": { - "version": "2.2.2", - "license": "MIT", - "dependencies": { - "mime-db": "^1.28.0" - }, + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/ext-name": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/extendable-error": { - "version": "0.1.7", - "license": "MIT" + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "peer": true }, - "node_modules/extension-port-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-3.0.0.tgz", - "integrity": "sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==", - "dependencies": { - "readable-stream": "^3.6.2 || ^4.4.2", - "webextension-polyfill": ">=0.10.0 <1.0" - }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">=12.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/extension-port-stream/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/extension-port-stream/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/eslint-config-next": { + "version": "13.4.4", + "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "@next/eslint-plugin-next": "13.4.4", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.42.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.31.7", + "eslint-plugin-react-hooks": "^4.5.0" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/extensionless": { - "version": "1.9.6", + "node_modules/eslint-config-next/node_modules/@next/eslint-plugin-next": { + "version": "13.4.4", "dev": true, - "license": "MIT" - }, - "node_modules/external-editor": { - "version": "3.1.0", "license": "MIT", "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "glob": "7.1.7" + } + }, + "node_modules/eslint-config-next/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/external-editor/node_modules/iconv-lite": { - "version": "0.4.24", - "license": "MIT", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" + "node_modules/eslint-config-next/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "node_modules/fast-glob": { - "version": "3.3.2", - "license": "MIT", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8.6.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", + "node_modules/eslint-config-next/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", + "node_modules/eslint-config-next/node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, - "license": "MIT" - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fast-xml-parser": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz", - "integrity": "sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], - "peer": true, - "dependencies": { - "strnum": "^1.0.5" - }, "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "peer": true, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", "dependencies": { - "bser": "2.1.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, "license": "MIT", "dependencies": { - "pend": "~1.2.0" + "ms": "^2.1.1" } }, - "node_modules/fecha": { - "version": "4.2.3", - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", + "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", "dev": true, - "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.5", + "enhanced-resolve": "^5.15.0", + "eslint-module-utils": "^2.8.1", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } } }, - "node_modules/file-stream-rotator": { - "version": "0.6.1", - "license": "MIT", + "node_modules/eslint-import-resolver-typescript/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, "dependencies": { - "moment": "^2.29.1" - } - }, - "node_modules/file-type": { - "version": "11.1.0", - "license": "MIT", + "ms": "^2.1.3" + }, "engines": { - "node": ">=6" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/eslint-import-resolver-typescript/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, - "node_modules/filenamify": { - "version": "3.0.0", - "license": "MIT", + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" + "debug": "^3.2.7" }, "engines": { - "node": ">=6" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/fill-range": { - "version": "7.0.1", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "ms": "^2.1.1" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "peer": true, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" }, "engines": { - "node": ">= 0.8" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/find-cache-dir": { + "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "peer": true, + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "peer": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "peer": true, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" }, "engines": { - "node": ">=6" + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "peer": true, + "node_modules/eslint-plugin-react": { + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "dev": true, "dependencies": { - "p-try": "^2.0.0" + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "peer": true, - "dependencies": { - "p-limit": "^2.0.0" - }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "dev": true, "engines": { - "node": ">=6" - } + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "peer": true, - "engines": { - "node": ">=4" + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.14.tgz", + "integrity": "sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" } }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "peer": true, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, "dependencies": { - "find-up": "^3.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/find-root": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/find-yarn-workspace-root2": { - "version": "1.2.16", - "license": "Apache-2.0", - "dependencies": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/flat-cache": { - "version": "3.2.0", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/flatted": { - "version": "3.2.9", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", "dev": true, - "license": "ISC" - }, - "node_modules/flow-enums-runtime": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", - "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", - "peer": true - }, - "node_modules/flow-parser": { - "version": "0.245.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.245.2.tgz", - "integrity": "sha512-FU4yuqC1j2IeWWicpzG0YJrXHJgKjK/AU8QKK/7MvQaNhcoGisDoE7FJLGCtbvnifzsgDWdm9/jtTF7Mp+PJXQ==", - "peer": true, + "license": "Apache-2.0", "engines": { - "node": ">=0.4.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fn.name": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "node_modules/eslint/node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/for-each": { - "version": "0.3.3", - "license": "MIT", + "node_modules/eslint/node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, "dependencies": { - "is-callable": "^1.1.3" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "license": "ISC", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "license": "ISC", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/form-data": { - "version": "4.0.0", + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "peer": true, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/from2": { - "version": "2.3.0", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "10.1.0", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, "engines": { - "node": ">= 8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "license": "MIT", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/futoin-hkdf": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz", - "integrity": "sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==", + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/gauge": { - "version": "3.0.2", - "license": "ISC", + "node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/gauge/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=0.10" } }, - "node_modules/gauge/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "license": "MIT", + "node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=6.9.0" + "node": ">=4.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", + "node_modules/estree-walker": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=0.10.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "peer": true, "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "license": "MIT", + "node_modules/eth-rpc-errors": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", + "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "fast-safe-stringify": "^2.0.6" } }, - "node_modules/get-stream": { - "version": "4.1.0", - "license": "MIT", + "node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "license": "MIT", + "node_modules/ethereum-cryptography/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "@noble/hashes": "1.4.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/get-tsconfig": { - "version": "4.7.2", - "dev": true, - "license": "MIT", + "node_modules/ethers": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.2.tgz", + "integrity": "sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "resolve-pkg-maps": "^1.0.0" + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "18.15.13", + "aes-js": "4.0.0-beta.5", + "tslib": "2.4.0", + "ws": "8.17.1" }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/glob": { - "version": "7.1.7", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "node_modules/ethers/node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "engines": { - "node": "*" + "node": ">= 16" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } + "node_modules/ethers/node_modules/@types/node": { + "version": "18.15.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", + "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" }, - "node_modules/globals": { - "version": "11.12.0", - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/ethers/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "node_modules/globalthis": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, + "node_modules/ethers/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "engines": { - "node": ">= 0.4" + "node": ">=10.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/globby": { - "version": "11.1.0", + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", + "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/gopd": { - "version": "1.0.1", + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/got": { - "version": "8.3.2", + "node_modules/execa/node_modules/is-stream": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/got/node_modules/get-stream": { - "version": "3.0.0", + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "peer": true + }, + "node_modules/ext-list": { + "version": "2.2.2", "license": "MIT", + "dependencies": { + "mime-db": "^1.28.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/got/node_modules/pify": { - "version": "3.0.0", + "node_modules/ext-name": { + "version": "5.0.0", "license": "MIT", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, "engines": { "node": ">=4" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "license": "ISC" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "license": "MIT" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, + "node_modules/extendable-error": { + "version": "0.1.7", "license": "MIT" }, - "node_modules/graphql": { - "version": "16.8.1", - "license": "MIT", - "peer": true, + "node_modules/extension-port-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-3.0.0.tgz", + "integrity": "sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==", + "dependencies": { + "readable-stream": "^3.6.2 || ^4.4.2", + "webextension-polyfill": ">=0.10.0 <1.0" + }, "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + "node": ">=12.0.0" } }, - "node_modules/graphql-tag": { - "version": "2.12.6", - "license": "MIT", + "node_modules/extension-port-stream/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", "dependencies": { - "tslib": "^2.1.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/extension-port-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/extensionless": { + "version": "1.9.6", + "dev": true, + "license": "MIT" }, - "node_modules/has-flag": { - "version": "3.0.0", + "node_modules/external-editor": { + "version": "3.1.0", "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, "engines": { "node": ">=4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", + "node_modules/external-editor/node_modules/iconv-lite": { + "version": "0.4.24", "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "safer-buffer": ">= 2.1.2 < 3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "license": "MIT", "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", + "node_modules/fast-glob": { + "version": "3.3.2", "license": "MIT", "dependencies": { - "has-symbol-support-x": "^1.4.1" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": "*" + "node": ">=8.6.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "license": "MIT", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", "dependencies": { - "has-symbols": "^1.0.2" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "license": "ISC" - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" }, - "node_modules/hasown": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" }, - "node_modules/hermes-estree": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.22.0.tgz", - "integrity": "sha512-FLBt5X9OfA8BERUdc6aZS36Xz3rRuB0Y/mfocSADWEJfomc1xfene33GdyAmtTkKTBXTN/EgAy+rjTKkkZJHlw==", - "peer": true + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, - "node_modules/hermes-parser": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.22.0.tgz", - "integrity": "sha512-gn5RfZiEXCsIWsFGsKiykekktUoh0PdFWYocXsUdZIyWSckT6UIyPcyyUIPSR3kpnELWeK3n3ztAse7Mat6PSA==", + "node_modules/fast-xml-parser": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz", + "integrity": "sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], "peer": true, "dependencies": { - "hermes-estree": "0.22.0" + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" } }, - "node_modules/highlight.js": { - "version": "10.7.3", - "license": "BSD-3-Clause", - "engines": { - "node": "*" + "node_modules/fastq": { + "version": "1.15.0", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "peer": true, "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "bser": "2.1.1" } }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "license": "BSD-3-Clause", + "node_modules/fd-slicer": { + "version": "1.1.0", + "license": "MIT", "dependencies": { - "react-is": "^16.7.0" + "pend": "~1.2.0" } }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", + "node_modules/fecha": { + "version": "4.2.3", "license": "MIT" }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "license": "ISC" - }, - "node_modules/html-escaper": { - "version": "2.0.2", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT" - }, - "node_modules/http-cache-semantics": { - "version": "3.8.1", - "license": "BSD-2-Clause" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "peer": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">= 0.8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "peer": true, + "node_modules/file-stream-rotator": { + "version": "0.6.1", + "license": "MIT", + "dependencies": { + "moment": "^2.29.1" + } + }, + "node_modules/file-type": { + "version": "11.1.0", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", + "node_modules/filename-reserved-regex": { + "version": "2.0.0", "license": "MIT", - "optional": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/http2-wrapper": { - "version": "1.0.3", + "node_modules/filenamify": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" }, "engines": { - "node": ">=10.19.0" + "node": ">=6" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", + "node_modules/fill-range": { + "version": "7.0.1", "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/human-id": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/human-signals": { - "version": "4.3.1", - "dev": true, - "license": "Apache-2.0", + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, "engines": { - "node": ">=14.18.0" + "node": ">= 0.8" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "license": "MIT", - "optional": true, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { - "ms": "^2.0.0" + "ms": "2.0.0" } }, - "node_modules/husky": { - "version": "8.0.3", - "dev": true, - "license": "MIT", - "bin": { - "husky": "lib/bin.js" + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "peer": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": ">=14" + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "peer": true, + "dependencies": { + "locate-path": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/typicode" + "engines": { + "node": ">=6" } }, - "node_modules/i18next": { - "version": "23.11.5", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.11.5.tgz", - "integrity": "sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "peer": true, "dependencies": { - "@babel/runtime": "^7.23.2" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/i18next-browser-languagedetector": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz", - "integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==", + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, "dependencies": { - "@babel/runtime": "^7.19.4" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "license": "MIT", - "optional": true, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "peer": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.0", - "license": "MIT", + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "peer": true, "engines": { - "node": ">= 4" + "node": ">=4" } }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "peer": true, "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" + "find-up": "^3.0.0" }, "engines": { - "node": ">=16.x" + "node": ">=6" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/find-root": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "license": "MIT", + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, "engines": { - "node": ">=0.8.19" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true }, - "node_modules/infer-owner": { - "version": "1.0.4", - "license": "ISC", - "optional": true + "node_modules/flow-enums-runtime": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", + "peer": true }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "node_modules/flow-parser": { + "version": "0.245.2", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.245.2.tgz", + "integrity": "sha512-FU4yuqC1j2IeWWicpzG0YJrXHJgKjK/AU8QKK/7MvQaNhcoGisDoE7FJLGCtbvnifzsgDWdm9/jtTF7Mp+PJXQ==", + "peer": true, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" + "node_modules/fn.name": { + "version": "1.1.0", + "license": "MIT" }, - "node_modules/internal-slot": { - "version": "1.0.6", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">= 0.4" - } - }, - "node_modules/into-stream": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "node": ">=4.0" }, - "engines": { - "node": ">=4" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/for-each": { + "version": "0.3.3", + "license": "MIT", "dependencies": { - "loose-envify": "^1.0.0" + "is-callable": "^1.1.3" } }, - "node_modules/ip": { - "version": "2.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "node_modules/foreground-child": { + "version": "3.1.1", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "license": "ISC", + "engines": { + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "dev": true, + "node_modules/form-data": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 6" } }, - "node_modules/is-bigint": { - "version": "1.0.4", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", + "node_modules/fromentries": { + "version": "1.3.2", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=12" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "license": "MIT", + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/is-core-module": { - "version": "2.13.1", + "node_modules/function-bind": { + "version": "1.1.2", "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.5", + "node_modules/function.prototype.name": { + "version": "1.1.6", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -15702,111 +16115,96 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", + "node_modules/futoin-hkdf": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz", + "integrity": "sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/gauge": { + "version": "3.0.2", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "dev": true, + "node_modules/gauge/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", + "node_modules/gauge/node_modules/string-width": { + "version": "4.2.3", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/is-interactive": { - "version": "2.0.0", - "license": "MIT", + "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "license": "MIT", - "optional": true - }, - "node_modules/is-map": { + "node_modules/get-func-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "license": "MIT" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "license": "MIT", + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -15814,18 +16212,24 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/get-stream": { + "version": "4.1.0", "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "license": "MIT", + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -15834,41 +16238,66 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-object": { - "version": "1.0.2", - "license": "MIT", + "node_modules/get-tsconfig": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", + "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", + "node_modules/glob": { + "version": "7.1.7", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "license": "MIT", + "node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "license": "MIT", + "node_modules/globals": { + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", + "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "license": "MIT", + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -15877,80 +16306,145 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", + "node_modules/globby": { + "version": "11.1.0", "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", + "node_modules/gopd": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "1.1.0", + "node_modules/got": { + "version": "8.3.2", "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-string": { - "version": "1.0.7", + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/is-subdir": { - "version": "1.2.0", + "node_modules/got/node_modules/pify": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "better-path-resolve": "1.0.0" - }, "engines": { "node": ">=4" } }, - "node_modules/is-symbol": { + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" + }, + "node_modules/grapheme-splitter": { "version": "1.0.4", + "license": "MIT" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/graphql": { + "version": "16.8.1", + "license": "MIT", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "tslib": "^2.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", + "node_modules/has-flag": { + "version": "3.0.0", "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "which-typed-array": "^1.1.11" + "es-define-property": "^1.0.0" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -15958,1220 +16452,1194 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-unicode-supported": { - "version": "1.3.0", + "node_modules/has-symbol-support-x": { + "version": "1.4.2", "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "dev": true, + "node_modules/has-symbols": { + "version": "1.0.3", "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakref": { - "version": "1.0.2", + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "has-symbol-support-x": "^1.4.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/has-unicode": { + "version": "2.0.1", + "license": "ISC" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { - "is-docker": "^2.0.0" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" + "node_modules/hermes-estree": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.22.0.tgz", + "integrity": "sha512-FLBt5X9OfA8BERUdc6aZS36Xz3rRuB0Y/mfocSADWEJfomc1xfene33GdyAmtTkKTBXTN/EgAy+rjTKkkZJHlw==", + "peer": true }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "node_modules/hermes-parser": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.22.0.tgz", + "integrity": "sha512-gn5RfZiEXCsIWsFGsKiykekktUoh0PdFWYocXsUdZIyWSckT6UIyPcyyUIPSR3kpnELWeK3n3ztAse7Mat6PSA==", "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" + "dependencies": { + "hermes-estree": "0.22.0" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "dev": true, + "node_modules/highlight.js": { + "version": "10.7.3", "license": "BSD-3-Clause", "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "dev": true, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" + "react-is": "^16.7.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "license": "ISC" + }, + "node_modules/html-escaper": { + "version": "2.0.2", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "peer": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "dev": true, + "node_modules/http-proxy-agent": { + "version": "4.0.1", "license": "MIT", + "optional": true, "dependencies": { - "semver": "^7.5.3" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, + "node_modules/http2-wrapper": { + "version": "1.0.3", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.19.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", - "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", - "dev": true, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.23", - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", + "node_modules/human-id": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "4.3.1", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=14.18.0" } }, - "node_modules/isurl": { - "version": "1.0.0", + "node_modules/humanize-ms": { + "version": "1.2.1", "license": "MIT", + "optional": true, "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" + "ms": "^2.0.0" } }, - "node_modules/iterator.prototype": { - "version": "1.1.2", + "node_modules/husky": { + "version": "8.0.3", "dev": true, "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" + "bin": { + "husky": "lib/bin.js" }, "engines": { "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/javascript-natural-sort": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", - "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", - "license": "MIT" + "node_modules/i18next": { + "version": "23.11.5", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.11.5.tgz", + "integrity": "sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.23.2" + } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "peer": true, + "node_modules/i18next-browser-languagedetector": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz", + "integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@babel/runtime": "^7.19.4" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "peer": true, + "node_modules/iconv-lite": { + "version": "0.6.3", + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, + "node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/image-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "queue": "6.0.2" }, - "engines": { - "node": ">=8" + "bin": { + "image-size": "bin/image-size.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=16.x" } }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, + "node_modules/import-fresh": { + "version": "3.3.0", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/import-lazy": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true + "node_modules/imurmurhash": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } }, - "node_modules/jest-message-util/node_modules/has-flag": { + "node_modules/indent-string": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, + "node_modules/infer-owner": { + "version": "1.0.4", + "license": "ISC", + "optional": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "peer": true, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "peer": true, + "node_modules/into-stream": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dependencies": { - "color-convert": "^2.0.1" + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "license": "MIT", + "optional": true + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" + "node_modules/is-bigint": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "peer": true, + "node_modules/is-bun-module": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.2.1.tgz", + "integrity": "sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==", + "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "semver": "^7.6.3" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, + "node_modules/is-callable": { + "version": "1.2.7", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dependencies": { - "color-convert": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-typed-array": "^1.1.13" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, + "node_modules/is-date-object": { + "version": "1.0.5", + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "peer": true, + "node_modules/is-extglob": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-worker/node_modules/has-flag": { + "node_modules/is-fullwidth-code-point": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "peer": true, + "node_modules/is-generator-function": { + "version": "1.0.10", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jju": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/joi": { - "version": "17.11.0", - "license": "BSD-3-Clause", + "node_modules/is-glob": { + "version": "4.0.3", + "license": "MIT", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/is-interactive": { + "version": "2.0.0", "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" + "engines": { + "node": ">=12" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsc-android": { - "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", - "peer": true - }, - "node_modules/jsc-safe-url": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", - "peer": true + "node_modules/is-lambda": { + "version": "1.0.1", + "license": "MIT", + "optional": true }, - "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "peer": true, - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jscodeshift/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jscodeshift/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/is-number": { + "version": "7.0.0", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.12.0" } }, - "node_modules/jscodeshift/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, + "node_modules/is-number-object": { + "version": "1.0.7", + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jscodeshift/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true + "node_modules/is-object": { + "version": "1.0.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/jscodeshift/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", + "node_modules/is-plain-object": { + "version": "5.0.0", "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/json-bigint": { - "version": "1.0.0", + "node_modules/is-regex": { + "version": "1.1.4", "license": "MIT", "dependencies": { - "bignumber.js": "^9.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "peer": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", + "node_modules/is-retry-allowed": { + "version": "1.2.0", "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/jsonc-parser": { - "version": "3.2.1", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { - "universalify": "^2.0.0" + "call-bind": "^1.0.7" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsontokens": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsontokens/-/jsontokens-4.0.1.tgz", - "integrity": "sha512-+MO415LEN6M+3FGsRz4wU20g7N2JA+2j9d9+pGaNJHviG4L8N0qzavGyENw6fJqsq9CcrHOIL6iWX5yeTZ86+Q==", - "dependencies": { - "@noble/hashes": "^1.1.2", - "@noble/secp256k1": "^1.6.3", - "base64-js": "^1.5.1" + "node_modules/is-stream": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jsonwebtoken": { - "version": "9.0.2", + "node_modules/is-string": { + "version": "1.0.7", "license": "MIT", "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=12", - "npm": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "dev": true, + "node_modules/is-subdir": { + "version": "1.2.0", "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "better-path-resolve": "1.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/jwa": { - "version": "1.4.1", + "node_modules/is-symbol": { + "version": "1.0.4", "license": "MIT", "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jws": { - "version": "3.2.2", - "license": "MIT", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/keyv": { - "version": "4.5.4", + "node_modules/is-unicode-supported": { + "version": "1.3.0", "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "license": "MIT", + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/kleur": { - "version": "4.1.5", + "node_modules/is-weakref": { + "version": "1.0.2", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/kolorist": { - "version": "1.8.0", + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, - "license": "MIT" - }, - "node_modules/kuler": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "dev": true, - "license": "MIT", "dependencies": { - "language-subtag-registry": "^0.3.20" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "peer": true, + "node_modules/is-windows": { + "version": "1.0.2", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/lighthouse-logger": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", - "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "peer": true, - "dependencies": { - "debug": "^2.6.9", - "marky": "^1.2.2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lighthouse-logger/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "peerDependencies": { + "ws": "*" } }, - "node_modules/lighthouse-logger/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } }, - "node_modules/lilconfig": { - "version": "2.1.0", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, "engines": { "node": ">=10" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "license": "MIT" - }, - "node_modules/lint-staged": { - "version": "13.3.0", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "chalk": "5.3.0", - "commander": "11.0.0", - "debug": "4.3.4", - "execa": "7.2.0", - "lilconfig": "2.1.0", - "listr2": "6.6.1", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.1" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" + "node": ">=10" } }, - "node_modules/lint-staged/node_modules/yaml": { - "version": "2.3.1", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/listr2": { - "version": "6.6.1", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^5.0.1", - "rfdc": "^1.3.0", - "wrap-ansi": "^8.1.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" + "node": ">=10" }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/load-yaml-file": { - "version": "0.2.0", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/load-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/load-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "license": "MIT", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/local-pkg": { - "version": "0.5.0", - "dev": true, + "node_modules/isurl": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" }, "engines": { - "node": ">=14" + "node": ">= 4" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "engines": { + "node": ">= 0.4" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", + "node_modules/jackspeak": { + "version": "2.3.6", + "license": "BlueOak-1.0.0", "dependencies": { - "p-locate": "^5.0.0" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/lodash": { - "version": "4.17.21", - "license": "MIT" - }, - "node_modules/lodash-es": { - "version": "4.17.21", + "node_modules/javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", + "dev": true, "license": "MIT" }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "peer": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "license": "MIT" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "license": "MIT" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "license": "MIT" + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "peer": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "peer": true + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/log-symbols": { - "version": "5.1.0", - "license": "MIT", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "peer": true, "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/log-update": { - "version": "5.0.1", - "dev": true, - "license": "MIT", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, "dependencies": { - "ansi-escapes": "^5.0.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^5.0.0", - "strip-ansi": "^7.0.1", - "wrap-ansi": "^8.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "dev": true, - "license": "MIT", + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, "dependencies": { - "ansi-regex": "^6.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=12" + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/logform": { - "version": "2.6.0", - "license": "MIT", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "peer": true, "dependencies": { - "@colors/colors": "1.6.0", - "@types/triple-beam": "^1.3.2", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 12.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "peer": true, "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "bin": { - "logkitty": "bin/logkitty.js" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/logkitty/node_modules/ansi-styles": { + "node_modules/jest-util/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -17186,27 +17654,23 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/logkitty/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/logkitty/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "peer": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/logkitty/node_modules/color-convert": { + "node_modules/jest-util/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -17218,909 +17682,730 @@ "node": ">=7.0.0" } }, - "node_modules/logkitty/node_modules/color-name": { + "node_modules/jest-util/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "peer": true }, - "node_modules/logkitty/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "peer": true - }, - "node_modules/logkitty/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "peer": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/logkitty/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "peer": true, "engines": { "node": ">=8" } }, - "node_modules/logkitty/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "peer": true, "dependencies": { - "p-locate": "^4.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/logkitty/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "peer": true, "dependencies": { - "p-try": "^2.0.0" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/logkitty/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "peer": true, "dependencies": { - "p-limit": "^2.2.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/logkitty/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "peer": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/logkitty/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "peer": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/logkitty/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "peer": true }, - "node_modules/logkitty/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "peer": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, "engines": { "node": ">=8" } }, - "node_modules/logkitty/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "peer": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/long": { - "version": "5.2.3", - "license": "Apache-2.0" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "peer": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" } }, - "node_modules/magic-string": { - "version": "0.29.0", - "dev": true, - "license": "MIT", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/magicast": { - "version": "0.3.3", + "node_modules/jju": { + "version": "1.4.0", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/joi": { + "version": "17.11.0", + "license": "BSD-3-Clause", "dependencies": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "source-map-js": "^1.0.2" + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/make-dir": { - "version": "2.1.0", + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "license": "ISC", "bin": { - "semver": "bin/semver" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/make-error": { - "version": "1.3.6", - "devOptional": true, - "license": "ISC" - }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "license": "ISC", - "optional": true, + "node_modules/jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", + "peer": true + }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "peer": true + }, + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "peer": true, "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" }, - "engines": { - "node": ">= 10" + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/make-fetch-happen/node_modules/http-cache-semantics": { - "version": "4.1.1", - "license": "BSD-2-Clause", - "optional": true - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "optional": true, + "node_modules/jscodeshift/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, "dependencies": { - "yallist": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/make-fetch-happen/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/jscodeshift/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "peer": true, "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "license": "MIT", + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/marky": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", - "peer": true + "node_modules/jscodeshift/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "node_modules/jscodeshift/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "peer": true }, - "node_modules/meow": { - "version": "6.1.1", - "license": "MIT", + "node_modules/jscodeshift/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jscodeshift/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/camelcase": { - "version": "5.3.1", + "node_modules/jsesc": { + "version": "2.5.2", "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.13.1", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/json-bigint": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" } }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "18.1.3", - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "node_modules/json-buffer": { + "version": "3.0.1", + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" }, "engines": { "node": ">=6" } }, - "node_modules/merge-stream": { - "version": "2.0.0", + "node_modules/jsonc-parser": { + "version": "3.2.1", + "dev": true, "license": "MIT" }, - "node_modules/merge2": { - "version": "1.4.1", + "node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 8" + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/metro": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.12.tgz", - "integrity": "sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==", - "peer": true, + "node_modules/jsontokens": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsontokens/-/jsontokens-4.0.1.tgz", + "integrity": "sha512-+MO415LEN6M+3FGsRz4wU20g7N2JA+2j9d9+pGaNJHviG4L8N0qzavGyENw6fJqsq9CcrHOIL6iWX5yeTZ86+Q==", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "flow-enums-runtime": "^0.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.23.1", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.12", - "metro-cache": "0.80.12", - "metro-cache-key": "0.80.12", - "metro-config": "0.80.12", - "metro-core": "0.80.12", - "metro-file-map": "0.80.12", - "metro-resolver": "0.80.12", - "metro-runtime": "0.80.12", - "metro-source-map": "0.80.12", - "metro-symbolicate": "0.80.12", - "metro-transform-plugins": "0.80.12", - "metro-transform-worker": "0.80.12", - "mime-types": "^2.1.27", - "nullthrows": "^1.1.1", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.10", - "yargs": "^17.6.2" - }, - "bin": { - "metro": "src/cli.js" - }, - "engines": { - "node": ">=18" + "@noble/hashes": "^1.1.2", + "@noble/secp256k1": "^1.6.3", + "base64-js": "^1.5.1" } }, - "node_modules/metro-babel-transformer": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.12.tgz", - "integrity": "sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==", - "peer": true, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "flow-enums-runtime": "^0.0.6", - "hermes-parser": "0.23.1", - "nullthrows": "^1.1.1" + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" }, "engines": { - "node": ">=18" - } - }, - "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", - "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", - "peer": true - }, - "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", - "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", - "peer": true, - "dependencies": { - "hermes-estree": "0.23.1" + "node": ">=12", + "npm": ">=6" } }, - "node_modules/metro-cache": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.12.tgz", - "integrity": "sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==", - "peer": true, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "dev": true, + "license": "MIT", "dependencies": { - "exponential-backoff": "^3.1.1", - "flow-enums-runtime": "^0.0.6", - "metro-core": "0.80.12" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { - "node": ">=18" + "node": ">=4.0" } }, - "node_modules/metro-cache-key": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.12.tgz", - "integrity": "sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==", - "peer": true, + "node_modules/jwa": { + "version": "1.4.1", + "license": "MIT", "dependencies": { - "flow-enums-runtime": "^0.0.6" - }, - "engines": { - "node": ">=18" + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" } }, - "node_modules/metro-config": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.12.tgz", - "integrity": "sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==", - "peer": true, + "node_modules/jws": { + "version": "3.2.2", + "license": "MIT", "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "flow-enums-runtime": "^0.0.6", - "jest-validate": "^29.6.3", - "metro": "0.80.12", - "metro-cache": "0.80.12", - "metro-core": "0.80.12", - "metro-runtime": "0.80.12" - }, - "engines": { - "node": ">=18" + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/metro-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, + "node_modules/keyv": { + "version": "4.5.4", + "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "json-buffer": "3.0.1" } }, - "node_modules/metro-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "peer": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, + "node_modules/kind-of": { + "version": "6.0.3", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/metro-config/node_modules/import-fresh": { + "node_modules/kleur": { + "version": "4.1.5", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "dev": true, + "license": "MIT" + }, + "node_modules/kuler": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "peer": true, + "license": "MIT" + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "language-subtag-registry": "^0.3.20" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/metro-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6" } }, - "node_modules/metro-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "peer": true, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/metro-config/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "node_modules/lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", "peer": true, - "engines": { - "node": ">=4" + "dependencies": { + "debug": "^2.6.9", + "marky": "^1.2.2" } }, - "node_modules/metro-core": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.12.tgz", - "integrity": "sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==", + "node_modules/lighthouse-logger/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "peer": true, "dependencies": { - "flow-enums-runtime": "^0.0.6", - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.12" - }, - "engines": { - "node": ">=18" + "ms": "2.0.0" } }, - "node_modules/metro-file-map": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.12.tgz", - "integrity": "sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==", - "peer": true, - "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "flow-enums-runtime": "^0.0.6", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/metro-file-map/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/metro-file-map/node_modules/ms": { + "node_modules/lighthouse-logger/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "peer": true }, - "node_modules/metro-minify-terser": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.12.tgz", - "integrity": "sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==", - "peer": true, - "dependencies": { - "flow-enums-runtime": "^0.0.6", - "terser": "^5.15.0" - }, + "node_modules/lilconfig": { + "version": "2.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/metro-resolver": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.12.tgz", - "integrity": "sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==", - "peer": true, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "13.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "flow-enums-runtime": "^0.0.6" + "chalk": "5.3.0", + "commander": "11.0.0", + "debug": "4.3.4", + "execa": "7.2.0", + "lilconfig": "2.1.0", + "listr2": "6.6.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" }, "engines": { - "node": ">=18" + "node": "^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" } }, - "node_modules/metro-runtime": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.12.tgz", - "integrity": "sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.25.0", - "flow-enums-runtime": "^0.0.6" - }, + "node_modules/lint-staged/node_modules/yaml": { + "version": "2.3.1", + "dev": true, + "license": "ISC", "engines": { - "node": ">=18" + "node": ">= 14" } }, - "node_modules/metro-source-map": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.12.tgz", - "integrity": "sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==", - "peer": true, + "node_modules/listr2": { + "version": "6.6.1", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", - "metro-symbolicate": "0.80.12", - "nullthrows": "^1.1.1", - "ob1": "0.80.12", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" }, "engines": { - "node": ">=18" + "node": ">=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } } }, - "node_modules/metro-symbolicate": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.12.tgz", - "integrity": "sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==", - "peer": true, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "license": "MIT", "dependencies": { - "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", - "metro-source-map": "0.80.12", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=18" + "node": ">=6" } }, - "node_modules/metro-transform-plugins": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.12.tgz", - "integrity": "sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==", - "peer": true, + "node_modules/load-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "flow-enums-runtime": "^0.0.6", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" + "sprintf-js": "~1.0.2" } }, - "node_modules/metro-transform-worker": { - "version": "0.80.12", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.12.tgz", - "integrity": "sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==", - "peer": true, + "node_modules/load-yaml-file/node_modules/js-yaml": { + "version": "3.14.1", + "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "flow-enums-runtime": "^0.0.6", - "metro": "0.80.12", - "metro-babel-transformer": "0.80.12", - "metro-cache": "0.80.12", - "metro-cache-key": "0.80.12", - "metro-minify-terser": "0.80.12", - "metro-source-map": "0.80.12", - "metro-transform-plugins": "0.80.12", - "nullthrows": "^1.1.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=18" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/metro/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, + "node_modules/local-pkg": { + "version": "0.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" }, "engines": { - "node": ">=8" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/metro/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, + "node_modules/locate-path": { + "version": "6.0.0", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "p-locate": "^5.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "peer": true - }, - "node_modules/metro/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" }, - "node_modules/metro/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true + "node_modules/lodash-es": { + "version": "4.17.21", + "license": "MIT" }, - "node_modules/metro/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "peer": true }, - "node_modules/metro/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } + "node_modules/lodash.get": { + "version": "4.4.2", + "dev": true, + "license": "MIT" }, - "node_modules/metro/node_modules/hermes-estree": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", - "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", - "peer": true + "node_modules/lodash.includes": { + "version": "4.3.0", + "license": "MIT" }, - "node_modules/metro/node_modules/hermes-parser": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", - "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", - "peer": true, - "dependencies": { - "hermes-estree": "0.23.1" - } + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "license": "MIT" }, - "node_modules/metro/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true + "node_modules/lodash.isequal": { + "version": "4.5.0", + "dev": true, + "license": "MIT" }, - "node_modules/metro/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "license": "MIT" }, - "node_modules/micro-ftch": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", - "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "license": "MIT" }, - "node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "license": "MIT" }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "peer": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } + "node_modules/lodash.isstring": { + "version": "4.0.1", + "license": "MIT" }, - "node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" }, - "node_modules/mime-types": { - "version": "2.1.35", + "node_modules/lodash.once": { + "version": "4.1.1", + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "license": "MIT" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "peer": true + }, + "node_modules/log-symbols": { + "version": "5.1.0", "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -18128,3023 +18413,3105 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", + "node_modules/log-update": { + "version": "5.0.1", + "dev": true, "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": "*" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimist": { - "version": "1.2.8", + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, "license": "MIT", + "engines": { + "node": ">=12" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/minimist-options": { - "version": "4.1.0", + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, "license": "MIT", "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">= 6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", + "node_modules/logform": { + "version": "2.6.0", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" }, "engines": { - "node": ">=8" + "node": ">= 12.0.0" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "license": "ISC", - "optional": true, + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "peer": true, "dependencies": { - "minipass": "^3.0.0" + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" }, - "engines": { - "node": ">= 8" + "bin": { + "logkitty": "bin/logkitty.js" } }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "license": "MIT", - "optional": true, + "node_modules/logkitty/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, - "optionalDependencies": { - "encoding": "^0.1.12" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "license": "ISC", - "optional": true, + "node_modules/logkitty/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "peer": true, "dependencies": { - "minipass": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/logkitty/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": ">= 8" + "node": ">=7.0.0" } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "license": "ISC", - "optional": true, + "node_modules/logkitty/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/logkitty/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "peer": true + }, + "node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "peer": true, "dependencies": { - "minipass": "^3.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "license": "ISC", - "optional": true, + "node_modules/logkitty/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "peer": true, "dependencies": { - "minipass": "^3.0.0" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/minizlib": { - "version": "2.1.2", - "license": "MIT", + "node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/mixme": { - "version": "0.5.10", - "license": "MIT", + "node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">= 8.0.0" + "node": ">=8" } }, - "node_modules/mkdirp": { - "version": "2.1.6", - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" + "node_modules/logkitty/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/mlly": { - "version": "1.5.0", - "dev": true, - "license": "MIT", + "node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "peer": true, "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/moment": { - "version": "2.29.4", - "license": "MIT", + "node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "peer": true + }, + "node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "peer": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "license": "MIT", + "node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "peer": true, "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/nanoassert": { - "version": "1.1.0", - "license": "ISC" + "node_modules/long": { + "version": "5.2.3", + "license": "Apache-2.0" }, - "node_modules/nanoid": { - "version": "3.3.7", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/loose-envify": { + "version": "1.4.0", "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/natural-compare": { - "version": "1.4.0", + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, - "license": "MIT" + "dependencies": { + "get-func-name": "^2.0.1" + } }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", + "node_modules/lower-case": { + "version": "2.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } }, - "node_modules/negotiator": { - "version": "0.6.3", + "node_modules/lowercase-keys": { + "version": "1.0.1", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "peer": true - }, - "node_modules/next": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/next/-/next-14.1.0.tgz", - "integrity": "sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==", + "node_modules/lru-cache": { + "version": "5.1.1", + "license": "ISC", "dependencies": { - "@next/env": "14.1.0", - "@swc/helpers": "0.5.2", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "graceful-fs": "^4.2.11", - "postcss": "8.4.31", - "styled-jsx": "5.1.1" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=18.17.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "14.1.0", - "@next/swc-darwin-x64": "14.1.0", - "@next/swc-linux-arm64-gnu": "14.1.0", - "@next/swc-linux-arm64-musl": "14.1.0", - "@next/swc-linux-x64-gnu": "14.1.0", - "@next/swc-linux-x64-musl": "14.1.0", - "@next/swc-win32-arm64-msvc": "14.1.0", - "@next/swc-win32-ia32-msvc": "14.1.0", - "@next/swc-win32-x64-msvc": "14.1.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "sass": { - "optional": true - } + "yallist": "^3.0.2" } }, - "node_modules/no-case": { - "version": "3.0.4", + "node_modules/magic-string": { + "version": "0.29.0", "dev": true, "license": "MIT", "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/nocache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", - "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", - "peer": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "peer": true - }, - "node_modules/node-addon-api": { - "version": "4.3.0", - "license": "MIT" - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "peer": true, - "dependencies": { - "minimatch": "^3.0.2" + "@jridgewell/sourcemap-codec": "^1.4.13" }, "engines": { - "node": ">= 0.10.5" + "node": ">=12" } }, - "node_modules/node-fetch": { - "version": "2.7.0", + "node_modules/magicast": { + "version": "0.3.3", + "dev": true, "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "peer": true, - "engines": { - "node": ">= 6.13.0" + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "source-map-js": "^1.0.2" } }, - "node_modules/node-gyp": { - "version": "8.4.1", + "node_modules/make-dir": { + "version": "2.1.0", "license": "MIT", - "optional": true, "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">= 10.12.0" + "node": ">=6" } }, - "node_modules/node-gyp-build": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", - "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "license": "ISC", "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "semver": "bin/semver" } }, - "node_modules/node-gyp-build-optional-packages": { - "version": "5.1.1", - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.1" - }, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" - } + "node_modules/make-error": { + "version": "1.3.6", + "devOptional": true, + "license": "ISC" }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/make-fetch-happen": { + "version": "9.1.0", "license": "ISC", "optional": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 10" } }, - "node_modules/node-gyp/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT", + "node_modules/make-fetch-happen/node_modules/http-cache-semantics": { + "version": "4.1.1", + "license": "BSD-2-Clause", "optional": true }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "6.0.0", "license": "ISC", "optional": true, "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "yallist": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "4.0.0", "license": "ISC", - "optional": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "optional": true }, - "node_modules/node-gyp/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "optional": true, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "peer": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "tmpl": "1.0.5" } }, - "node_modules/node-gyp/node_modules/string-width": { - "version": "4.2.3", + "node_modules/map-obj": { + "version": "4.3.0", "license": "MIT", - "optional": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "node_modules/marky": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", + "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", "peer": true }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "peer": true }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "peer": true, + "node_modules/meow": { + "version": "6.1.1", + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, "engines": { - "node": ">=0.12.0" + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nofilter": { - "version": "3.1.0", + "node_modules/meow/node_modules/camelcase": { + "version": "5.3.1", "license": "MIT", "engines": { - "node": ">=12.19" + "node": ">=6" } }, - "node_modules/nopt": { - "version": "5.0.0", + "node_modules/meow/node_modules/type-fest": { + "version": "0.13.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "18.1.3", "license": "ISC", "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { "node": ">=6" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } + "node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "peer": true, + "node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/normalize-url": { - "version": "2.0.1", - "license": "MIT", + "node_modules/metro": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.12.tgz", + "integrity": "sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==", + "peer": true, "dependencies": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.23.1", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^29.6.3", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-config": "0.80.12", + "metro-core": "0.80.12", + "metro-file-map": "0.80.12", + "metro-resolver": "0.80.12", + "metro-runtime": "0.80.12", + "metro-source-map": "0.80.12", + "metro-symbolicate": "0.80.12", + "metro-transform-plugins": "0.80.12", + "metro-transform-worker": "0.80.12", + "mime-types": "^2.1.27", + "nullthrows": "^1.1.1", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.10", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" }, "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/npm-run-path": { - "version": "5.1.0", - "dev": true, - "license": "MIT", + "node_modules/metro-babel-transformer": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.12.tgz", + "integrity": "sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==", + "peer": true, "dependencies": { - "path-key": "^4.0.0" + "@babel/core": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "hermes-parser": "0.23.1", + "nullthrows": "^1.1.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "peer": true }, - "node_modules/npmlog": { - "version": "5.0.1", - "license": "ISC", + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "peer": true, "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" + "hermes-estree": "0.23.1" } }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "peer": true - }, - "node_modules/ob1": { + "node_modules/metro-cache": { "version": "0.80.12", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.12.tgz", - "integrity": "sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.12.tgz", + "integrity": "sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==", "peer": true, "dependencies": { - "flow-enums-runtime": "^0.0.6" + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "metro-core": "0.80.12" }, "engines": { "node": ">=18" } }, - "node_modules/obj-multiplex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/obj-multiplex/-/obj-multiplex-1.0.0.tgz", - "integrity": "sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==", + "node_modules/metro-cache-key": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.12.tgz", + "integrity": "sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==", + "peer": true, "dependencies": { - "end-of-stream": "^1.4.0", - "once": "^1.4.0", - "readable-stream": "^2.3.3" + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=18" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", + "node_modules/metro-config": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.12.tgz", + "integrity": "sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==", + "peer": true, + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.6.3", + "metro": "0.80.12", + "metro-cache": "0.80.12", + "metro-core": "0.80.12", + "metro-runtime": "0.80.12" + }, "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/object-hash": { - "version": "2.2.0", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "license": "MIT", + "node_modules/metro-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "sprintf-js": "~1.0.2" } }, - "node_modules/object.entries": { - "version": "1.1.7", - "dev": true, - "license": "MIT", + "node_modules/metro-config/node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=4" } }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "dev": true, - "license": "MIT", + "node_modules/metro-config/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "node": ">=4" } }, - "node_modules/object.hasown": { - "version": "1.1.3", - "dev": true, - "license": "MIT", + "node_modules/metro-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "peer": true, "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/object.values": { - "version": "1.1.7", - "dev": true, - "license": "MIT", + "node_modules/metro-config/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/octokit": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "@octokit/app": "^13.1.5", - "@octokit/core": "^4.2.1", - "@octokit/oauth-app": "^4.2.1", - "@octokit/plugin-paginate-rest": "^6.1.0", - "@octokit/plugin-rest-endpoint-methods": "^7.1.1", - "@octokit/plugin-retry": "^4.1.3", - "@octokit/plugin-throttling": "^5.2.2", - "@octokit/request-error": "^v3.0.3", - "@octokit/types": "^9.2.2" - }, + "node_modules/metro-config/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "peer": true, "engines": { - "node": ">= 14" + "node": ">=4" } }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "node_modules/metro-core": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.12.tgz", + "integrity": "sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==", "peer": true, "dependencies": { - "ee-first": "1.1.1" + "flow-enums-runtime": "^0.0.6", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.80.12" }, "engines": { - "node": ">= 0.8" + "node": ">=18" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "node_modules/metro-file-map": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.12.tgz", + "integrity": "sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==", "peer": true, + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-worker": "^29.6.3", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, "engines": { - "node": ">= 0.8" + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", + "node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { - "wrappy": "1" + "ms": "2.0.0" } }, - "node_modules/one-time": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "fn.name": "1.x.x" - } + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, - "node_modules/onetime": { - "version": "6.0.0", - "dev": true, - "license": "MIT", + "node_modules/metro-minify-terser": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.12.tgz", + "integrity": "sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==", + "peer": true, "dependencies": { - "mimic-fn": "^4.0.0" + "flow-enums-runtime": "^0.0.6", + "terser": "^5.15.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "node_modules/metro-resolver": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.12.tgz", + "integrity": "sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==", "peer": true, "dependencies": { - "is-wsl": "^1.1.0" + "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/open/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "node_modules/metro-runtime": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.12.tgz", + "integrity": "sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==", "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/optimism": { - "version": "0.18.0", - "license": "MIT", - "dependencies": { - "@wry/caches": "^1.0.0", - "@wry/context": "^0.7.0", - "@wry/trie": "^0.4.3", - "tslib": "^2.3.0" - } - }, - "node_modules/optimism/node_modules/@wry/trie": { - "version": "0.4.3", - "license": "MIT", "dependencies": { - "tslib": "^2.3.0" + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/optionator": { - "version": "0.9.3", - "dev": true, - "license": "MIT", + "node_modules/metro-source-map": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.12.tgz", + "integrity": "sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==", + "peer": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-symbolicate": "0.80.12", + "nullthrows": "^1.1.1", + "ob1": "0.80.12", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=18" } }, - "node_modules/ora": { - "version": "6.3.1", - "license": "MIT", + "node_modules/metro-symbolicate": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.12.tgz", + "integrity": "sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==", + "peer": true, "dependencies": { - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-source-map": "0.80.12", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.12.tgz", + "integrity": "sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "nullthrows": "^1.1.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=18" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", + "node_modules/metro-transform-worker": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.12.tgz", + "integrity": "sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "metro": "0.80.12", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-minify-terser": "0.80.12", + "metro-source-map": "0.80.12", + "metro-transform-plugins": "0.80.12", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/metro/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "7.1.0", - "license": "MIT", + "node_modules/metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "license": "MIT", + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "peer": true + }, + "node_modules/metro/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/outdent": { - "version": "0.5.0", - "license": "MIT" + "node_modules/metro/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true }, - "node_modules/p-cancelable": { - "version": "0.4.1", - "license": "MIT", + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/p-event": { - "version": "2.3.1", - "license": "MIT", + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "peer": true + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "peer": true, "dependencies": { - "p-timeout": "^2.0.1" - }, - "engines": { - "node": ">=6" + "hermes-estree": "0.23.1" } }, - "node_modules/p-filter": { - "version": "2.1.0", - "license": "MIT", + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/metro/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, "dependencies": { - "p-map": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/p-filter/node_modules/p-map": { - "version": "2.1.0", + "node_modules/micro-ftch": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" + }, + "node_modules/micromatch": { + "version": "4.0.5", "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=6" + "node": ">=8.6" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "license": "MIT", + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "peer": true, + "bin": { + "mime": "cli.js" + }, "engines": { - "node": ">=4" + "node": ">=4.0.0" } }, - "node_modules/p-is-promise": { - "version": "1.1.0", + "node_modules/mime-db": { + "version": "1.52.0", "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/p-limit": { - "version": "3.1.0", + "node_modules/mime-types": { + "version": "2.1.35", "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=10" + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "5.0.0", + "node_modules/mimic-response": { + "version": "1.0.1", "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/p-map": { - "version": "4.0.0", + "node_modules/min-indent": { + "version": "1.0.1", "license": "MIT", - "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", "dependencies": { - "aggregate-error": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" - }, + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-timeout": { - "version": "2.0.1", + "node_modules/minimist-options": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "p-finally": "^1.0.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/p-try": { - "version": "2.2.0", - "license": "MIT", + "node_modules/minipass": { + "version": "3.3.6", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/packet-reader": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "license": "MIT", + "node_modules/minipass-collect": { + "version": "1.0.2", + "license": "ISC", + "optional": true, "dependencies": { - "callsites": "^3.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/parse-json": { - "version": "5.2.0", + "node_modules/minipass-fetch": { + "version": "1.4.1", "license": "MIT", + "optional": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" }, "engines": { "node": ">=8" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "encoding": "^0.1.12" } }, - "node_modules/parse5": { - "version": "5.1.1", - "license": "MIT" - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "license": "MIT", + "node_modules/minipass-flush": { + "version": "1.0.5", + "license": "ISC", + "optional": true, "dependencies": { - "parse5": "^6.0.1" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "version": "6.0.1", - "license": "MIT" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "peer": true, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "license": "MIT", + "node_modules/minipass-sized": { + "version": "1.0.3", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "2.1.2", "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/path-key": { - "version": "3.1.1", + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/mixme": { + "version": "0.5.10", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 8.0.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "node_modules/mkdirp": { + "version": "2.1.6", + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "license": "ISC", - "engines": { - "node": "14 || >=16.14" + "node_modules/mlly": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" } }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "license": "ISC", + "node_modules/moment": { + "version": "2.29.4", + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": "*" } }, - "node_modules/path-type": { - "version": "4.0.0", + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoassert": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/pathe": { - "version": "1.1.2", + "node_modules/natural-compare": { + "version": "1.4.0", "dev": true, "license": "MIT" }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, + "node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/pend": { - "version": "1.2.0", - "license": "MIT" + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true }, - "node_modules/pg": { - "version": "8.11.3", - "license": "MIT", + "node_modules/next": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.0.tgz", + "integrity": "sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==", "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.6.2", - "pg-pool": "^3.6.1", - "pg-protocol": "^1.6.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" + "@next/env": "14.1.0", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" }, "engines": { - "node": ">= 8.0.0" + "node": ">=18.17.0" }, "optionalDependencies": { - "pg-cloudflare": "^1.1.1" + "@next/swc-darwin-arm64": "14.1.0", + "@next/swc-darwin-x64": "14.1.0", + "@next/swc-linux-arm64-gnu": "14.1.0", + "@next/swc-linux-arm64-musl": "14.1.0", + "@next/swc-linux-x64-gnu": "14.1.0", + "@next/swc-linux-x64-musl": "14.1.0", + "@next/swc-win32-arm64-msvc": "14.1.0", + "@next/swc-win32-ia32-msvc": "14.1.0", + "@next/swc-win32-x64-msvc": "14.1.0" }, "peerDependencies": { - "pg-native": ">=3.0.1" + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" }, "peerDependenciesMeta": { - "pg-native": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { "optional": true } } }, - "node_modules/pg-cloudflare": { - "version": "1.1.1", + "node_modules/no-case": { + "version": "3.0.4", + "dev": true, "license": "MIT", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.6.2", - "license": "MIT" + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } }, - "node_modules/pg-int8": { - "version": "1.0.1", - "license": "ISC", + "node_modules/nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "peer": true, "engines": { - "node": ">=4.0.0" + "node": ">=12.0.0" } }, - "node_modules/pg-pool": { - "version": "3.6.1", - "license": "MIT", - "peerDependencies": { - "pg": ">=8.0" - } + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "peer": true }, - "node_modules/pg-protocol": { - "version": "1.6.0", + "node_modules/node-addon-api": { + "version": "4.3.0", "license": "MIT" }, - "node_modules/pg-types": { - "version": "2.2.0", - "license": "MIT", + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "peer": true, "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" + "minimatch": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">= 0.10.5" } }, - "node_modules/pgpass": { - "version": "1.0.5", + "node_modules/node-fetch": { + "version": "2.7.0", "license": "MIT", "dependencies": { - "split2": "^4.1.0" - } - }, - "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "license": "MIT", + "whatwg-url": "^5.0.0" + }, "engines": { - "node": ">=8.6" + "node": "4.x || >=6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/pidtree": { - "version": "0.6.0", - "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "peer": true, "engines": { - "node": ">=0.10" + "node": ">= 6.13.0" } }, - "node_modules/pify": { - "version": "4.0.1", + "node_modules/node-gyp": { + "version": "8.4.1", "license": "MIT", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, "engines": { - "node": ">=6" + "node": ">= 10.12.0" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/node-gyp-build": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", + "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", + "node_modules/node-gyp-build-optional-packages": { + "version": "5.1.1", "license": "MIT", + "optional": true, "dependencies": { - "pinkie": "^2.0.0" + "detect-libc": "^2.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "peer": true, + "node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.1", + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, "engines": { - "node": ">= 6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/node-gyp/node_modules/emoji-regex": { + "version": "8.0.0", "license": "MIT", + "optional": true + }, + "node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.4", + "license": "ISC", + "optional": true, "dependencies": { - "find-up": "^4.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", + "node_modules/node-gyp/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "optional": true, "engines": { "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "license": "MIT", + "node_modules/node-gyp/node_modules/npmlog": { + "version": "6.0.2", + "license": "ISC", + "optional": true, "dependencies": { - "p-locate": "^4.1.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/node-gyp/node_modules/readable-stream": { + "version": "3.6.2", "license": "MIT", + "optional": true, "dependencies": { - "p-try": "^2.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/node-gyp/node_modules/string-width": { + "version": "4.2.3", "license": "MIT", + "optional": true, "dependencies": { - "p-limit": "^2.2.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/pkg-types": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "peer": true }, - "node_modules/pony-cause": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.11.tgz", - "integrity": "sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==", + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "peer": true, "engines": { - "node": ">=12.0.0" + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" } }, - "node_modules/postcss": { - "version": "8.4.31", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/nofilter": { + "version": "3.1.0", "license": "MIT", + "engines": { + "node": ">=12.19" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "license": "ISC", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=6" } }, - "node_modules/postgres-array": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" + "node_modules/normalize-package-data": { + "version": "2.5.0", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/postgres-date": { - "version": "1.0.7", - "license": "MIT", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/postgres-interval": { - "version": "1.2.0", + "node_modules/normalize-url": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "xtend": "^4.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/preferred-pm": { - "version": "3.1.2", + "node_modules/npm-run-path": { + "version": "5.1.0", + "dev": true, "license": "MIT", "dependencies": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prepend-http": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" + "node_modules/npmlog": { + "version": "5.0.1", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, - "node_modules/prettier": { - "version": "2.8.8", - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "peer": true + }, + "node_modules/ob1": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.12.tgz", + "integrity": "sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=18" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/obj-multiplex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/obj-multiplex/-/obj-multiplex-1.0.0.tgz", + "integrity": "sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, + "end-of-stream": "^1.4.0", + "once": "^1.4.0", + "readable-stream": "^2.3.3" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/object-hash": { + "version": "2.2.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/object-keys": { + "version": "1.1.1", + "license": "MIT", "engines": { - "node": ">= 0.6.0" + "node": ">= 0.4" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "license": "MIT" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "peer": true, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "license": "ISC", - "optional": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "peer": true, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, - "node_modules/prompts/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "peer": true, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "license": "MIT", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, - "node_modules/protobufjs": { - "version": "7.2.5", - "hasInstallScript": true, - "license": "BSD-3-Clause", + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/pump": { - "version": "3.0.0", + "node_modules/octokit": { + "version": "2.1.0", "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "license": "MIT", + "@octokit/app": "^13.1.5", + "@octokit/core": "^4.2.1", + "@octokit/oauth-app": "^4.2.1", + "@octokit/plugin-paginate-rest": "^6.1.0", + "@octokit/plugin-rest-endpoint-methods": "^7.1.1", + "@octokit/plugin-retry": "^4.1.3", + "@octokit/plugin-throttling": "^5.2.2", + "@octokit/request-error": "^v3.0.3", + "@octokit/types": "^9.2.2" + }, "engines": { - "node": ">=6" - } - }, - "node_modules/qr-code-styling": { - "version": "1.6.0-rc.1", - "resolved": "https://registry.npmjs.org/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz", - "integrity": "sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q==", - "dependencies": { - "qrcode-generator": "^1.4.3" - } - }, - "node_modules/qrcode-generator": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz", - "integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==" - }, - "node_modules/qrcode-terminal-nooctal": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz", - "integrity": "sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg==", - "bin": { - "qrcode-terminal": "bin/qrcode-terminal.js" - } - }, - "node_modules/qrcode.react": { - "version": "3.1.0", - "license": "ISC", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "node": ">= 14" } }, - "node_modules/query-string": { - "version": "5.1.1", - "license": "MIT", + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "peer": true, "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "peer": true, "engines": { - "node": ">=0.4.x" + "node": ">= 0.8" } }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "peer": true, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", "dependencies": { - "inherits": "~2.0.3" + "wrappy": "1" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/one-time": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } }, - "node_modules/quick-lru": { - "version": "5.1.1", + "node_modules/onetime": { + "version": "6.0.0", + "dev": true, "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", "peer": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/react": { - "version": "18.2.0", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, + "node_modules/open/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/react-apexcharts": { - "version": "1.4.1", + "node_modules/optimism": { + "version": "0.18.0", "license": "MIT", "dependencies": { - "prop-types": "^15.8.1" - }, - "peerDependencies": { - "apexcharts": "^3.41.0", - "react": ">=0.13" + "@wry/caches": "^1.0.0", + "@wry/context": "^0.7.0", + "@wry/trie": "^0.4.3", + "tslib": "^2.3.0" } }, - "node_modules/react-copy-to-clipboard": { - "version": "5.1.0", + "node_modules/optimism/node_modules/@wry/trie": { + "version": "0.4.3", "license": "MIT", "dependencies": { - "copy-to-clipboard": "^3.3.1", - "prop-types": "^15.8.1" + "tslib": "^2.3.0" }, - "peerDependencies": { - "react": "^15.3.0 || 16 || 17 || 18" + "engines": { + "node": ">=8" } }, - "node_modules/react-devtools-core": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-5.3.1.tgz", - "integrity": "sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw==", - "peer": true, + "node_modules/optionator": { + "version": "0.9.3", + "dev": true, + "license": "MIT", "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/react-dom": { - "version": "18.2.0", + "node_modules/ora": { + "version": "6.3.1", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" }, - "peerDependencies": { - "react": "^18.2.0" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-hook-form": { - "version": "7.48.2", + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.0.1", "license": "MIT", "engines": { - "node": ">=12.22.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/react-hook-form" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" }, - "peerDependencies": { - "react": "^16.8.0 || ^17 || ^18" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/react-is": { - "version": "18.2.0", + "node_modules/os-tmpdir": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/outdent": { + "version": "0.5.0", "license": "MIT" }, - "node_modules/react-native": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.75.2.tgz", - "integrity": "sha512-pP+Yswd/EurzAlKizytRrid9LJaPJzuNldc+o5t01md2VLHym8V7FWH2z9omFKtFTer8ERg0fAhG1fpd0Qq6bQ==", - "peer": true, + "node_modules/p-cancelable": { + "version": "0.4.1", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-event": { + "version": "2.3.1", + "license": "MIT", "dependencies": { - "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "14.0.0", - "@react-native-community/cli-platform-android": "14.0.0", - "@react-native-community/cli-platform-ios": "14.0.0", - "@react-native/assets-registry": "0.75.2", - "@react-native/codegen": "0.75.2", - "@react-native/community-cli-plugin": "0.75.2", - "@react-native/gradle-plugin": "0.75.2", - "@react-native/js-polyfills": "0.75.2", - "@react-native/normalize-colors": "0.75.2", - "@react-native/virtualized-lists": "0.75.2", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", - "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.6", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jest-environment-node": "^29.6.3", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^5.3.1", - "react-refresh": "^0.14.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "semver": "^7.1.3", - "stacktrace-parser": "^0.1.10", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "bin": { - "react-native": "cli.js" + "p-timeout": "^2.0.1" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/react": "^18.2.6", - "react": "^18.2.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">=6" } }, - "node_modules/react-native-webview": { - "version": "11.26.1", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.26.1.tgz", - "integrity": "sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==", + "node_modules/p-filter": { + "version": "2.1.0", + "license": "MIT", "dependencies": { - "escape-string-regexp": "2.0.0", - "invariant": "2.2.4" + "p-map": "^2.0.0" }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "engines": { + "node": ">=8" } }, - "node_modules/react-native-webview/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/p-filter/node_modules/p-map": { + "version": "2.1.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/react-native/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "peer": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, + "node_modules/p-finally": { + "version": "1.0.0", + "license": "MIT", "engines": { - "node": ">= 10.14.2" + "node": ">=4" } }, - "node_modules/react-native/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", - "peer": true, - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/p-is-promise": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/react-native/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, + "node_modules/p-limit": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-native/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, + "node_modules/p-locate": { + "version": "5.0.0", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "p-limit": "^3.0.2" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-native/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, + "node_modules/p-map": { + "version": "4.0.0", + "license": "MIT", + "optional": true, "dependencies": { - "color-name": "~1.1.4" + "aggregate-error": "^3.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-native/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/react-native/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-native/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "peer": true, + "node_modules/p-timeout": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "p-finally": "^1.0.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=4" } }, - "node_modules/react-native/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "peer": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, + "node_modules/p-try": { + "version": "2.2.0", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=6" } }, - "node_modules/react-native/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "peer": true - }, - "node_modules/react-native/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "peer": true + "node_modules/packet-reader": { + "version": "1.0.0", + "license": "MIT" }, - "node_modules/react-native/node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", - "peer": true, + "node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/react-native/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, + "node_modules/parse-json": { + "version": "5.2.0", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-native/node_modules/ws": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "peer": true, + "node_modules/parse5": { + "version": "5.1.1", + "license": "MIT" + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "license": "MIT", "dependencies": { - "async-limiter": "~1.0.0" + "parse5": "^6.0.1" } }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } + "node_modules/path-browserify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" }, - "node_modules/read-pkg": { - "version": "5.2.0", + "node_modules/path-exists": { + "version": "4.0.0", "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, "engines": { "node": ">=8" } }, - "node_modules/read-pkg-up": { - "version": "7.0.1", + "node_modules/path-is-absolute": { + "version": "1.0.1", "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", + "node_modules/path-key": { + "version": "3.1.1", "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "license": "MIT", + "node_modules/path-scurry": { + "version": "1.10.1", + "license": "BlueOak-1.0.0", "dependencies": { - "p-try": "^2.0.0" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "license": "ISC", "engines": { - "node": ">=8" + "node": "14 || >=16.14" } }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "license": "(MIT OR CC0-1.0)", + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.4", + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "license": "(MIT OR CC0-1.0)", + "node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/read-yaml-file": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.6.1", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, + "node_modules/pathe": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/read-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "node_modules/pend": { + "version": "1.2.0", + "license": "MIT" }, - "node_modules/read-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/pg": { + "version": "8.11.3", "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.6.2", + "pg-pool": "^3.6.1", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "engines": { + "node": ">= 8.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } }, - "node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/pg-cloudflare": { + "version": "1.1.1", "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "optional": true }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/pg-connection-string": { + "version": "2.6.2", "license": "MIT" }, - "node_modules/readline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", - "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", - "peer": true - }, - "node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "peer": true, - "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, + "node_modules/pg-int8": { + "version": "1.0.1", + "license": "ISC", "engines": { - "node": ">= 4" + "node": ">=4.0.0" } }, - "node_modules/recast/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "peer": true, - "engines": { - "node": ">=0.10.0" + "node_modules/pg-pool": { + "version": "3.6.1", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" } }, - "node_modules/redent": { - "version": "3.0.0", + "node_modules/pg-protocol": { + "version": "1.6.0", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", "license": "MIT", "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "license": "Apache-2.0" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "dev": true, + "node_modules/pgpass": { + "version": "1.0.5", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "peer": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "peer": true, - "dependencies": { - "regenerate": "^1.4.2" + "node_modules/pidtree": { + "version": "0.6.0", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "license": "MIT" + "node_modules/pify": { + "version": "4.0.1", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.8.4" + "node_modules/pinkie": { + "version": "2.0.4", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", + "node_modules/pinkie-promise": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "pinkie": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "peer": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "peer": true, + "node_modules/pkg-dir": { + "version": "4.2.0", + "license": "MIT", "dependencies": { - "jsesc": "~0.5.0" + "find-up": "^4.0.0" }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "peer": true, - "bin": { - "jsesc": "bin/jsesc" + "engines": { + "node": ">=8" } }, - "node_modules/require-directory": { - "version": "2.1.1", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/require-from-string": { - "version": "2.0.2", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/resolve": { - "version": "1.22.8", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "p-try": "^2.0.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", + "node_modules/pkg-types": { + "version": "1.0.3", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" } }, - "node_modules/response-iterator": { - "version": "0.2.6", - "license": "MIT", + "node_modules/pony-cause": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.11.tgz", + "integrity": "sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==", "engines": { - "node": ">=0.8" + "node": ">=12.0.0" } }, - "node_modules/responselike": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^1.0.0" + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" } }, - "node_modules/restore-cursor": { - "version": "4.0.0", + "node_modules/postcss": { + "version": "8.4.31", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || >=14" } }, - "node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/postgres-array": { + "version": "2.0.0", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", + "node_modules/postgres-bytea": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/retry": { - "version": "0.12.0", + "node_modules/postgres-date": { + "version": "1.0.7", "license": "MIT", - "optional": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/reusify": { - "version": "1.0.4", + "node_modules/postgres-interval": { + "version": "1.2.0", "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, "engines": { - "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rfdc": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", + "node_modules/preferred-pm": { + "version": "3.1.2", + "license": "MIT", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=10" } }, - "node_modules/rollup": { - "version": "3.29.4", - "devOptional": true, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">= 0.8.0" } }, - "node_modules/rollup-plugin-visualizer": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", - "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", - "dependencies": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - }, + "node_modules/prepend-http": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, "bin": { - "rollup-plugin-visualizer": "dist/bin/cli.js" + "prettier": "bin/prettier.cjs" }, "engines": { "node": ">=14" }, - "peerDependencies": { - "rollup": "2.x || 3.x || 4.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/rollup-plugin-visualizer/node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/rollup-plugin-visualizer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { - "node": ">= 8" + "node": ">= 0.6.0" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "peer": true, "dependencies": { - "queue-microtask": "^1.2.2" + "asap": "~2.0.6" } }, - "node_modules/safe-array-concat": { + "node_modules/promise-inflight": { "version": "1.0.1", + "license": "ISC", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", "license": "MIT", + "optional": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "license": "MIT" - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "license": "MIT", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/sats-connect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sats-connect/-/sats-connect-1.4.1.tgz", - "integrity": "sha512-IDGbgZS+NmURyQ01pUBnDgTuHx7uF9lUrDqKU7+M2YpDLe5NDIkc7oyXh3r+lDWnwfAGCyO31L1tK1+xgT9ThQ==", - "dependencies": { - "jsontokens": "^4.0.1", - "process": "^0.11.10", - "util": "^0.12.4" + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "peer": true, + "engines": { + "node": ">=6" } }, - "node_modules/scheduler": { - "version": "0.23.0", + "node_modules/prop-types": { + "version": "15.8.1", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/protobufjs": { + "version": "7.2.5", "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=12.0.0" } }, - "node_modules/secp256k1/node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "node_modules/proxy-from-env": { + "version": "1.1.0", + "license": "MIT" }, - "node_modules/seek-bzip": { - "version": "1.0.6", + "node_modules/pseudomap": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/pump": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "peer": true, - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, + "node_modules/punycode": { + "version": "2.3.1", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/semver": { - "version": "7.5.4", - "license": "ISC", + "node_modules/qr-code-styling": { + "version": "1.6.0-rc.1", + "resolved": "https://registry.npmjs.org/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz", + "integrity": "sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q==", "dependencies": { - "lru-cache": "^6.0.0" - }, + "qrcode-generator": "^1.4.3" + } + }, + "node_modules/qrcode-generator": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz", + "integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==" + }, + "node_modules/qrcode-terminal-nooctal": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz", + "integrity": "sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg==", "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "qrcode-terminal": "bin/qrcode-terminal.js" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/qrcode.react": { + "version": "3.1.0", "license": "ISC", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "peer": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.4.x" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", "peer": true, "dependencies": { - "ms": "2.0.0" + "inherits": "~2.0.3" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true + "node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "peer": true, - "bin": { - "mime": "cli.js" - }, + "node_modules/quick-lru": { + "version": "5.1.1", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "peer": true - }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "peer": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "peer": true, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", - "peer": true, + "node_modules/react": { + "version": "18.2.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "peer": true, + "node_modules/react-apexcharts": { + "version": "1.4.1", + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "prop-types": "^15.8.1" }, - "engines": { - "node": ">= 0.8.0" + "peerDependencies": { + "apexcharts": "^3.41.0", + "react": ">=0.13" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.1.1", + "node_modules/react-copy-to-clipboard": { + "version": "5.1.0", "license": "MIT", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" } }, - "node_modules/set-function-name": { - "version": "2.0.1", + "node_modules/react-devtools-core": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-5.3.1.tgz", + "integrity": "sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw==", + "peer": true, + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-hook-form": { + "version": "7.48.2", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "peer": true + "node_modules/react-is": { + "version": "18.2.0", + "license": "MIT" }, - "node_modules/sha.js": { - "version": "2.4.11", - "license": "(MIT AND BSD-3-Clause)", + "node_modules/react-native": { + "version": "0.75.2", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.75.2.tgz", + "integrity": "sha512-pP+Yswd/EurzAlKizytRrid9LJaPJzuNldc+o5t01md2VLHym8V7FWH2z9omFKtFTer8ERg0fAhG1fpd0Qq6bQ==", + "peer": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@jest/create-cache-key-function": "^29.6.3", + "@react-native-community/cli": "14.0.0", + "@react-native-community/cli-platform-android": "14.0.0", + "@react-native-community/cli-platform-ios": "14.0.0", + "@react-native/assets-registry": "0.75.2", + "@react-native/codegen": "0.75.2", + "@react-native/community-cli-plugin": "0.75.2", + "@react-native/gradle-plugin": "0.75.2", + "@react-native/js-polyfills": "0.75.2", + "@react-native/normalize-colors": "0.75.2", + "@react-native/virtualized-lists": "0.75.2", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", + "base64-js": "^1.5.1", + "chalk": "^4.0.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.6", + "glob": "^7.1.1", + "invariant": "^2.2.4", + "jest-environment-node": "^29.6.3", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "^0.80.3", + "metro-source-map": "^0.80.3", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^5.3.1", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "semver": "^7.1.3", + "stacktrace-parser": "^0.1.10", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" }, "bin": { - "sha.js": "bin.js" + "react-native": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/react": "^18.2.6", + "react": "^18.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "peer": true, + "node_modules/react-native-webview": { + "version": "11.26.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.26.1.tgz", + "integrity": "sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==", "dependencies": { - "kind-of": "^6.0.2" + "escape-string-regexp": "2.0.0", + "invariant": "2.2.4" }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-webview/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "engines": { "node": ">=8" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", + "node_modules/react-native/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "peer": true, "dependencies": { - "shebang-regex": "^3.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/react-native/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "node_modules/react-native/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "license": "MIT", + "node_modules/react-native/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/siginfo": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "license": "ISC" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "license": "MIT", + "node_modules/react-native/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, "dependencies": { - "is-arrayish": "^0.3.1" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "license": "MIT" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "node_modules/react-native/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "peer": true }, - "node_modules/slash": { - "version": "3.0.0", - "license": "MIT", + "node_modules/react-native/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/react-native/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "peer": true, "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" + "minimist": "^1.2.6" }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "license": "MIT", - "optional": true, + "node_modules/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">= 10" } }, - "node_modules/smartwrap": { - "version": "2.0.2", - "license": "MIT", + "node_modules/react-native/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "peer": true + }, + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "peer": true + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "peer": true, "dependencies": { - "array.prototype.flat": "^1.2.3", - "breakword": "^1.0.5", - "grapheme-splitter": "^1.0.4", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - }, - "bin": { - "smartwrap": "src/terminal-adapter.js" - }, - "engines": { - "node": ">=6" + "loose-envify": "^1.1.0" } }, - "node_modules/smartwrap/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/react-native/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/smartwrap/node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", + "node_modules/react-native/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "peer": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/smartwrap/node_modules/cliui": { - "version": "6.0.0", - "license": "ISC", + "node_modules/react-transition-group": { + "version": "4.4.5", + "license": "BSD-3-Clause", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" } }, - "node_modules/smartwrap/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/read-pkg": { + "version": "5.2.0", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/smartwrap/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/smartwrap/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/smartwrap/node_modules/find-up": { - "version": "4.1.0", + "node_modules/read-pkg-up": { + "version": "7.0.1", "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/smartwrap/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/smartwrap/node_modules/locate-path": { + "node_modules/read-pkg-up/node_modules/locate-path": { "version": "5.0.0", "license": "MIT", "dependencies": { @@ -21154,7 +21521,7 @@ "node": ">=8" } }, - "node_modules/smartwrap/node_modules/p-limit": { + "node_modules/read-pkg-up/node_modules/p-limit": { "version": "2.3.0", "license": "MIT", "dependencies": { @@ -21167,7 +21534,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/smartwrap/node_modules/p-locate": { + "node_modules/read-pkg-up/node_modules/p-locate": { "version": "4.1.0", "license": "MIT", "dependencies": { @@ -21177,738 +21544,798 @@ "node": ">=8" } }, - "node_modules/smartwrap/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, - "node_modules/smartwrap/node_modules/wrap-ansi": { - "version": "6.2.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, - "node_modules/smartwrap/node_modules/y18n": { - "version": "4.0.3", - "license": "ISC" - }, - "node_modules/smartwrap/node_modules/yargs": { - "version": "15.4.1", + "node_modules/read-yaml-file": { + "version": "1.1.0", "license": "MIT", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "graceful-fs": "^4.1.5", + "js-yaml": "^3.6.1", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/smartwrap/node_modules/yargs-parser": { - "version": "18.1.3", - "license": "ISC", + "node_modules/read-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" + "sprintf-js": "~1.0.2" } }, - "node_modules/snake-case": { - "version": "3.0.4", - "dev": true, + "node_modules/read-yaml-file/node_modules/js-yaml": { + "version": "3.14.1", "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/snappy": { - "version": "7.2.2", + "node_modules/readable-stream": { + "version": "2.3.8", "license": "MIT", - "optional": true, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "optionalDependencies": { - "@napi-rs/snappy-android-arm-eabi": "7.2.2", - "@napi-rs/snappy-android-arm64": "7.2.2", - "@napi-rs/snappy-darwin-arm64": "7.2.2", - "@napi-rs/snappy-darwin-x64": "7.2.2", - "@napi-rs/snappy-freebsd-x64": "7.2.2", - "@napi-rs/snappy-linux-arm-gnueabihf": "7.2.2", - "@napi-rs/snappy-linux-arm64-gnu": "7.2.2", - "@napi-rs/snappy-linux-arm64-musl": "7.2.2", - "@napi-rs/snappy-linux-x64-gnu": "7.2.2", - "@napi-rs/snappy-linux-x64-musl": "7.2.2", - "@napi-rs/snappy-win32-arm64-msvc": "7.2.2", - "@napi-rs/snappy-win32-ia32-msvc": "7.2.2", - "@napi-rs/snappy-win32-x64-msvc": "7.2.2" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/socket.io-client": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", - "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "peer": true + }, + "node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "peer": true, "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">= 4" } }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, "engines": { - "node": ">=10.0.0" + "node": ">=0.10.0" } }, - "node_modules/socks": { - "version": "2.7.1", + "node_modules/redent": { + "version": "3.0.0", "license": "MIT", - "optional": true, "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">=8" } }, - "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "license": "MIT", - "optional": true, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "license": "Apache-2.0" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" }, "engines": { - "node": ">= 10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sort-keys": { - "version": "2.0.0", - "license": "MIT", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "peer": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "peer": true, "dependencies": { - "is-plain-obj": "^1.0.0" + "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "license": "MIT", + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "peer": true, "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@babel/runtime": "^7.8.4" } }, - "node_modules/sort-keys-length/node_modules/sort-keys": { - "version": "1.1.2", - "license": "MIT", + "node_modules/regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dependencies": { - "is-plain-obj": "^1.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "peer": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "peer": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "peer": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/spawndamnit": { - "version": "2.0.0", + "node_modules/require-directory": { + "version": "2.1.1", "license": "MIT", - "dependencies": { - "cross-spawn": "^5.1.0", - "signal-exit": "^3.0.2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/spawndamnit/node_modules/cross-spawn": { - "version": "5.1.0", + "node_modules/require-from-string": { + "version": "2.0.2", "license": "MIT", - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/spawndamnit/node_modules/lru-cache": { - "version": "4.1.5", - "license": "ISC", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } + "node_modules/require-main-filename": { + "version": "2.0.0", + "license": "ISC" }, - "node_modules/spawndamnit/node_modules/shebang-command": { - "version": "1.2.0", + "node_modules/resolve": { + "version": "1.22.8", "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/spawndamnit/node_modules/shebang-regex": { - "version": "1.0.0", + "node_modules/resolve-alpn": { + "version": "1.2.1", + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", "license": "MIT", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawndamnit/node_modules/which": { - "version": "1.3.1", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "node": ">=4" } }, - "node_modules/spawndamnit/node_modules/yallist": { - "version": "2.1.2", - "license": "ISC" - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/spdx-exceptions": { - "version": "2.4.0", - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", + "node_modules/response-iterator": { + "version": "0.2.6", "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.16", - "license": "CC0-1.0" - }, - "node_modules/split2": { - "version": "4.2.0", - "license": "ISC", "engines": { - "node": ">= 10.x" + "node": ">=0.8" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "license": "BSD-3-Clause" - }, - "node_modules/sqlite3": { - "version": "5.1.6", - "hasInstallScript": true, - "license": "BSD-3-Clause", + "node_modules/responselike": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.0", - "node-addon-api": "^4.2.0", - "tar": "^6.1.11" - }, - "optionalDependencies": { - "node-gyp": "8.x" - }, - "peerDependencies": { - "node-gyp": "8.x" - }, - "peerDependenciesMeta": { - "node-gyp": { - "optional": true - } + "lowercase-keys": "^1.0.0" } }, - "node_modules/ssri": { - "version": "8.0.1", - "license": "ISC", - "optional": true, + "node_modules/restore-cursor": { + "version": "4.0.0", + "license": "MIT", "dependencies": { - "minipass": "^3.1.1" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stack-trace": { - "version": "0.0.10", + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", "license": "MIT", "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "peer": true, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "license": "MIT", "dependencies": { - "escape-string-regexp": "^2.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "peer": true, + "node_modules/retry": { + "version": "0.12.0", + "license": "MIT", + "optional": true, "engines": { - "node": ">=8" + "node": ">= 4" } }, - "node_modules/stackback": { - "version": "0.0.2", + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", "dev": true, "license": "MIT" }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "peer": true - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "peer": true, + "node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", "dependencies": { - "type-fest": "^0.7.1" + "glob": "^7.1.3" }, - "engines": { - "node": ">=6" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "peer": true, + "node_modules/rollup": { + "version": "3.29.4", + "devOptional": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, "engines": { - "node": ">=8" + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "peer": true, + "node_modules/rollup-plugin-visualizer": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, "engines": { - "node": ">= 0.6" + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/std-env": { - "version": "3.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stdin-discarder": { - "version": "0.1.0", - "license": "MIT", + "node_modules/rollup-plugin-visualizer/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dependencies": { - "bl": "^5.0.0" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stream-transform": { - "version": "2.1.3", - "license": "MIT", - "dependencies": { - "mixme": "^0.5.1" + "node_modules/rollup-plugin-visualizer/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", + "node_modules/run-parallel": { + "version": "1.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dependencies": { - "safe-buffer": "~5.1.0" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", "license": "MIT" }, - "node_modules/string-argv": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.19" - } + "node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/string-width": { - "version": "5.1.2", - "license": "MIT", + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "node_modules/safe-stable-stringify": { + "version": "2.4.3", "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/safer-buffer": { + "version": "2.1.2", "license": "MIT" }, - "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/sats-connect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sats-connect/-/sats-connect-1.4.1.tgz", + "integrity": "sha512-IDGbgZS+NmURyQ01pUBnDgTuHx7uF9lUrDqKU7+M2YpDLe5NDIkc7oyXh3r+lDWnwfAGCyO31L1tK1+xgT9ThQ==", + "dependencies": { + "jsontokens": "^4.0.1", + "process": "^0.11.10", + "util": "^0.12.4" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", + "node_modules/scheduler": { + "version": "0.23.0", "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "dependencies": { + "loose-envify": "^1.1.0" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "license": "MIT", + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "hasInstallScript": true, "dependencies": { - "ansi-regex": "^6.0.1" + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=10.0.0" } }, - "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "dev": true, + "node_modules/secp256k1/node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node_modules/seek-bzip": { + "version": "1.0.6", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "commander": "^2.8.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "license": "MIT", + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "license": "MIT", + "node_modules/semver": { + "version": "7.5.4", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "lru-cache": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "ansi-regex": "^5.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "license": "MIT", + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "peer": true, "dependencies": { - "ansi-regex": "^5.0.1" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "is-natural-number": "^4.0.1" - } + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "peer": true, + "bin": { + "mime": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "license": "MIT", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "peer": true + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "peer": true, "dependencies": { - "min-indent": "^1.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/strip-literal": { + "node_modules/serialize-error": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", - "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", - "dev": true, + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "peer": true, "dependencies": { - "js-tokens": "^9.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", - "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", - "dev": true + "node_modules/set-blocking": { + "version": "2.0.0", + "license": "ISC" }, - "node_modules/strip-outer": { - "version": "1.0.1", - "license": "MIT", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { - "escape-string-regexp": "^1.0.2" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/strip-outer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">= 0.4" } }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "peer": true }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "license": "MIT", + "node_modules/sha.js": { + "version": "2.4.11", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } + "bin": { + "sha.js": "bin.js" } }, - "node_modules/stylis": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", - "peer": true + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "peer": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/supports-color": { - "version": "5.5.0", + "node_modules/shebang-command": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", + "node_modules/shebang-regex": { + "version": "3.0.0", "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, "engines": { "node": ">= 0.4" }, @@ -21916,664 +22343,733 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-parser": { - "version": "2.0.4", + "node_modules/siginfo": { + "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/svg.draggable.js": { - "version": "2.2.2", + "node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", "license": "MIT", - "peer": true, "dependencies": { - "svg.js": "^2.0.1" - }, - "engines": { - "node": ">= 0.8.0" + "is-arrayish": "^0.3.1" } }, - "node_modules/svg.easing.js": { - "version": "2.0.0", + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "license": "MIT" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "peer": true + }, + "node_modules/slash": { + "version": "3.0.0", "license": "MIT", - "peer": true, - "dependencies": { - "svg.js": ">=2.3.x" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/svg.filter.js": { - "version": "2.0.2", + "node_modules/slice-ansi": { + "version": "5.0.0", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "svg.js": "^2.2.5" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/svg.js": { - "version": "2.7.1", + "node_modules/smart-buffer": { + "version": "4.2.0", "license": "MIT", - "peer": true - }, - "node_modules/svg.pathmorphing.js": { - "version": "0.1.3", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/smartwrap": { + "version": "2.0.2", "license": "MIT", - "peer": true, "dependencies": { - "svg.js": "^2.4.0" + "array.prototype.flat": "^1.2.3", + "breakword": "^1.0.5", + "grapheme-splitter": "^1.0.4", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1", + "yargs": "^15.1.0" + }, + "bin": { + "smartwrap": "src/terminal-adapter.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/svg.resize.js": { - "version": "1.4.3", + "node_modules/smartwrap/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", - "peer": true, "dependencies": { - "svg.js": "^2.6.5", - "svg.select.js": "^2.1.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/svg.resize.js/node_modules/svg.select.js": { - "version": "2.1.2", + "node_modules/smartwrap/node_modules/camelcase": { + "version": "5.3.1", "license": "MIT", - "peer": true, - "dependencies": { - "svg.js": "^2.2.5" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/svg.select.js": { - "version": "3.0.1", + "node_modules/smartwrap/node_modules/cliui": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/smartwrap/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", - "peer": true, "dependencies": { - "svg.js": "^2.6.5" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.8.0" + "node": ">=7.0.0" } }, - "node_modules/swr": { - "version": "2.2.4", + "node_modules/smartwrap/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/smartwrap/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/smartwrap/node_modules/find-up": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "client-only": "^0.0.1", - "use-sync-external-store": "^1.2.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, - "peerDependencies": { - "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/symbol-observable": { - "version": "4.0.0", + "node_modules/smartwrap/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/tapable": { - "version": "2.2.1", - "dev": true, + "node_modules/smartwrap/node_modules/locate-path": { + "version": "5.0.0", "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/tar": { - "version": "6.2.0", - "license": "ISC", + "node_modules/smartwrap/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tar-stream": { - "version": "1.6.2", + "node_modules/smartwrap/node_modules/p-locate": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/tar-stream/node_modules/bl": { - "version": "1.2.3", + "node_modules/smartwrap/node_modules/string-width": { + "version": "4.2.3", "license": "MIT", "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "license": "ISC", + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/smartwrap/node_modules/wrap-ansi": { + "version": "6.2.0", "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", + "node_modules/smartwrap/node_modules/y18n": { + "version": "4.0.3", "license": "ISC" }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "peer": true, + "node_modules/smartwrap/node_modules/yargs": { + "version": "15.4.1", + "license": "MIT", "dependencies": { - "rimraf": "~2.6.2" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "peer": true, + "node_modules/smartwrap/node_modules/yargs-parser": { + "version": "18.1.3", + "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=6" } }, - "node_modules/term-size": { - "version": "2.2.1", + "node_modules/snake-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/snappy": { + "version": "7.2.2", "license": "MIT", + "optional": true, "engines": { - "node": ">=8" + "node": ">= 10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/snappy-android-arm-eabi": "7.2.2", + "@napi-rs/snappy-android-arm64": "7.2.2", + "@napi-rs/snappy-darwin-arm64": "7.2.2", + "@napi-rs/snappy-darwin-x64": "7.2.2", + "@napi-rs/snappy-freebsd-x64": "7.2.2", + "@napi-rs/snappy-linux-arm-gnueabihf": "7.2.2", + "@napi-rs/snappy-linux-arm64-gnu": "7.2.2", + "@napi-rs/snappy-linux-arm64-musl": "7.2.2", + "@napi-rs/snappy-linux-x64-gnu": "7.2.2", + "@napi-rs/snappy-linux-x64-musl": "7.2.2", + "@napi-rs/snappy-win32-arm64-msvc": "7.2.2", + "@napi-rs/snappy-win32-ia32-msvc": "7.2.2", + "@napi-rs/snappy-win32-x64-msvc": "7.2.2" } }, - "node_modules/terser": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz", - "integrity": "sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==", - "peer": true, + "node_modules/socket.io-client": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" }, "engines": { - "node": ">=10" + "node": ">=10.0.0" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "peer": true - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, "engines": { - "node": ">=8" + "node": ">=10.0.0" } }, - "node_modules/text-hex": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/thenify": { - "version": "3.3.1", + "node_modules/socks": { + "version": "2.7.1", "license": "MIT", + "optional": true, "dependencies": { - "any-promise": "^1.0.0" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/thenify-all": { - "version": "1.6.0", + "node_modules/socks-proxy-agent": { + "version": "6.2.1", "license": "MIT", + "optional": true, "dependencies": { - "thenify": ">= 3.1.0 < 4" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">=0.8" + "node": ">= 10" } }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "peer": true - }, - "node_modules/through": { - "version": "2.3.8", - "license": "MIT" - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "peer": true, + "node_modules/sort-keys": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/timed-out": { - "version": "4.0.1", + "node_modules/sort-keys-length": { + "version": "1.0.1", "license": "MIT", + "dependencies": { + "sort-keys": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/tinybench": { - "version": "2.6.0", - "dev": true, - "license": "MIT" - }, - "node_modules/tinypool": { - "version": "0.8.2", - "dev": true, + "node_modules/sort-keys-length/node_modules/sort-keys": { + "version": "1.1.2", "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" } }, - "node_modules/tinyspy": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", - "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", - "dev": true, + "node_modules/source-map": { + "version": "0.5.7", + "license": "BSD-3-Clause", "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" } }, - "node_modules/tmp": { - "version": "0.0.33", - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { - "node": ">=0.6.0" + "node": ">=0.10.0" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "peer": true - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "license": "MIT" + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "license": "MIT", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/spawndamnit": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "cross-spawn": "^5.1.0", + "signal-exit": "^3.0.2" } }, - "node_modules/toggle-selection": { - "version": "1.0.6", - "license": "MIT" - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "peer": true, - "engines": { - "node": ">=0.6" + "node_modules/spawndamnit/node_modules/cross-spawn": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/spawndamnit/node_modules/lru-cache": { + "version": "4.1.5", + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "node_modules/trim-repeated": { - "version": "1.0.0", + "node_modules/spawndamnit/node_modules/shebang-command": { + "version": "1.2.0", "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.2" + "shebang-regex": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/trim-repeated/node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/triple-beam": { - "version": "1.4.1", + "node_modules/spawndamnit/node_modules/shebang-regex": { + "version": "1.0.0", "license": "MIT", "engines": { - "node": ">= 14.0.0" + "node": ">=0.10.0" } }, - "node_modules/ts-api-utils": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.13.0" + "node_modules/spawndamnit/node_modules/which": { + "version": "1.3.1", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" }, - "peerDependencies": { - "typescript": ">=4.2.0" + "bin": { + "which": "bin/which" } }, - "node_modules/ts-custom-error": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz", - "integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==", - "engines": { - "node": ">=14.0.0" - } + "node_modules/spawndamnit/node_modules/yallist": { + "version": "2.1.2", + "license": "ISC" }, - "node_modules/ts-invariant": { - "version": "0.10.3", - "license": "MIT", + "node_modules/spdx-correct": { + "version": "3.2.0", + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=8" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/ts-morph": { - "version": "18.0.0", - "dev": true, + "node_modules/spdx-exceptions": { + "version": "2.4.0", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", "license": "MIT", "dependencies": { - "@ts-morph/common": "~0.19.0", - "code-block-writer": "^12.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "devOptional": true, - "license": "MIT", + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "license": "CC0-1.0" + }, + "node_modules/split2": { + "version": "4.2.0", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" + }, + "node_modules/sqlite3": { + "version": "5.1.6", + "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" + "@mapbox/node-pre-gyp": "^1.0.0", + "node-addon-api": "^4.2.0", + "tar": "^6.1.11" }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "optionalDependencies": { + "node-gyp": "8.x" }, "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "node-gyp": "8.x" }, "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { + "node-gyp": { "optional": true } } }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "dev": true, - "license": "MIT", + "node_modules/ssri": { + "version": "8.0.1", + "license": "ISC", + "optional": true, "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "dev": true, + "node_modules/stack-trace": { + "version": "0.0.10", "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "peer": true, "dependencies": { - "minimist": "^1.2.0" + "escape-string-regexp": "^2.0.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=10" } }, - "node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "peer": true, + "engines": { + "node": ">=8" + } }, - "node_modules/tsutils": { - "version": "3.21.0", + "node_modules/stackback": { + "version": "0.0.2", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "peer": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "peer": true, "dependencies": { - "tslib": "^1.8.1" + "type-fest": "^0.7.1" }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "node": ">=6" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "peer": true, + "engines": { + "node": ">=8" + } }, - "node_modules/tty-table": { - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "csv": "^5.5.3", - "kleur": "^4.1.5", - "smartwrap": "^2.0.2", - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.1", - "yargs": "^17.7.1" - }, - "bin": { - "tty-table": "adapters/terminal-adapter.js" - }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "peer": true, "engines": { - "node": ">=8.0.0" + "node": ">= 0.6" } }, - "node_modules/tty-table/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/std-env": { + "version": "3.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/stdin-discarder": { + "version": "0.1.0", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "bl": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tty-table/node_modules/chalk": { - "version": "4.1.2", + "node_modules/stream-transform": { + "version": "2.1.3", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "mixme": "^0.5.1" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=10.0.0" } }, - "node_modules/tty-table/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/strict-uri-encode": { + "version": "1.1.0", "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/tty-table/node_modules/color-name": { - "version": "1.1.4", + "node_modules/string_decoder": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", "license": "MIT" }, - "node_modules/tty-table/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/string-argv": { + "version": "0.3.2", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.6.19" } }, - "node_modules/tty-table/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/string-width": { + "version": "5.1.2", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/type-fest": { - "version": "1.4.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" }, "engines": { "node": ">= 0.4" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "license": "MIT", + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -22582,15 +23078,25 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typed-array-byte-offset": { + "node_modules/string.prototype.repeat": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -22599,1334 +23105,1936 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "license": "MIT", + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typeforce": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", - "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" - }, - "node_modules/typeorm": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.20.tgz", - "integrity": "sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dependencies": { - "@sqltools/formatter": "^1.2.5", - "app-root-path": "^3.1.0", - "buffer": "^6.0.3", - "chalk": "^4.1.2", - "cli-highlight": "^2.1.11", - "dayjs": "^1.11.9", - "debug": "^4.3.4", - "dotenv": "^16.0.3", - "glob": "^10.3.10", - "mkdirp": "^2.1.3", - "reflect-metadata": "^0.2.2", - "sha.js": "^2.4.11", - "tslib": "^2.5.0", - "uuid": "^9.0.0", - "yargs": "^17.6.2" - }, - "bin": { - "typeorm": "cli.js", - "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js", - "typeorm-ts-node-esm": "cli-ts-node-esm.js" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=16.13.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/typeorm" - }, - "peerDependencies": { - "@google-cloud/spanner": "^5.18.0", - "@sap/hana-client": "^2.12.25", - "better-sqlite3": "^7.1.2 || ^8.0.0 || ^9.0.0", - "hdb-pool": "^0.1.6", - "ioredis": "^5.0.4", - "mongodb": "^5.8.0", - "mssql": "^9.1.1 || ^10.0.1", - "mysql2": "^2.2.5 || ^3.0.1", - "oracledb": "^6.3.0", - "pg": "^8.5.1", - "pg-native": "^3.0.0", - "pg-query-stream": "^4.0.0", - "redis": "^3.1.1 || ^4.0.0", - "sql.js": "^1.4.0", - "sqlite3": "^5.0.3", - "ts-node": "^10.7.0", - "typeorm-aurora-data-api-driver": "^2.0.0" - }, - "peerDependenciesMeta": { - "@google-cloud/spanner": { - "optional": true - }, - "@sap/hana-client": { - "optional": true - }, - "better-sqlite3": { - "optional": true - }, - "hdb-pool": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "mongodb": { - "optional": true - }, - "mssql": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "oracledb": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-native": { - "optional": true - }, - "pg-query-stream": { - "optional": true - }, - "redis": { - "optional": true - }, - "sql.js": { - "optional": true - }, - "sqlite3": { - "optional": true - }, - "ts-node": { - "optional": true - }, - "typeorm-aurora-data-api-driver": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typeorm/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/strip-ansi": { + "version": "6.0.1", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/typeorm/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/typeorm/node_modules/chalk": { - "version": "4.1.2", + "node_modules/strip-bom": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "node_modules/typeorm/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/strip-dirs": { + "version": "2.1.0", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "is-natural-number": "^4.0.1" } }, - "node_modules/typeorm/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/typeorm/node_modules/glob": { - "version": "10.3.10", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typeorm/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/strip-indent": { + "version": "3.0.0", "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/typeorm/node_modules/minimatch": { - "version": "9.0.3", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typeorm/node_modules/minipass": { - "version": "7.0.4", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "dev": true, + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/typeorm/node_modules/reflect-metadata": { - "version": "0.2.2", - "license": "Apache-2.0" + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true }, - "node_modules/typeorm/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/strip-outer": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "escape-string-regexp": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/typescript": { - "version": "5.3.3", - "devOptional": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", "engines": { - "node": ">=14.17" + "node": ">=0.8.0" } }, - "node_modules/ufo": { - "version": "1.3.2", - "dev": true, - "license": "MIT" + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "peer": true }, - "node_modules/unbox-primitive": { - "version": "1.0.2", + "node_modules/styled-jsx": { + "version": "5.1.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "client-only": "0.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", + "node_modules/stylis": { + "version": "4.2.0", + "license": "MIT" + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "peer": true + }, + "node_modules/supports-color": { + "version": "5.5.0", "license": "MIT", "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/unbzip2-stream/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici-types": { - "version": "5.26.5", + "node_modules/svg-parser": { + "version": "2.0.4", "dev": true, "license": "MIT" }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "node_modules/svg.draggable.js": { + "version": "2.2.2", + "license": "MIT", "peer": true, + "dependencies": { + "svg.js": "^2.0.1" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/unicode-match-property-ecmascript": { + "node_modules/svg.easing.js": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "peer": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "svg.js": ">=2.3.x" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "node_modules/svg.filter.js": { + "version": "2.0.2", + "license": "MIT", "peer": true, + "dependencies": { + "svg.js": "^2.2.5" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "node_modules/svg.js": { + "version": "2.7.1", + "license": "MIT", + "peer": true + }, + "node_modules/svg.pathmorphing.js": { + "version": "0.1.3", + "license": "MIT", "peer": true, + "dependencies": { + "svg.js": "^2.4.0" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "license": "ISC", - "optional": true, + "node_modules/svg.resize.js": { + "version": "1.4.3", + "license": "MIT", + "peer": true, "dependencies": { - "unique-slug": "^2.0.0" + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "license": "ISC", - "optional": true, + "node_modules/svg.resize.js/node_modules/svg.select.js": { + "version": "2.1.2", + "license": "MIT", + "peer": true, "dependencies": { - "imurmurhash": "^0.1.4" + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/universal-github-app-jwt": { - "version": "1.1.1", + "node_modules/svg.select.js": { + "version": "3.0.1", "license": "MIT", + "peer": true, "dependencies": { - "@types/jsonwebtoken": "^9.0.0", - "jsonwebtoken": "^9.0.0" + "svg.js": "^2.6.5" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/universal-user-agent": { - "version": "6.0.1", - "license": "ISC" + "node_modules/swr": { + "version": "2.2.4", + "license": "MIT", + "dependencies": { + "client-only": "^0.0.1", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + } }, - "node_modules/universalify": { - "version": "2.0.1", - "dev": true, + "node_modules/symbol-observable": { + "version": "4.0.0", "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">=0.10" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "peer": true, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/tar": { + "version": "6.2.0", + "license": "ISC", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" + "engines": { + "node": ">=10" } }, - "node_modules/url-parse-lax": { - "version": "3.0.0", + "node_modules/tar-stream": { + "version": "1.6.2", "license": "MIT", "dependencies": { - "prepend-http": "^2.0.0" + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/url-polyfill": { - "version": "1.1.12", - "license": "MIT" - }, - "node_modules/url-to-options": { - "version": "1.0.1", + "node_modules/tar-stream/node_modules/bl": { + "version": "1.2.3", "license": "MIT", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "license": "ISC", "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "peer": true, "dependencies": { - "node-gyp-build": "^4.3.0" + "rimraf": "~2.6.2" }, "engines": { - "node": ">=6.14.2" + "node": ">=6.0.0" } }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "peer": true, "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" + "node_modules/term-size": { + "version": "2.2.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/terser": { + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz", + "integrity": "sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==", "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">= 0.4.0" + "node": ">=10" } }, - "node_modules/uuid": { - "version": "9.0.1", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "peer": true + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "devOptional": true, + "node_modules/text-hex": { + "version": "1.0.0", "license": "MIT" }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "license": "Apache-2.0", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "license": "MIT", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "any-promise": "^1.0.0" } }, - "node_modules/validator": { - "version": "13.11.0", - "dev": true, + "node_modules/thenify-all": { + "version": "1.6.0", "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, "engines": { - "node": ">= 0.10" + "node": ">=0.8" } }, - "node_modules/varuint-bitcoin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz", - "integrity": "sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==", + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "peer": true + }, + "node_modules/through": { + "version": "2.3.8", + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "peer": true, "dependencies": { - "safe-buffer": "^5.1.1" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "peer": true, + "node_modules/timed-out": { + "version": "4.0.1", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/vite": { - "version": "4.5.0", + "node_modules/tinybench": { + "version": "2.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "0.8.2", "dev": true, "license": "MIT", - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": ">=14.0.0" } }, - "node_modules/vite-node": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz", - "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==", + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "node": ">=14.0.0" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/tmp": { + "version": "0.0.33", + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, "engines": { - "node": ">=12" + "node": ">=0.6.0" } }, - "node_modules/vite-node/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.0.tgz", - "integrity": "sha512-C6y6z2eCNCfhZxT9u+jAM2Fup89ZjiG5pIzZIDycs1IwESviLxwkQcFRGLjnDrP+PT+v5i4YFvlcfAs+LnreXg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "peer": true }, - "node_modules/vite-node/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.0.tgz", - "integrity": "sha512-i0QwbHYfnOMYsBEyjxcwGu5SMIi9sImDVjDg087hpzXqhBSosxkE7gyIYFHgfFl4mr7RrXksIBZ4DoLoP4FhJg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] + "node_modules/to-buffer": { + "version": "1.1.1", + "license": "MIT" }, - "node_modules/vite-node/node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, + "license": "MIT", "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "node": ">=4" } }, - "node_modules/vite-node/node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "is-number": "^7.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=8.0" } }, - "node_modules/vite-node/node_modules/rollup": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.0.tgz", - "integrity": "sha512-Qe7w62TyawbDzB4yt32R0+AbIo6m1/sqO7UPzFS8Z/ksL5mrfhA0v4CavfdmFav3D+ub4QeAgsGEe84DoWe/nQ==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "peer": true, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.0", - "@rollup/rollup-android-arm64": "4.14.0", - "@rollup/rollup-darwin-arm64": "4.14.0", - "@rollup/rollup-darwin-x64": "4.14.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.0", - "@rollup/rollup-linux-arm64-gnu": "4.14.0", - "@rollup/rollup-linux-arm64-musl": "4.14.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.0", - "@rollup/rollup-linux-riscv64-gnu": "4.14.0", - "@rollup/rollup-linux-s390x-gnu": "4.14.0", - "@rollup/rollup-linux-x64-gnu": "4.14.0", - "@rollup/rollup-linux-x64-musl": "4.14.0", - "@rollup/rollup-win32-arm64-msvc": "4.14.0", - "@rollup/rollup-win32-ia32-msvc": "4.14.0", - "@rollup/rollup-win32-x64-msvc": "4.14.0", - "fsevents": "~2.3.2" + "node": ">=0.6" } }, - "node_modules/vite-node/node_modules/vite": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz", - "integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==", - "dev": true, + "node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.38", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" + "escape-string-regexp": "^1.0.2" }, "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", + "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", + "dev": true, + "engines": { + "node": ">=16" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "typescript": ">=4.2.0" } }, - "node_modules/vite-plugin-dts": { - "version": "2.3.0", - "dev": true, + "node_modules/ts-custom-error": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz", + "integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ts-invariant": { + "version": "0.10.3", "license": "MIT", "dependencies": { - "@babel/parser": "^7.21.4", - "@microsoft/api-extractor": "^7.34.4", - "@rollup/pluginutils": "^5.0.2", - "@rushstack/node-core-library": "^3.55.2", - "debug": "^4.3.4", - "fast-glob": "^3.2.12", - "fs-extra": "^10.1.0", - "kolorist": "^1.7.0", - "magic-string": "^0.29.0", - "ts-morph": "18.0.0" + "tslib": "^2.1.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": ">=2.9.0" + "node": ">=8" } }, - "node_modules/vite-plugin-svgr": { - "version": "3.3.0", + "node_modules/ts-morph": { + "version": "18.0.0", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.0.4", - "@svgr/core": "^8.1.0", - "@svgr/plugin-jsx": "^8.1.0" - }, - "peerDependencies": { - "vite": "^2.6.0 || 3 || 4" + "@ts-morph/common": "~0.19.0", + "code-block-writer": "^12.0.0" } }, - "node_modules/vitest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz", - "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==", - "dev": true, + "node_modules/ts-node": { + "version": "10.9.1", + "devOptional": true, + "license": "MIT", "dependencies": { - "@vitest/expect": "1.4.0", - "@vitest/runner": "1.4.0", - "@vitest/snapshot": "1.4.0", - "@vitest/spy": "1.4.0", - "@vitest/utils": "1.4.0", - "acorn-walk": "^8.3.2", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.2", - "vite": "^5.0.0", - "vite-node": "1.4.0", - "why-is-node-running": "^2.2.2" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.4.0", - "@vitest/ui": "1.4.0", - "happy-dom": "*", - "jsdom": "*" + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" }, "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { + "@swc/core": { "optional": true }, - "jsdom": { + "@swc/wasm": { "optional": true } } }, - "node_modules/vitest/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": [ - "ppc64" - ], + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/vitest/node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": [ - "arm" - ], + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/vitest/node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" }, - "node_modules/vitest/node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": [ - "x64" - ], + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "tslib": "^1.8.1" + }, "engines": { - "node": ">=12" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/vitest/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, - "node_modules/vitest/node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/tty-table": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "csv": "^5.5.3", + "kleur": "^4.1.5", + "smartwrap": "^2.0.2", + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.1", + "yargs": "^17.7.1" + }, + "bin": { + "tty-table": "adapters/terminal-adapter.js" + }, "engines": { - "node": ">=12" + "node": ">=8.0.0" } }, - "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/tty-table/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/vitest/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/tty-table/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/vitest/node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/tty-table/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=12" + "node": ">=7.0.0" } }, - "node_modules/vitest/node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/tty-table/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/tty-table/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/vitest/node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/tty-table/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/vitest/node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": [ - "loong64" - ], + "node_modules/type-check": { + "version": "0.4.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">=12" + "node": ">= 0.8.0" } }, - "node_modules/vitest/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vitest/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": [ - "ppc64" - ], + "node_modules/type-fest": { + "version": "1.4.0", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vitest/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/vitest/node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vitest/node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typeforce": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", + "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" + }, + "node_modules/typeorm": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.20.tgz", + "integrity": "sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==", + "dependencies": { + "@sqltools/formatter": "^1.2.5", + "app-root-path": "^3.1.0", + "buffer": "^6.0.3", + "chalk": "^4.1.2", + "cli-highlight": "^2.1.11", + "dayjs": "^1.11.9", + "debug": "^4.3.4", + "dotenv": "^16.0.3", + "glob": "^10.3.10", + "mkdirp": "^2.1.3", + "reflect-metadata": "^0.2.2", + "sha.js": "^2.4.11", + "tslib": "^2.5.0", + "uuid": "^9.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "typeorm": "cli.js", + "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js", + "typeorm-ts-node-esm": "cli-ts-node-esm.js" + }, + "engines": { + "node": ">=16.13.0" + }, + "funding": { + "url": "https://opencollective.com/typeorm" + }, + "peerDependencies": { + "@google-cloud/spanner": "^5.18.0", + "@sap/hana-client": "^2.12.25", + "better-sqlite3": "^7.1.2 || ^8.0.0 || ^9.0.0", + "hdb-pool": "^0.1.6", + "ioredis": "^5.0.4", + "mongodb": "^5.8.0", + "mssql": "^9.1.1 || ^10.0.1", + "mysql2": "^2.2.5 || ^3.0.1", + "oracledb": "^6.3.0", + "pg": "^8.5.1", + "pg-native": "^3.0.0", + "pg-query-stream": "^4.0.0", + "redis": "^3.1.1 || ^4.0.0", + "sql.js": "^1.4.0", + "sqlite3": "^5.0.3", + "ts-node": "^10.7.0", + "typeorm-aurora-data-api-driver": "^2.0.0" + }, + "peerDependenciesMeta": { + "@google-cloud/spanner": { + "optional": true + }, + "@sap/hana-client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "hdb-pool": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mssql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "oracledb": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "pg-query-stream": { + "optional": true + }, + "redis": { + "optional": true + }, + "sql.js": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "ts-node": { + "optional": true + }, + "typeorm-aurora-data-api-driver": { + "optional": true + } + } + }, + "node_modules/typeorm/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/typeorm/node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typeorm/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/typeorm/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/typeorm/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/typeorm/node_modules/glob": { + "version": "10.3.10", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typeorm/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/typeorm/node_modules/minimatch": { + "version": "9.0.3", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typeorm/node_modules/minipass": { + "version": "7.0.4", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/typeorm/node_modules/reflect-metadata": { + "version": "0.2.2", + "license": "Apache-2.0" + }, + "node_modules/typeorm/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "license": "MIT", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unbzip2-stream/node_modules/buffer": { + "version": "5.7.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "peer": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "license": "ISC", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "license": "ISC", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universal-github-app-jwt": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "@types/jsonwebtoken": "^9.0.0", + "jsonwebtoken": "^9.0.0" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "license": "ISC" + }, + "node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-polyfill": { + "version": "1.1.12", + "license": "MIT" + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "peer": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "devOptional": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validator": { + "version": "13.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/varuint-bitcoin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz", + "integrity": "sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==", + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz", + "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.0.tgz", + "integrity": "sha512-C6y6z2eCNCfhZxT9u+jAM2Fup89ZjiG5pIzZIDycs1IwESviLxwkQcFRGLjnDrP+PT+v5i4YFvlcfAs+LnreXg==", + "cpu": [ + "x64" + ], + "dev": true, "optional": true, "os": [ "linux" + ] + }, + "node_modules/vite-node/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.0.tgz", + "integrity": "sha512-i0QwbHYfnOMYsBEyjxcwGu5SMIi9sImDVjDg087hpzXqhBSosxkE7gyIYFHgfFl4mr7RrXksIBZ4DoLoP4FhJg==", + "cpu": [ + "x64" ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/vite-node/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, - "node_modules/vitest/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "node_modules/vite-node/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/vite-node/node_modules/rollup": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.0.tgz", + "integrity": "sha512-Qe7w62TyawbDzB4yt32R0+AbIo6m1/sqO7UPzFS8Z/ksL5mrfhA0v4CavfdmFav3D+ub4QeAgsGEe84DoWe/nQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.14.0", + "@rollup/rollup-android-arm64": "4.14.0", + "@rollup/rollup-darwin-arm64": "4.14.0", + "@rollup/rollup-darwin-x64": "4.14.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.14.0", + "@rollup/rollup-linux-arm64-gnu": "4.14.0", + "@rollup/rollup-linux-arm64-musl": "4.14.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.14.0", + "@rollup/rollup-linux-riscv64-gnu": "4.14.0", + "@rollup/rollup-linux-s390x-gnu": "4.14.0", + "@rollup/rollup-linux-x64-gnu": "4.14.0", + "@rollup/rollup-linux-x64-musl": "4.14.0", + "@rollup/rollup-win32-arm64-msvc": "4.14.0", + "@rollup/rollup-win32-ia32-msvc": "4.14.0", + "@rollup/rollup-win32-x64-msvc": "4.14.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/vite-node/node_modules/vite": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz", + "integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-dts": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.21.4", + "@microsoft/api-extractor": "^7.34.4", + "@rollup/pluginutils": "^5.0.2", + "@rushstack/node-core-library": "^3.55.2", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "fs-extra": "^10.1.0", + "kolorist": "^1.7.0", + "magic-string": "^0.29.0", + "ts-morph": "18.0.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": ">=2.9.0" + } + }, + "node_modules/vite-plugin-svgr": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.4", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" + }, + "peerDependencies": { + "vite": "^2.6.0 || 3 || 4" + } + }, + "node_modules/vitest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz", + "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.4.0", + "@vitest/runner": "1.4.0", + "@vitest/snapshot": "1.4.0", + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.4.0", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.4.0", + "@vitest/ui": "1.4.0", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", "cpu": [ - "x64" + "ppc64" ], "dev": true, "optional": true, "os": [ - "netbsd" + "aix" ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/openbsd-x64": { + "node_modules/vitest/node_modules/@esbuild/android-arm": { "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "cpu": [ - "x64" + "arm" ], "dev": true, "optional": true, "os": [ - "openbsd" + "android" ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/sunos-x64": { + "node_modules/vitest/node_modules/@esbuild/android-arm64": { "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "cpu": [ - "x64" + "arm64" ], "dev": true, "optional": true, "os": [ - "sunos" + "android" ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/win32-arm64": { + "node_modules/vitest/node_modules/@esbuild/android-x64": { "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "cpu": [ - "arm64" + "x64" ], "dev": true, "optional": true, "os": [ - "win32" + "android" ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/win32-ia32": { + "node_modules/vitest/node_modules/@esbuild/darwin-arm64": { "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "optional": true, "os": [ - "win32" + "darwin" ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/win32-x64": { + "node_modules/vitest/node_modules/@esbuild/darwin-x64": { "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "cpu": [ "x64" ], "dev": true, "optional": true, "os": [ - "win32" + "darwin" ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", - "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/vitest/node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", - "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", + "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "cpu": [ "arm64" ], "dev": true, "optional": true, "os": [ - "android" - ] - }, - "node_modules/vitest/node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", - "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", - "cpu": [ - "arm64" + "freebsd" ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] + "engines": { + "node": ">=12" + } }, - "node_modules/vitest/node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", - "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", + "node_modules/vitest/node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "cpu": [ "x64" ], "dev": true, "optional": true, "os": [ - "darwin" - ] + "freebsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/vitest/node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", - "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", + "node_modules/vitest/node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "cpu": [ "arm" ], @@ -23934,12 +25042,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">=12" + } }, - "node_modules/vitest/node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", - "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", + "node_modules/vitest/node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "cpu": [ "arm64" ], @@ -23947,793 +25058,773 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">=12" + } }, - "node_modules/vitest/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", - "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", + "node_modules/vitest/node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", "cpu": [ - "arm64" + "ia32" ], "dev": true, "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">=12" + } }, - "node_modules/vitest/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", - "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", + "node_modules/vitest/node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", "cpu": [ - "riscv64" + "loong64" ], "dev": true, "optional": true, "os": [ "linux" - ] - }, - "node_modules/vitest/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", - "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", - "cpu": [ - "arm64" ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">=12" + } }, - "node_modules/vitest/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", - "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", + "node_modules/vitest/node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", "cpu": [ - "ia32" + "mips64el" ], "dev": true, "optional": true, "os": [ - "win32" - ] - }, - "node_modules/vitest/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", - "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", - "cpu": [ - "x64" + "linux" ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/vitest/node_modules/esbuild": { - "version": "0.19.12", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" } }, - "node_modules/vitest/node_modules/execa": { - "version": "8.0.1", + "node_modules/vitest/node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=12" } }, - "node_modules/vitest/node_modules/get-stream": { - "version": "8.0.1", + "node_modules/vitest/node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/vitest/node_modules/human-signals": { - "version": "5.0.0", + "node_modules/vitest/node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16.17.0" + "node": ">=12" } }, - "node_modules/vitest/node_modules/is-stream": { - "version": "3.0.0", + "node_modules/vitest/node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/vitest/node_modules/magic-string": { - "version": "0.30.6", + "node_modules/vitest/node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/postcss": { - "version": "8.4.33", + "node_modules/vitest/node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "optional": true, + "os": [ + "openbsd" ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=12" } }, - "node_modules/vitest/node_modules/rollup": { - "version": "4.9.6", + "node_modules/vitest/node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.6", - "@rollup/rollup-android-arm64": "4.9.6", - "@rollup/rollup-darwin-arm64": "4.9.6", - "@rollup/rollup-darwin-x64": "4.9.6", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", - "@rollup/rollup-linux-arm64-gnu": "4.9.6", - "@rollup/rollup-linux-arm64-musl": "4.9.6", - "@rollup/rollup-linux-riscv64-gnu": "4.9.6", - "@rollup/rollup-linux-x64-gnu": "4.9.6", - "@rollup/rollup-linux-x64-musl": "4.9.6", - "@rollup/rollup-win32-arm64-msvc": "4.9.6", - "@rollup/rollup-win32-ia32-msvc": "4.9.6", - "@rollup/rollup-win32-x64-msvc": "4.9.6", - "fsevents": "~2.3.2" + "node": ">=12" } }, - "node_modules/vitest/node_modules/signal-exit": { - "version": "4.1.0", + "node_modules/vitest/node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, - "node_modules/vitest/node_modules/vite": { - "version": "5.0.12", + "node_modules/vitest/node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.32", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": ">=12" } }, - "node_modules/vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", - "peer": true - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "peer": true, - "dependencies": { - "makeerror": "1.0.12" + "node_modules/vitest/node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } + "node_modules/vitest/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] }, - "node_modules/webextension-polyfill": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", - "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==" + "node_modules/vitest/node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" + "node_modules/vitest/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/whatwg-fetch": { - "version": "3.6.20", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", - "peer": true + "node_modules/vitest/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } + "node_modules/vitest/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/which": { - "version": "2.0.2", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } + "node_modules/vitest/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/vitest/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/which-builtin-type": { - "version": "1.1.3", + "node_modules/vitest/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", + "node_modules/vitest/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/which-collection": { - "version": "1.0.1", + "node_modules/vitest/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/which-module": { - "version": "2.0.1", - "license": "ISC" + "node_modules/vitest/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/which-pm": { - "version": "2.0.0", + "node_modules/vitest/node_modules/esbuild": { + "version": "0.19.12", + "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=8.15" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" } }, - "node_modules/which-typed-array": { - "version": "1.1.13", + "node_modules/vitest/node_modules/execa": { + "version": "8.0.1", + "dev": true, "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=16.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/why-is-node-running": { - "version": "2.2.2", + "node_modules/vitest/node_modules/get-stream": { + "version": "8.0.1", "dev": true, "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "node_modules/vitest/node_modules/human-signals": { + "version": "5.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" } }, - "node_modules/wide-align/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { + "node_modules/vitest/node_modules/is-stream": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/winston": { - "version": "3.11.0", + "node_modules/vitest/node_modules/magic-string": { + "version": "0.30.6", + "dev": true, "license": "MIT", "dependencies": { - "@colors/colors": "^1.6.0", - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" + "@jridgewell/sourcemap-codec": "^1.4.15" }, "engines": { - "node": ">= 12.0.0" + "node": ">=12" } }, - "node_modules/winston-daily-rotate-file": { - "version": "4.7.1", + "node_modules/vitest/node_modules/postcss": { + "version": "8.4.33", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "file-stream-rotator": "^0.6.1", - "object-hash": "^2.0.1", - "triple-beam": "^1.3.0", - "winston-transport": "^4.4.0" + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">=8" - }, - "peerDependencies": { - "winston": "^3" + "node": "^10 || ^12 || >=14" } }, - "node_modules/winston-loki": { - "version": "6.0.8", + "node_modules/vitest/node_modules/rollup": { + "version": "4.9.6", + "dev": true, "license": "MIT", "dependencies": { - "async-exit-hook": "2.0.1", - "btoa": "^1.2.1", - "protobufjs": "^7.2.4", - "url-polyfill": "^1.1.12", - "winston-transport": "^4.3.0" + "@types/estree": "1.0.5" }, - "optionalDependencies": { - "snappy": "^7.2.2" - } - }, - "node_modules/winston-transport": { - "version": "4.6.0", - "license": "MIT", - "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/winston-transport/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "node": ">=18.0.0", + "npm": ">=8.0.0" }, - "engines": { - "node": ">= 6" + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", + "fsevents": "~2.3.2" } }, - "node_modules/winston/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", + "node_modules/vitest/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/winston/node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/vitest/node_modules/vite": { + "version": "5.0.12", + "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "url": "https://github.com/vitejs/vite?sponsor=1" }, - "engines": { - "node": ">=10" + "optionalDependencies": { + "fsevents": "~2.3.3" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "peer": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "peer": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "makeerror": "1.0.12" } }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/wcwidth": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "defaults": "^1.0.3" } }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/webextension-polyfill": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", + "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==" }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" + "node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" }, - "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "peer": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "license": "MIT", + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, - "node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "peer": true, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", - "engines": { - "node": ">=0.4.0" - } + "node_modules/which-module": { + "version": "2.0.1", + "license": "ISC" }, - "node_modules/xtend": { - "version": "4.0.2", + "node_modules/which-pm": { + "version": "2.0.0", "license": "MIT", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "license": "ISC", - "engines": { - "node": ">=10" + "node": ">=8.15" } }, - "node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "license": "ISC", + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/yargs": { - "version": "17.7.2", + "node_modules/why-is-node-running": { + "version": "2.2.2", + "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", + "node_modules/wide-align": { + "version": "1.1.5", "license": "ISC", - "engines": { - "node": ">=12" + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "node_modules/yargs/node_modules/emoji-regex": { + "node_modules/wide-align/node_modules/emoji-regex": { "version": "8.0.0", "license": "MIT" }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "node_modules/wide-align/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/yargs/node_modules/string-width": { + "node_modules/wide-align/node_modules/string-width": { "version": "4.2.3", "license": "MIT", "dependencies": { @@ -24745,497 +25836,423 @@ "node": ">=8" } }, - "node_modules/yauzl": { - "version": "2.10.0", + "node_modules/winston": { + "version": "3.11.0", "license": "MIT", "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "devOptional": true, - "license": "MIT", + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.5.0" + }, "engines": { - "node": ">=6" + "node": ">= 12.0.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", + "node_modules/winston-daily-rotate-file": { + "version": "4.7.1", "license": "MIT", + "dependencies": { + "file-stream-rotator": "^0.6.1", + "object-hash": "^2.0.1", + "triple-beam": "^1.3.0", + "winston-transport": "^4.4.0" + }, "engines": { - "node": ">=10" + "node": ">=8" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "winston": "^3" } }, - "node_modules/z-schema": { - "version": "5.0.5", - "dev": true, + "node_modules/winston-loki": { + "version": "6.0.8", "license": "MIT", "dependencies": { - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "validator": "^13.7.0" - }, - "bin": { - "z-schema": "bin/z-schema" - }, - "engines": { - "node": ">=8.0.0" + "async-exit-hook": "2.0.1", + "btoa": "^1.2.1", + "protobufjs": "^7.2.4", + "url-polyfill": "^1.1.12", + "winston-transport": "^4.3.0" }, "optionalDependencies": { - "commander": "^9.4.1" + "snappy": "^7.2.2" } }, - "node_modules/z-schema/node_modules/commander": { - "version": "9.5.0", - "dev": true, + "node_modules/winston-transport": { + "version": "4.6.0", "license": "MIT", - "optional": true, + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, "engines": { - "node": "^12.20.0 || >=14" + "node": ">= 12.0.0" } }, - "node_modules/zen-observable": { - "version": "0.8.15", - "license": "MIT" - }, - "node_modules/zen-observable-ts": { - "version": "1.2.5", + "node_modules/winston-transport/node_modules/readable-stream": { + "version": "3.6.2", "license": "MIT", "dependencies": { - "zen-observable": "0.8.15" - } - }, - "packages/asset-calculator": { - "name": "@rosen-ui/asset-calculator", - "version": "2.0.0", - "license": "GPL-3.0", - "dependencies": { - "@rosen-bridge/abstract-logger": "^1.0.0", - "@rosen-bridge/extended-typeorm": "^0.0.3", - "@rosen-bridge/json-bigint": "^0.1.0", - "@rosen-bridge/tokens": "^1.2.1", - "@rosen-clients/cardano-koios": "^2.0.3", - "@rosen-clients/ergo-explorer": "^1.1.2", - "@rosen-ui/types": "^0.3.0", - "axios": "^1.7.0", - "ethers": "^6.13.2", - "lodash-es": "^4.17.21", - "typeorm": "^0.3.20" - }, - "devDependencies": { - "@types/node": "^20.11.9", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", - "eslint": "8.42.0", - "eslint-config-prettier": "^9.0.0", - "extensionless": "^1.9.6", - "prettier": "^3.0.2", - "typescript": "^5.1.6" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=20.11.0" + "node": ">= 6" } }, - "packages/asset-calculator/node_modules/@eslint/js": { - "version": "8.56.0", - "dev": true, + "node_modules/winston/node_modules/is-stream": { + "version": "2.0.1", "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/asset-calculator/node_modules/@rosen-bridge/abstract-logger": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rosen-bridge/abstract-logger/-/abstract-logger-1.0.0.tgz", - "integrity": "sha512-hN/cb0HSlhqvaEjqzFPZGIYOa70gdPd+mYrS5C7uNrv1Vw6k2k4lY4US05rwBENjSQpwik1H4gdCBzUkbCcjGA==" - }, - "packages/asset-calculator/node_modules/@types/node": { - "version": "20.11.16", - "dev": true, + "node_modules/winston/node_modules/readable-stream": { + "version": "3.6.2", "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.20.0", - "dev": true, + "node_modules/wrap-ansi": { + "version": "8.1.0", "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/type-utils": "6.20.0", - "@typescript-eslint/utils": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/parser": { - "version": "6.20.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/scope-manager": { - "version": "6.20.0", - "dev": true, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/type-utils": { - "version": "6.20.0", - "dev": true, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/utils": "6.20.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/types": { - "version": "6.20.0", - "dev": true, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", "license": "MIT", "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.20.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "typescript": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { "optional": true } } }, - "packages/asset-calculator/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.4.0" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/utils": { - "version": "6.20.0", - "dev": true, + "node_modules/xtend": { + "version": "4.0.2", "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", - "semver": "^7.5.4" - }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "node": ">=0.4" } }, - "packages/asset-calculator/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "6.20.0", - "eslint-visitor-keys": "^3.4.1" - }, + "node_modules/y18n": { + "version": "5.0.8", + "license": "ISC", "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10" } }, - "packages/asset-calculator/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/yallist": { + "version": "3.1.1", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12" } }, - "packages/asset-calculator/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/yargs-parser": { + "version": "21.1.1", + "license": "ISC", + "engines": { + "node": ">=12" } }, - "packages/asset-calculator/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "packages/asset-calculator/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "packages/asset-calculator/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/asset-calculator/node_modules/eslint": { - "version": "8.56.0", - "dev": true, + "node_modules/yauzl": { + "version": "2.10.0", "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "devOptional": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=6" } }, - "packages/asset-calculator/node_modules/eslint-scope": { - "version": "7.2.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/asset-calculator/node_modules/globals": { - "version": "13.24.0", + "node_modules/z-schema": { + "version": "5.0.5", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "commander": "^9.4.1" } }, - "packages/asset-calculator/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/z-schema/node_modules/commander": { + "version": "9.5.0", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || >=14" } }, - "packages/asset-calculator/node_modules/prettier": { - "version": "3.2.4", - "dev": true, + "node_modules/zen-observable": { + "version": "0.8.15", + "license": "MIT" + }, + "node_modules/zen-observable-ts": { + "version": "1.2.5", "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "dependencies": { + "zen-observable": "0.8.15" } }, - "packages/asset-calculator/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "packages/asset-calculator": { + "name": "@rosen-ui/asset-calculator", + "version": "2.0.0", + "license": "GPL-3.0", "dependencies": { - "has-flag": "^4.0.0" + "@rosen-bridge/abstract-logger": "^1.0.0", + "@rosen-bridge/extended-typeorm": "^0.0.3", + "@rosen-bridge/json-bigint": "^0.1.0", + "@rosen-bridge/tokens": "^1.2.1", + "@rosen-clients/cardano-koios": "^2.0.3", + "@rosen-clients/ergo-explorer": "^1.1.2", + "@rosen-ui/types": "^0.3.0", + "axios": "^1.7.0", + "ethers": "^6.13.2", + "lodash-es": "^4.17.21", + "typeorm": "^0.3.20" + }, + "devDependencies": { + "@types/node": "^20.11.9", + "extensionless": "^1.9.6", + "typescript": "^5.1.6" }, "engines": { - "node": ">=8" + "node": ">=20.11.0" } }, - "packages/asset-calculator/node_modules/type-fest": { - "version": "0.20.2", + "packages/asset-calculator/node_modules/@rosen-bridge/abstract-logger": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rosen-bridge/abstract-logger/-/abstract-logger-1.0.0.tgz", + "integrity": "sha512-hN/cb0HSlhqvaEjqzFPZGIYOa70gdPd+mYrS5C7uNrv1Vw6k2k4lY4US05rwBENjSQpwik1H4gdCBzUkbCcjGA==" + }, + "packages/asset-calculator/node_modules/@types/node": { + "version": "20.11.16", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" } }, "packages/common-hooks": { @@ -25248,55 +26265,16 @@ }, "devDependencies": { "@types/lodash-es": "^4.17.9", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "packages/common-hooks/node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/constants": { "name": "@rosen-ui/constants", "version": "0.0.5", "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "packages/constants/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/icons": { "name": "@rosen-bridge/icons", "version": "0.6.0", @@ -25304,11 +26282,6 @@ "devDependencies": { "@types/react": "18.2.12", "@types/react-dom": "18.2.4", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "eslint": "^8.38.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "vite": "^4.3.9", "vite-plugin-dts": "^2.3.0", "vite-plugin-svgr": "^3.2.0" @@ -25318,20 +26291,6 @@ "react-dom": "18.2.0" } }, - "packages/icons/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/shared-contexts": { "name": "@rosen-bridge/shared-contexts", "version": "0.0.1", @@ -25339,13 +26298,6 @@ "devDependencies": { "@types/react": "18.2.12", "@types/react-dom": "18.2.4", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "eslint": "^8.38.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.3.4", - "prettier": "^3.0.2", "typescript": "^5.3.3" }, "peerDependencies": { @@ -25353,21 +26305,6 @@ "react-dom": "18.2.0" } }, - "packages/shared-contexts/node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/swr-helpers": { "name": "@rosen-ui/swr-helpers", "version": "0.2.0", @@ -25377,57 +26314,19 @@ }, "devDependencies": { "@types/json-bigint": "^1.0.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "packages/swr-helpers/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/swr-mock": { "name": "@rosen-ui/swr-mock", - "version": "0.0.1", + "version": "0.0.2", "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "peerDependencies": { "swr": "^2.2.0" } }, - "packages/swr-mock/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/types": { "name": "@rosen-ui/types", "version": "0.3.1", @@ -25436,31 +26335,12 @@ }, "devDependencies": { "@mui/material": "^5.13.7", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "packages/types/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/ui-kit": { "name": "@rosen-bridge/ui-kit", - "version": "1.5.2", + "version": "1.5.3", "license": "GPL-3.0", "dependencies": { "@mui/lab": "^5.0.0-alpha.134", @@ -25476,14 +26356,7 @@ "devDependencies": { "@rosen-ui/types": "^0.3.1", "@types/react": "18.2.12", - "@types/react-dom": "18.2.4", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "eslint": "^8.38.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.3.4", - "prettier": "^3.0.2" + "@types/react-dom": "18.2.4" }, "peerDependencies": { "@emotion/react": "^11.11.1", @@ -25493,20 +26366,6 @@ "swr": "^2.1.5" } }, - "packages/ui-kit/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "packages/utils": { "name": "@rosen-ui/utils", "version": "0.4.1", @@ -25518,28 +26377,9 @@ }, "devDependencies": { "@types/lodash-es": "^4.17.9", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "packages/utils/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/eternl-wallet": { "name": "@rosen-ui/eternl-wallet", "version": "1.0.1", @@ -25551,28 +26391,9 @@ "@rosen-ui/wallet-api": "^1.0.3" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "wallets/eternl-wallet/node_modules/prettier": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/flint-wallet": { "name": "@rosen-ui/flint-wallet", "version": "1.0.1", @@ -25584,28 +26405,9 @@ "@rosen-ui/wallet-api": "^1.0.3" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "wallets/flint-wallet/node_modules/prettier": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/lace-wallet": { "name": "@rosen-ui/lace-wallet", "version": "1.0.1", @@ -25617,28 +26419,9 @@ "@rosen-ui/wallet-api": "^1.0.3" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "wallets/lace-wallet/node_modules/prettier": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/metamask-wallet": { "name": "@rosen-ui/metamask-wallet", "version": "0.1.2", @@ -25651,29 +26434,9 @@ "@rosen-ui/wallet-api": "^1.0.3" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "wallets/metamask-wallet/node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/nami-wallet": { "name": "@rosen-ui/nami-wallet", "version": "1.0.1", @@ -25685,28 +26448,9 @@ "@rosen-ui/wallet-api": "^1.0.3" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "wallets/nami-wallet/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/nautilus-wallet": { "name": "@rosen-ui/nautilus-wallet", "version": "1.0.1", @@ -25718,31 +26462,12 @@ "devDependencies": { "@rosen-bridge/tokens": "^1.2.1", "@rosen-ui/utils": "^0.4.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "peerDependencies": { "react": "18.2.0" } }, - "wallets/nautilus-wallet/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/vespr-wallet": { "name": "@rosen-ui/vespr-wallet", "version": "0.0.9", @@ -25753,28 +26478,9 @@ }, "devDependencies": { "@rosen-bridge/tokens": "^1.2.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } }, - "wallets/vespr-wallet/node_modules/prettier": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/wallet-api": { "name": "@rosen-ui/wallet-api", "version": "1.0.3", @@ -25784,31 +26490,12 @@ }, "devDependencies": { "@rosen-bridge/tokens": "^1.2.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "peerDependencies": { "@emurgo/cardano-serialization-lib-nodejs": "^11.5.0" } }, - "wallets/wallet-api/node_modules/prettier": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "wallets/xdefi-wallet": { "name": "@rosen-ui/xdefi-wallet", "version": "1.0.2", @@ -25823,28 +26510,8 @@ "sats-connect": "^1.4.1" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } - }, - "wallets/xdefi-wallet/node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } } } } diff --git a/package.json b/package.json index db9568f9..c69d5555 100644 --- a/package.json +++ b/package.json @@ -23,10 +23,17 @@ }, "devDependencies": { "@rosen-bridge/changeset-formatter": "^0.1.0", + "@typescript-eslint/eslint-plugin": "^8.15.0", + "@typescript-eslint/parser": "^8.15.0", "@vitest/coverage-istanbul": "^1.3.1", + "eslint": "^8.57.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "globals": "^15.12.0", "husky": "^8.0.0", "lint-staged": "^13.2.2", - "prettier": "^2.8.8", + "prettier": "^3.3.3", "vitest": "^1.2.2" } } diff --git a/packages/asset-calculator/.eslintignore b/packages/asset-calculator/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/asset-calculator/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/asset-calculator/.eslintrc.json b/packages/asset-calculator/.eslintrc.json deleted file mode 100644 index 52ca5b5b..00000000 --- a/packages/asset-calculator/.eslintrc.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "env": { - "node": true - }, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ] -} diff --git a/packages/asset-calculator/README.md b/packages/asset-calculator/README.md deleted file mode 100644 index 3af0f9bf..00000000 --- a/packages/asset-calculator/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# @rosen-ui/asset-calculator - -## Table of contents - -- [Introduction](#introduction) - -## Introduction - -Rosen bridge locked asset calculator diff --git a/packages/asset-calculator/lib/asset-calculator.ts b/packages/asset-calculator/lib/asset-calculator.ts index cb221076..c28b53c8 100644 --- a/packages/asset-calculator/lib/asset-calculator.ts +++ b/packages/asset-calculator/lib/asset-calculator.ts @@ -1,32 +1,31 @@ +import { DummyLogger, AbstractLogger } from '@rosen-bridge/abstract-logger'; +import JsonBigInt from '@rosen-bridge/json-bigint'; import { TokenMap, RosenTokens, RosenChainToken, NATIVE_TOKEN, } from '@rosen-bridge/tokens'; -import { DummyLogger, AbstractLogger } from '@rosen-bridge/abstract-logger'; -import { DataSource } from 'typeorm'; +import { NETWORKS } from '@rosen-ui/constants'; +import { Network } from '@rosen-ui/types'; import { difference, differenceWith, isEqual } from 'lodash-es'; -import JsonBigInt from '@rosen-bridge/json-bigint'; +import { DataSource } from 'typeorm'; +import AbstractCalculator from './calculator/abstract-calculator'; +import { BitcoinCalculator } from './calculator/chains/bitcoin-calculator'; import { CardanoCalculator } from './calculator/chains/cardano-calculator'; import { ErgoCalculator } from './calculator/chains/ergo-calculator'; -import { BitcoinCalculator } from './calculator/chains/bitcoin-calculator'; - +import { EvmCalculator } from './calculator/chains/evm-calculator'; +import { BridgedAssetModel } from './database/bridgedAsset/BridgedAssetModel'; +import { LockedAssetEntity } from './database/lockedAsset/LockedAssetEntity'; +import { LockedAssetModel } from './database/lockedAsset/LockedAssetModel'; +import { TokenModel } from './database/token/TokenModel'; import { BitcoinCalculatorInterface, CardanoCalculatorInterface, ErgoCalculatorInterface, EthereumCalculatorInterface, } from './interfaces'; -import { NETWORKS } from '@rosen-ui/constants'; -import { Network } from '@rosen-ui/types'; -import { BridgedAssetModel } from './database/bridgedAsset/BridgedAssetModel'; -import { TokenModel } from './database/token/TokenModel'; -import AbstractCalculator from './calculator/abstract-calculator'; -import { LockedAssetModel } from './database/lockedAsset/LockedAssetModel'; -import { LockedAssetEntity } from './database/lockedAsset/LockedAssetEntity'; -import { EvmCalculator } from './calculator/chains/evm-calculator'; class AssetCalculator { protected readonly tokens: TokenMap; @@ -42,27 +41,27 @@ class AssetCalculator { bitcoinCalculator: BitcoinCalculatorInterface, ethereumCalculator: EthereumCalculatorInterface, dataSource: DataSource, - protected readonly logger: AbstractLogger = new DummyLogger() + protected readonly logger: AbstractLogger = new DummyLogger(), ) { this.tokens = new TokenMap(tokens); const ergoAssetCalculator = new ErgoCalculator( this.tokens, ergoCalculator.addresses, ergoCalculator.explorerUrl, - logger + logger, ); const cardanoAssetCalculator = new CardanoCalculator( this.tokens, cardanoCalculator.addresses, cardanoCalculator.authToken, logger, - cardanoCalculator.koiosUrl + cardanoCalculator.koiosUrl, ); const bitcoinAssetCalculator = new BitcoinCalculator( this.tokens, bitcoinCalculator.addresses, bitcoinCalculator.esploraUrl, - logger + logger, ); const ethereumAssetCalculator = new EvmCalculator( NETWORKS.ETHEREUM, @@ -70,7 +69,7 @@ class AssetCalculator { ethereumCalculator.addresses, ethereumCalculator.rpcUrl, ethereumCalculator.authToken, - logger + logger, ); this.calculatorMap.set(NETWORKS.ERGO, ergoAssetCalculator); this.calculatorMap.set(NETWORKS.CARDANO, cardanoAssetCalculator); @@ -88,7 +87,7 @@ class AssetCalculator { */ private getTokenIdOnResidentChain = ( token: RosenChainToken, - residencyChain: Network + residencyChain: Network, ): string => { const chainIdKey = this.tokens.getIdKey(residencyChain); @@ -104,7 +103,7 @@ class AssetCalculator { private getTokenDataForChain = ( residentToken: RosenChainToken, residencyChain: Network, - chain: Network + chain: Network, ) => { const chainIdKey = this.tokens.getIdKey(residencyChain); const tokenDataOnAllChains = this.tokens.search(residencyChain, { @@ -124,7 +123,7 @@ class AssetCalculator { private calculateEmissionForChain = async ( token: RosenChainToken, chain: Network, - residencyChain: Network + residencyChain: Network, ): Promise => { const calculator = this.calculatorMap.get(chain); @@ -143,8 +142,8 @@ class AssetCalculator { this.logger.debug( `Emitted amount of asset [${this.getTokenIdOnResidentChain( token, - residencyChain - )}] in chain [${chain}] is [${emission}]` + residencyChain, + )}] in chain [${chain}] is [${emission}]`, ); return emission; @@ -158,28 +157,27 @@ class AssetCalculator { */ private calculateLocked = async ( token: RosenChainToken, - residencyChain: Network + residencyChain: Network, ) => { const calculator = this.calculatorMap.get(residencyChain); if (!calculator) throw Error( - `Chain [${residencyChain}] is not supported in asset calculator` + `Chain [${residencyChain}] is not supported in asset calculator`, ); - const lockedAmountsPerAddress = await calculator.getLockedAmountsPerAddress( - token - ); + const lockedAmountsPerAddress = + await calculator.getLockedAmountsPerAddress(token); lockedAmountsPerAddress.forEach((lockedAmountPerAddress) => this.logger.debug( `Locked amount of asset [${this.getTokenIdOnResidentChain( token, - residencyChain + residencyChain, )}] on address [${lockedAmountPerAddress.address}] is [${ lockedAmountPerAddress.amount - }]` - ) + }]`, + ), ); return lockedAmountsPerAddress; @@ -194,21 +192,21 @@ class AssetCalculator { await this.bridgedAssetModel.getAllStoredAssets(); this.logger.debug( `All current stored bridge assets are ${JsonBigInt.stringify( - allStoredBridgedAssets - )}` + allStoredBridgedAssets, + )}`, ); const allStoredLockedAssets = await this.lockedAssetModel.getAllStoredAssets(); this.logger.debug( `All current stored locked assets are ${JsonBigInt.stringify( - allStoredBridgedAssets - )}` + allStoredBridgedAssets, + )}`, ); const allStoredTokens = await this.tokenModel.getAllStoredTokens(); this.logger.debug( `All current stored tokens are ${JsonBigInt.stringify( - allStoredBridgedAssets - )}` + allStoredBridgedAssets, + )}`, ); const allCurrentBridgedAssets = []; @@ -224,12 +222,12 @@ class AssetCalculator { this.tokens.getAllNativeTokens(residencyChain); this.logger.debug( `All native resident tokens of ${residencyChain} chain are ${JsonBigInt.stringify( - nativeResidentTokens - )}` + nativeResidentTokens, + )}`, ); const chains = this.tokens.getSupportedChains( - residencyChain + residencyChain, ) as Network[]; for (const nativeResidentToken of nativeResidentTokens) { @@ -245,7 +243,7 @@ class AssetCalculator { const locked = await this.calculateLocked( nativeResidentToken, - residencyChain + residencyChain, ); await Promise.all( locked.map(async (lockedItem) => { @@ -261,14 +259,14 @@ class AssetCalculator { address: newLockedAsset.address, }); this.logger.info( - `Updated asset [${nativeResidentToken[chainIdKey]}] total locked amount to [${lockedItem.amount}]` + `Updated asset [${nativeResidentToken[chainIdKey]}] total locked amount to [${lockedItem.amount}]`, ); this.logger.debug( `Updated asset details for [${JsonBigInt.stringify( - newLockedAsset - )}]` + newLockedAsset, + )}]`, ); - }) + }), ); try { @@ -276,14 +274,14 @@ class AssetCalculator { const emission = await this.calculateEmissionForChain( nativeResidentToken, chain, - residencyChain + residencyChain, ); this.logger.debug( - `Asset [${nativeResidentToken[chainIdKey]}] total emitted amount is [${emission}]` + `Asset [${nativeResidentToken[chainIdKey]}] total emitted amount is [${emission}]`, ); if (!emission) { this.logger.debug( - `Total emitted amount of asset ${nativeResidentToken.name} on ${chain} is zero. skipping bridged asset update.` + `Total emitted amount of asset ${nativeResidentToken.name} on ${chain} is zero. skipping bridged asset update.`, ); continue; } @@ -293,7 +291,7 @@ class AssetCalculator { })[0]; const bridgedTokenId = this.tokens.getID( tokenDataOnAllChains, - chain + chain, ); const newBridgedAsset = { @@ -309,17 +307,17 @@ class AssetCalculator { chain: newBridgedAsset.chain, }); this.logger.info( - `Updated asset [${nativeResidentToken[chainIdKey]}] total locked amount to [${emission}]` + `Updated asset [${nativeResidentToken[chainIdKey]}] total locked amount to [${emission}]`, ); this.logger.debug( `Updated asset details for [${JsonBigInt.stringify( - newBridgedAsset - )}]` + newBridgedAsset, + )}]`, ); } } catch (e) { this.logger.warn( - `Skipping asset [${nativeResidentToken[chainIdKey]}] locked amount update, error: [${e}]` + `Skipping asset [${nativeResidentToken[chainIdKey]}] locked amount update, error: [${e}]`, ); if (e instanceof Error && e.stack) this.logger.debug(`Error stack trace: [${e.stack}]`); @@ -329,12 +327,12 @@ class AssetCalculator { const oldBridgedAssets = differenceWith( allStoredBridgedAssets, allCurrentBridgedAssets, - isEqual + isEqual, ); const oldLockedAssets = differenceWith( allStoredLockedAssets, allCurrentLockedAssets, - isEqual + isEqual, ); const oldTokens = difference(allStoredTokens, allCurrentTokens); await this.bridgedAssetModel.removeAssets(oldBridgedAssets); diff --git a/packages/asset-calculator/lib/calculator/abstract-calculator.ts b/packages/asset-calculator/lib/calculator/abstract-calculator.ts index 82aff192..0ff0927b 100644 --- a/packages/asset-calculator/lib/calculator/abstract-calculator.ts +++ b/packages/asset-calculator/lib/calculator/abstract-calculator.ts @@ -1,5 +1,5 @@ -import { RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import { AbstractLogger, DummyLogger } from '@rosen-bridge/abstract-logger'; +import { RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import { Network } from '@rosen-ui/types'; export default abstract class AbstractCalculator { @@ -8,7 +8,7 @@ export default abstract class AbstractCalculator { constructor( protected readonly addresses: string[], protected readonly logger: AbstractLogger = new DummyLogger(), - protected tokenMap: TokenMap + protected tokenMap: TokenMap, ) {} get idKey() { @@ -24,7 +24,7 @@ export default abstract class AbstractCalculator { return this.tokenMap.wrapAmount( token[this.idKey], await this.totalRawSupply(token), - this.chain + this.chain, ).amount; }; @@ -37,7 +37,7 @@ export default abstract class AbstractCalculator { return this.tokenMap.wrapAmount( token[this.idKey], await this.totalRawBalance(token), - this.chain + this.chain, ).amount; }; @@ -45,11 +45,11 @@ export default abstract class AbstractCalculator { * returns locked amounts of a specific token for different addresses */ abstract getRawLockedAmountsPerAddress: ( - token: RosenChainToken + token: RosenChainToken, ) => Promise<{ address: string; amount: bigint }[]>; getLockedAmountsPerAddress = async ( - token: RosenChainToken + token: RosenChainToken, ): Promise<{ address: string; amount: bigint }[]> => { const amounts = await this.getRawLockedAmountsPerAddress(token); return amounts.map((amount) => ({ @@ -57,7 +57,7 @@ export default abstract class AbstractCalculator { amount: this.tokenMap.wrapAmount( token[this.idKey], amount.amount, - this.chain + this.chain, ).amount, })); }; diff --git a/packages/asset-calculator/lib/calculator/chains/bitcoin-calculator.ts b/packages/asset-calculator/lib/calculator/chains/bitcoin-calculator.ts index dff97940..567d319e 100644 --- a/packages/asset-calculator/lib/calculator/chains/bitcoin-calculator.ts +++ b/packages/asset-calculator/lib/calculator/chains/bitcoin-calculator.ts @@ -1,10 +1,11 @@ -import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; -import AbstractCalculator from '../abstract-calculator'; import { AbstractLogger } from '@rosen-bridge/abstract-logger'; -import axios, { AxiosInstance } from 'axios'; -import { zipWith } from 'lodash-es'; +import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import { NETWORKS } from '@rosen-ui/constants'; import { Network } from '@rosen-ui/types'; +import axios, { AxiosInstance } from 'axios'; +import { zipWith } from 'lodash-es'; + +import AbstractCalculator from '../abstract-calculator'; /** * This type only contains the part of the type that is required here @@ -25,7 +26,7 @@ export class BitcoinCalculator extends AbstractCalculator { tokenMap: TokenMap, addresses: string[], url: string = 'https://blockstream.info', - logger?: AbstractLogger + logger?: AbstractLogger, ) { super(addresses, logger, tokenMap); this.client = axios.create({ @@ -56,11 +57,11 @@ export class BitcoinCalculator extends AbstractCalculator { const balances = await Promise.all( this.addresses.map(async (address) => { const response = await this.client.get( - `/api/address/${address}` + `/api/address/${address}`, ); const chainStats = response.data.chain_stats; return BigInt(chainStats.funded_txo_sum - chainStats.spent_txo_sum); - }) + }), ); return zipWith(this.addresses, balances, (address, amount) => ({ address, diff --git a/packages/asset-calculator/lib/calculator/chains/cardano-calculator.ts b/packages/asset-calculator/lib/calculator/chains/cardano-calculator.ts index a249acd6..68446652 100644 --- a/packages/asset-calculator/lib/calculator/chains/cardano-calculator.ts +++ b/packages/asset-calculator/lib/calculator/chains/cardano-calculator.ts @@ -1,11 +1,11 @@ -import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import { AbstractLogger } from '@rosen-bridge/abstract-logger'; +import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import cardanoKoiosClientFactory from '@rosen-clients/cardano-koios'; - -import AbstractCalculator from '../abstract-calculator'; import { NETWORKS } from '@rosen-ui/constants'; import { Network } from '@rosen-ui/types'; +import AbstractCalculator from '../abstract-calculator'; + export class CardanoCalculator extends AbstractCalculator { readonly chain: Network = NETWORKS.CARDANO; @@ -16,7 +16,7 @@ export class CardanoCalculator extends AbstractCalculator { addresses: string[], authToken?: string, logger?: AbstractLogger, - koiosUrl: string = 'https://api.koios.rest/api/v1' + koiosUrl: string = 'https://api.koios.rest/api/v1', ) { super(addresses, logger, tokenMap); this.koiosApi = cardanoKoiosClientFactory(koiosUrl, authToken); @@ -32,12 +32,12 @@ export class CardanoCalculator extends AbstractCalculator { }); if (assetSummary.length && assetSummary[0].total_supply) { this.logger.debug( - `Total supply of token [${token.policyId}.${token.assetName}] is [${assetSummary[0].total_supply}]` + `Total supply of token [${token.policyId}.${token.assetName}] is [${assetSummary[0].total_supply}]`, ); return BigInt(assetSummary[0].total_supply); } throw Error( - `Total supply of token [${token.policyId}.${token.assetName}] is not calculable` + `Total supply of token [${token.policyId}.${token.assetName}] is not calculable`, ); }; @@ -54,11 +54,11 @@ export class CardanoCalculator extends AbstractCalculator { (asset) => asset.policy_id == token.policyId && asset.asset_name == token.assetName && - asset.quantity + asset.quantity, ) .reduce((sum, asset) => BigInt(asset.quantity!) + sum, 0n); this.logger.debug( - `Total balance of token [${token.policyId}.${token.assetName}] is [${tokenBalance}]` + `Total balance of token [${token.policyId}.${token.assetName}] is [${tokenBalance}]`, ); return tokenBalance; }; @@ -90,7 +90,7 @@ export class CardanoCalculator extends AbstractCalculator { asset.policy_id == token.policyId && asset.asset_name == token.assetName && asset.quantity && - asset.address + asset.address, ) .map((asset) => ({ address: asset.address!, diff --git a/packages/asset-calculator/lib/calculator/chains/ergo-calculator.ts b/packages/asset-calculator/lib/calculator/chains/ergo-calculator.ts index 931d11b2..cb9ccb52 100644 --- a/packages/asset-calculator/lib/calculator/chains/ergo-calculator.ts +++ b/packages/asset-calculator/lib/calculator/chains/ergo-calculator.ts @@ -1,12 +1,12 @@ -import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import { AbstractLogger } from '@rosen-bridge/abstract-logger'; +import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import ergoExplorerClientFactory from '@rosen-clients/ergo-explorer'; - -import AbstractCalculator from '../abstract-calculator'; import { Balance } from '@rosen-clients/ergo-explorer/dist/src/v1/types'; -import { zipWith } from 'lodash-es'; import { NETWORKS } from '@rosen-ui/constants'; import { Network } from '@rosen-ui/types'; +import { zipWith } from 'lodash-es'; + +import AbstractCalculator from '../abstract-calculator'; export class ErgoCalculator extends AbstractCalculator { readonly chain: Network = NETWORKS.ERGO; @@ -17,7 +17,7 @@ export class ErgoCalculator extends AbstractCalculator { tokenMap: TokenMap, addresses: string[], explorerUrl: string, - logger?: AbstractLogger + logger?: AbstractLogger, ) { super(addresses, logger, tokenMap); this.explorerApi = ergoExplorerClientFactory(explorerUrl); @@ -29,11 +29,11 @@ export class ErgoCalculator extends AbstractCalculator { */ totalRawSupply = async (token: RosenChainToken): Promise => { const tokenDetail = await this.explorerApi.v1.getApiV1TokensP1( - token.tokenId + token.tokenId, ); if (tokenDetail) { this.logger.debug( - `Total supply of token [${token.tokenId}] is [${tokenDetail.emissionAmount}]` + `Total supply of token [${token.tokenId}] is [${tokenDetail.emissionAmount}]`, ); return tokenDetail.emissionAmount; } @@ -53,12 +53,12 @@ export class ErgoCalculator extends AbstractCalculator { balance.tokens!.filter((asset) => asset.tokenId == token.tokenId)[0] ?.amount ?? 0n; this.logger.debug( - `Balance of token [${token.name}] in address [${address}] is [${addressTokenBalance}]` + `Balance of token [${token.name}] in address [${address}] is [${addressTokenBalance}]`, ); tokenBalance += addressTokenBalance; } this.logger.debug( - `Total balance of token [${token.name}] is [${tokenBalance}]` + `Total balance of token [${token.name}] is [${tokenBalance}]`, ); return tokenBalance; }; @@ -70,13 +70,13 @@ export class ErgoCalculator extends AbstractCalculator { */ private getTokenBalanceFromAddressBalance = ( token: RosenChainToken, - addressBalance: Balance + addressBalance: Balance, ) => { if (token.metaData.type === NATIVE_TOKEN) { return addressBalance.nanoErgs; } const tokenBalance = addressBalance.tokens?.find( - (addressBalanceToken) => addressBalanceToken.tokenId === token.tokenId + (addressBalanceToken) => addressBalanceToken.tokenId === token.tokenId, ); return tokenBalance?.amount ?? 0n; @@ -89,11 +89,11 @@ export class ErgoCalculator extends AbstractCalculator { getRawLockedAmountsPerAddress = async (token: RosenChainToken) => { const addressBalances = await Promise.all( this.addresses.map((address) => - this.explorerApi.v1.getApiV1AddressesP1BalanceConfirmed(address) - ) + this.explorerApi.v1.getApiV1AddressesP1BalanceConfirmed(address), + ), ); const tokenBalances = addressBalances.map((balance) => - this.getTokenBalanceFromAddressBalance(token, balance) + this.getTokenBalanceFromAddressBalance(token, balance), ); return zipWith(this.addresses, tokenBalances, (address, amount) => ({ diff --git a/packages/asset-calculator/lib/calculator/chains/evm-calculator.ts b/packages/asset-calculator/lib/calculator/chains/evm-calculator.ts index 6a44149b..0f5531c1 100644 --- a/packages/asset-calculator/lib/calculator/chains/evm-calculator.ts +++ b/packages/asset-calculator/lib/calculator/chains/evm-calculator.ts @@ -1,11 +1,11 @@ -import AbstractCalculator from '../abstract-calculator'; -import { PartialERC20ABI } from '../../constants'; - -import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import { AbstractLogger } from '@rosen-bridge/abstract-logger'; -import { zipWith } from 'lodash-es'; -import { ethers, JsonRpcProvider } from 'ethers'; +import { NATIVE_TOKEN, RosenChainToken, TokenMap } from '@rosen-bridge/tokens'; import { Network } from '@rosen-ui/types'; +import { ethers, JsonRpcProvider } from 'ethers'; +import { zipWith } from 'lodash-es'; + +import { PartialERC20ABI } from '../../constants'; +import AbstractCalculator from '../abstract-calculator'; export class EvmCalculator extends AbstractCalculator { readonly chain: Network; @@ -17,7 +17,7 @@ export class EvmCalculator extends AbstractCalculator { addresses: string[], url: string, authToken?: string, - logger?: AbstractLogger + logger?: AbstractLogger, ) { super(addresses, logger, tokenMap); this.chain = chain; @@ -34,17 +34,17 @@ export class EvmCalculator extends AbstractCalculator { const contract = new ethers.Contract( token[this.idKey], PartialERC20ABI, - this.provider + this.provider, ); const totalSupply = await contract.totalSupply(); if (totalSupply) { this.logger.debug( - `Total supply of token [${token[this.idKey]}] is [${totalSupply}]` + `Total supply of token [${token[this.idKey]}] is [${totalSupply}]`, ); return totalSupply; } throw Error( - `Total supply of token [${token[this.idKey]}] is not calculable` + `Total supply of token [${token[this.idKey]}] is not calculable`, ); }; @@ -57,19 +57,19 @@ export class EvmCalculator extends AbstractCalculator { const contract = new ethers.Contract( token[this.idKey], PartialERC20ABI, - this.provider + this.provider, ); for (const address of this.addresses) { const balance = await contract.balanceOf(address); this.logger.debug( `Balance of token [${ token[this.idKey] - }] in address [${address}] is [${balance}]` + }] in address [${address}] is [${balance}]`, ); tokenBalance += balance; } this.logger.debug( - `Total balance of token [${token[this.idKey]}] is [${tokenBalance}]` + `Total balance of token [${token[this.idKey]}] is [${tokenBalance}]`, ); return tokenBalance; }; @@ -88,12 +88,12 @@ export class EvmCalculator extends AbstractCalculator { const contract = new ethers.Contract( token[this.idKey], PartialERC20ABI, - this.provider + this.provider, ); balance = await contract.balanceOf(address); } this.logger.debug( - `balance of token [${token.name}] for address [${address}] is [${balance}]` + `balance of token [${token.name}] for address [${address}] is [${balance}]`, ); tokenBalances.push(balance); } diff --git a/packages/asset-calculator/lib/database/bridgedAsset/BridgedAssetModel.ts b/packages/asset-calculator/lib/database/bridgedAsset/BridgedAssetModel.ts index 863c5e8d..b897e354 100644 --- a/packages/asset-calculator/lib/database/bridgedAsset/BridgedAssetModel.ts +++ b/packages/asset-calculator/lib/database/bridgedAsset/BridgedAssetModel.ts @@ -21,7 +21,7 @@ class BridgedAssetModel { upsertAsset = async (asset: BridgedAssetEntity) => { await this.bridgedAssetRepository.save(asset); this.logger.debug( - `Asset [${JsonBigInt.stringify(asset)}] upserted in database` + `Asset [${JsonBigInt.stringify(asset)}] upserted in database`, ); }; @@ -46,12 +46,12 @@ class BridgedAssetModel { this.bridgedAssetRepository.delete({ tokenId: asset.tokenId, chain: asset.chain, - }) - ) + }), + ), ); assets.length && this.logger.debug( - `Deleted assets ${JsonBigInt.stringify(assets)} from database` + `Deleted assets ${JsonBigInt.stringify(assets)} from database`, ); }; } diff --git a/packages/asset-calculator/lib/database/lockedAsset/LockedAssetModel.ts b/packages/asset-calculator/lib/database/lockedAsset/LockedAssetModel.ts index d1a07d78..c9f8f13f 100644 --- a/packages/asset-calculator/lib/database/lockedAsset/LockedAssetModel.ts +++ b/packages/asset-calculator/lib/database/lockedAsset/LockedAssetModel.ts @@ -20,7 +20,7 @@ class LockedAssetModel { upsertAsset = async (asset: LockedAssetEntity) => { await this.lockedAssetRepository.save(asset); this.logger.debug( - `Asset [${JsonBigInt.stringify(asset)}] upserted in database` + `Asset [${JsonBigInt.stringify(asset)}] upserted in database`, ); }; @@ -45,12 +45,12 @@ class LockedAssetModel { this.lockedAssetRepository.delete({ tokenId: asset.tokenId, address: asset.address, - }) - ) + }), + ), ); assets.length && this.logger.debug( - `Deleted assets ${JsonBigInt.stringify(assets)} from database` + `Deleted assets ${JsonBigInt.stringify(assets)} from database`, ); }; } diff --git a/packages/asset-calculator/lib/database/migrations/postgres/1716290617188-migration.ts b/packages/asset-calculator/lib/database/migrations/postgres/1716290617188-migration.ts index 4e06a78c..fdaadd99 100644 --- a/packages/asset-calculator/lib/database/migrations/postgres/1716290617188-migration.ts +++ b/packages/asset-calculator/lib/database/migrations/postgres/1716290617188-migration.ts @@ -1,13 +1,13 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; +import { MigrationInterface, QueryRunner } from 'typeorm'; export class Migration1716290617188 implements MigrationInterface { - name = 'Migration1716290617188' + name = 'Migration1716290617188'; - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(` + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` ALTER TABLE "bridged_asset_entity" DROP CONSTRAINT "FK_941e620c721dbd2ec1a03bdef36" `); - await queryRunner.query(` + await queryRunner.query(` CREATE TABLE "locked_asset_entity" ( "amount" bigint NOT NULL, "address" character varying NOT NULL, @@ -15,30 +15,29 @@ export class Migration1716290617188 implements MigrationInterface { CONSTRAINT "PK_362cd7e529f24ebafcb64827189" PRIMARY KEY ("address", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "bridged_asset_entity" ADD CONSTRAINT "FK_509519eb0f5f6be69bccdfd0f7f" FOREIGN KEY ("tokenId") REFERENCES "token_entity"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "locked_asset_entity" ADD CONSTRAINT "FK_33f26e8995effacef21b3a5f4e9" FOREIGN KEY ("tokenId") REFERENCES "token_entity"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); - } + } - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(` + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` ALTER TABLE "locked_asset_entity" DROP CONSTRAINT "FK_33f26e8995effacef21b3a5f4e9" `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "bridged_asset_entity" DROP CONSTRAINT "FK_509519eb0f5f6be69bccdfd0f7f" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "locked_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "bridged_asset_entity" ADD CONSTRAINT "FK_941e620c721dbd2ec1a03bdef36" FOREIGN KEY ("tokenId") REFERENCES "token_entity"("id") ON DELETE NO ACTION ON UPDATE NO ACTION `); - } - + } } diff --git a/packages/asset-calculator/lib/database/migrations/sqlite/1716290876069-migration.ts b/packages/asset-calculator/lib/database/migrations/sqlite/1716290876069-migration.ts index d631bb1c..e4c1510b 100644 --- a/packages/asset-calculator/lib/database/migrations/sqlite/1716290876069-migration.ts +++ b/packages/asset-calculator/lib/database/migrations/sqlite/1716290876069-migration.ts @@ -1,10 +1,10 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; +import { MigrationInterface, QueryRunner } from 'typeorm'; export class Migration1716290876069 implements MigrationInterface { - name = 'Migration1716290876069' + name = 'Migration1716290876069'; - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(` + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` CREATE TABLE "temporary_bridged_asset_entity" ( "amount" bigint NOT NULL, "chain" varchar NOT NULL, @@ -12,21 +12,21 @@ export class Migration1716290876069 implements MigrationInterface { PRIMARY KEY ("chain", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` INSERT INTO "temporary_bridged_asset_entity"("amount", "chain", "tokenId") SELECT "amount", "chain", "tokenId" FROM "bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "temporary_bridged_asset_entity" RENAME TO "bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` CREATE TABLE "locked_asset_entity" ( "amount" bigint NOT NULL, "address" varchar NOT NULL, @@ -34,7 +34,7 @@ export class Migration1716290876069 implements MigrationInterface { PRIMARY KEY ("address", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` CREATE TABLE "temporary_bridged_asset_entity" ( "amount" bigint NOT NULL, "chain" varchar NOT NULL, @@ -43,21 +43,21 @@ export class Migration1716290876069 implements MigrationInterface { PRIMARY KEY ("chain", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` INSERT INTO "temporary_bridged_asset_entity"("amount", "chain", "tokenId") SELECT "amount", "chain", "tokenId" FROM "bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "temporary_bridged_asset_entity" RENAME TO "bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` CREATE TABLE "temporary_locked_asset_entity" ( "amount" bigint NOT NULL, "address" varchar NOT NULL, @@ -66,28 +66,28 @@ export class Migration1716290876069 implements MigrationInterface { PRIMARY KEY ("address", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` INSERT INTO "temporary_locked_asset_entity"("amount", "address", "tokenId") SELECT "amount", "address", "tokenId" FROM "locked_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "locked_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "temporary_locked_asset_entity" RENAME TO "locked_asset_entity" `); - } + } - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(` + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` ALTER TABLE "locked_asset_entity" RENAME TO "temporary_locked_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` CREATE TABLE "locked_asset_entity" ( "amount" bigint NOT NULL, "address" varchar NOT NULL, @@ -95,21 +95,21 @@ export class Migration1716290876069 implements MigrationInterface { PRIMARY KEY ("address", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` INSERT INTO "locked_asset_entity"("amount", "address", "tokenId") SELECT "amount", "address", "tokenId" FROM "temporary_locked_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "temporary_locked_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "bridged_asset_entity" RENAME TO "temporary_bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` CREATE TABLE "bridged_asset_entity" ( "amount" bigint NOT NULL, "chain" varchar NOT NULL, @@ -117,24 +117,24 @@ export class Migration1716290876069 implements MigrationInterface { PRIMARY KEY ("chain", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` INSERT INTO "bridged_asset_entity"("amount", "chain", "tokenId") SELECT "amount", "chain", "tokenId" FROM "temporary_bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "temporary_bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "locked_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` ALTER TABLE "bridged_asset_entity" RENAME TO "temporary_bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` CREATE TABLE "bridged_asset_entity" ( "amount" bigint NOT NULL, "chain" varchar NOT NULL, @@ -143,16 +143,15 @@ export class Migration1716290876069 implements MigrationInterface { PRIMARY KEY ("chain", "tokenId") ) `); - await queryRunner.query(` + await queryRunner.query(` INSERT INTO "bridged_asset_entity"("amount", "chain", "tokenId") SELECT "amount", "chain", "tokenId" FROM "temporary_bridged_asset_entity" `); - await queryRunner.query(` + await queryRunner.query(` DROP TABLE "temporary_bridged_asset_entity" `); - } - + } } diff --git a/packages/asset-calculator/lib/database/token/TokenModel.ts b/packages/asset-calculator/lib/database/token/TokenModel.ts index 8abbf9f0..08f06201 100644 --- a/packages/asset-calculator/lib/database/token/TokenModel.ts +++ b/packages/asset-calculator/lib/database/token/TokenModel.ts @@ -23,13 +23,13 @@ class TokenModel { }); if (savedToken) { this.logger.debug( - `Token [${JsonBigInt.stringify(token)}] already exists in the database` + `Token [${JsonBigInt.stringify(token)}] already exists in the database`, ); return; } await this.tokenRepository.insert(token); this.logger.debug( - `Token [${JsonBigInt.stringify(token)}] inserted into database` + `Token [${JsonBigInt.stringify(token)}] inserted into database`, ); return token; }; @@ -39,7 +39,7 @@ class TokenModel { */ getAllStoredTokens = async (): Promise => { return (await this.tokenRepository.find({ select: ['id'] })).map( - (token) => token.id + (token) => token.id, ); }; diff --git a/packages/asset-calculator/package.json b/packages/asset-calculator/package.json index 55cec4af..7c820175 100644 --- a/packages/asset-calculator/package.json +++ b/packages/asset-calculator/package.json @@ -12,19 +12,14 @@ "build": "tsc --build tsconfig.build.json", "coverage": "npm run test -- --coverage", "lint": "eslint --fix . && npm run prettify", - "prettify": "prettier --write . --ignore-path ./.gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "release": "npm run build && npm publish --access public", "test": "NODE_OPTIONS=--loader=extensionless vitest", "type-check": "tsc --noEmit" }, "devDependencies": { "@types/node": "^20.11.9", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", - "eslint": "8.42.0", - "eslint-config-prettier": "^9.0.0", "extensionless": "^1.9.6", - "prettier": "^3.0.2", "typescript": "^5.1.6" }, "engines": { diff --git a/packages/asset-calculator/tests/asset-calculator.spec.ts b/packages/asset-calculator/tests/asset-calculator.spec.ts index 2daee9a6..8a776ad7 100644 --- a/packages/asset-calculator/tests/asset-calculator.spec.ts +++ b/packages/asset-calculator/tests/asset-calculator.spec.ts @@ -1,10 +1,11 @@ import { NETWORKS } from '@rosen-ui/constants'; import { beforeEach, describe, expect, it, vitest } from 'vitest'; + import { AssetCalculator } from '../lib'; -import { tokenMap } from './test-data'; -import { initDatabase } from './database/bridgedAsset/BridgedAssetModel.mock'; import AbstractCalculator from '../lib/calculator/abstract-calculator'; +import { initDatabase } from './database/bridgedAsset/BridgedAssetModel.mock'; import { bridgedAssets, lockedAssets, tokens } from './database/test-data'; +import { tokenMap } from './test-data'; describe('AssetCalculator', () => { describe('calculateEmissionForChain', () => { @@ -23,7 +24,7 @@ describe('AssetCalculator', () => { { addresses: ['hotAddr', 'coldAddr'], koiosUrl: 'koiosUrl' }, { addresses: ['hotAddr', 'coldAddr'], esploraUrl: 'esploraUrl' }, { addresses: ['hotAddr', 'coldAddr'], rpcUrl: 'rpcUrl' }, - dataSource + dataSource, ); }); @@ -48,7 +49,7 @@ describe('AssetCalculator', () => { const totalLocked = await assetCalculator['calculateEmissionForChain']( tokenMap.tokens[0].ergo, NETWORKS.CARDANO, - NETWORKS.ERGO + NETWORKS.ERGO, ); expect(totalLocked).to.equal(100n); }); @@ -74,7 +75,7 @@ describe('AssetCalculator', () => { const totalLocked = await assetCalculator['calculateEmissionForChain']( tokenMap.tokens[2].cardano, NETWORKS.ERGO, - NETWORKS.CARDANO + NETWORKS.CARDANO, ); expect(totalLocked).to.equal(1000n); }); @@ -96,7 +97,7 @@ describe('AssetCalculator', () => { { addresses: ['hotAddr', 'coldAddr'], koiosUrl: 'koiosUrl' }, { addresses: ['hotAddr', 'coldAddr'], esploraUrl: 'esploraUrl' }, { addresses: ['hotAddr', 'coldAddr'], rpcUrl: 'rpcUrl' }, - dataSource + dataSource, ); }); @@ -123,7 +124,7 @@ describe('AssetCalculator', () => { assetCalculator['calculatorMap'] = map; const totalLocked = await assetCalculator['calculateLocked']( tokenMap.tokens[0].ergo, - NETWORKS.ERGO + NETWORKS.ERGO, ); expect(totalLocked[0].address).to.equal('hotAddr'); expect(totalLocked[0].amount).to.equal(1000n); @@ -163,7 +164,7 @@ describe('AssetCalculator', () => { { addresses: ['Addr'], koiosUrl: 'koiosUrl' }, { addresses: ['Addr'], esploraUrl: 'esploraUrl' }, { addresses: ['Addr'], rpcUrl: 'rpcUrl' }, - dataSource + dataSource, ); assetCalculator['calculateEmissionForChain'] = () => Promise.resolve(1000n); @@ -171,35 +172,32 @@ describe('AssetCalculator', () => { Promise.resolve([{ address: 'Addr', amount: 1000n }]); const upsertBridgedAssetSpy = vitest.spyOn( assetCalculator['bridgedAssetModel'], - 'upsertAsset' + 'upsertAsset', ); const removeBridgedAssetSpy = vitest.spyOn( assetCalculator['bridgedAssetModel'], - 'removeAssets' + 'removeAssets', ); const upsertLockedAssetSpy = vitest.spyOn( assetCalculator['lockedAssetModel'], - 'upsertAsset' + 'upsertAsset', ); const removeLockedAssetSpy = vitest.spyOn( assetCalculator['lockedAssetModel'], - 'removeAssets' + 'removeAssets', ); const insertTokenSpy = vitest.spyOn( assetCalculator['tokenModel'], - 'insertToken' + 'insertToken', ); await assetCalculator.update(); - const allStoredBridgedAssets = await assetCalculator[ - 'bridgedAssetModel' - ].getAllStoredAssets(); - const allStoredLockedAssets = await assetCalculator[ - 'lockedAssetModel' - ].getAllStoredAssets(); - const allStoredTokens = await assetCalculator[ - 'tokenModel' - ].getAllStoredTokens(); + const allStoredBridgedAssets = + await assetCalculator['bridgedAssetModel'].getAllStoredAssets(); + const allStoredLockedAssets = + await assetCalculator['lockedAssetModel'].getAllStoredAssets(); + const allStoredTokens = + await assetCalculator['tokenModel'].getAllStoredTokens(); expect(upsertBridgedAssetSpy).to.have.toBeCalledTimes(3); expect(upsertLockedAssetSpy).to.have.toBeCalledTimes(3); expect(removeBridgedAssetSpy).to.have.toBeCalledWith([]); @@ -207,30 +205,32 @@ describe('AssetCalculator', () => { expect(insertTokenSpy).toBeCalledTimes(tokenMap.tokens.length); expect( allStoredBridgedAssets.sort((a, b) => - a.tokenId.localeCompare(b.tokenId) - ) + a.tokenId.localeCompare(b.tokenId), + ), ).toEqual( [ { tokenId: tokenMap.tokens[0].ergo.tokenId, chain: NETWORKS.CARDANO }, { tokenId: tokenMap.tokens[1].ergo.tokenId, chain: NETWORKS.CARDANO }, { tokenId: tokenMap.tokens[2].cardano.tokenId, chain: NETWORKS.ERGO }, - ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)), ); expect( - allStoredLockedAssets.sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + allStoredLockedAssets.sort((a, b) => + a.tokenId.localeCompare(b.tokenId), + ), ).toEqual( [ { tokenId: tokenMap.tokens[0].ergo.tokenId, address: 'Addr' }, { tokenId: tokenMap.tokens[1].ergo.tokenId, address: 'Addr' }, { tokenId: tokenMap.tokens[2].cardano.tokenId, address: 'Addr' }, - ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)), ); expect(allStoredTokens.sort()).toEqual( [ tokenMap.tokens[0].ergo.tokenId, tokenMap.tokens[1].ergo.tokenId, tokenMap.tokens[2].cardano.tokenId, - ].sort() + ].sort(), ); }); @@ -265,14 +265,14 @@ describe('AssetCalculator', () => { { addresses: ['Addr'], koiosUrl: 'koiosUrl' }, { addresses: ['Addr'], esploraUrl: 'esploraUrl' }, { addresses: ['Addr'], rpcUrl: 'rpcUrl' }, - dataSource + dataSource, ); await assetCalculator['tokenModel']['tokenRepository'].insert(tokens); await assetCalculator['bridgedAssetModel'][ 'bridgedAssetRepository' ].insert(bridgedAssets); await assetCalculator['lockedAssetModel']['lockedAssetRepository'].insert( - lockedAssets + lockedAssets, ); assetCalculator['calculateEmissionForChain'] = () => Promise.resolve(1000n); @@ -280,35 +280,33 @@ describe('AssetCalculator', () => { Promise.resolve([{ address: 'Addr', amount: 1000n }]); const updateBridgedAssetSpy = vitest.spyOn( assetCalculator['bridgedAssetModel'], - 'upsertAsset' + 'upsertAsset', ); const removeBridgedAssetsSpy = vitest.spyOn( assetCalculator['bridgedAssetModel'], - 'removeAssets' + 'removeAssets', ); const updateLockedAssetSpy = vitest.spyOn( assetCalculator['lockedAssetModel'], - 'upsertAsset' + 'upsertAsset', ); const removeLockedAssetsSpy = vitest.spyOn( assetCalculator['lockedAssetModel'], - 'removeAssets' + 'removeAssets', ); await assetCalculator.update(); - const allStoredBridgedAssets = await assetCalculator[ - 'bridgedAssetModel' - ].getAllStoredAssets(); - const allStoredLockedAssets = await assetCalculator[ - 'lockedAssetModel' - ].getAllStoredAssets(); + const allStoredBridgedAssets = + await assetCalculator['bridgedAssetModel'].getAllStoredAssets(); + const allStoredLockedAssets = + await assetCalculator['lockedAssetModel'].getAllStoredAssets(); expect(updateBridgedAssetSpy).to.have.toBeCalledTimes(3); expect(updateLockedAssetSpy).to.have.toBeCalledTimes(3); expect(removeBridgedAssetsSpy).to.have.toBeCalledWith( bridgedAssets.map((asset) => ({ tokenId: asset.tokenId, chain: asset.chain, - })) + })), ); expect(removeLockedAssetsSpy).to.have.toBeCalledWith( lockedAssets @@ -316,27 +314,29 @@ describe('AssetCalculator', () => { tokenId: asset.tokenId, address: asset.address, })) - .sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + .sort((a, b) => a.tokenId.localeCompare(b.tokenId)), ); expect( allStoredBridgedAssets.sort((a, b) => - a.tokenId.localeCompare(b.tokenId) - ) + a.tokenId.localeCompare(b.tokenId), + ), ).toEqual( [ { tokenId: tokenMap.tokens[0].ergo.tokenId, chain: NETWORKS.CARDANO }, { tokenId: tokenMap.tokens[1].ergo.tokenId, chain: NETWORKS.CARDANO }, { tokenId: tokenMap.tokens[2].cardano.tokenId, chain: NETWORKS.ERGO }, - ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)), ); expect( - allStoredLockedAssets.sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + allStoredLockedAssets.sort((a, b) => + a.tokenId.localeCompare(b.tokenId), + ), ).toEqual( [ { tokenId: tokenMap.tokens[0].ergo.tokenId, address: 'Addr' }, { tokenId: tokenMap.tokens[1].ergo.tokenId, address: 'Addr' }, { tokenId: tokenMap.tokens[2].cardano.tokenId, address: 'Addr' }, - ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)), ); }); }); diff --git a/packages/asset-calculator/tests/calculator/chains/cardano-calculator.spec.ts b/packages/asset-calculator/tests/calculator/chains/cardano-calculator.spec.ts index 41155c8a..6fcb5381 100644 --- a/packages/asset-calculator/tests/calculator/chains/cardano-calculator.spec.ts +++ b/packages/asset-calculator/tests/calculator/chains/cardano-calculator.spec.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { beforeEach, describe, expect, it, vitest } from 'vitest'; import { TokenMap } from '@rosen-bridge/tokens'; import cardanoKoiosClientFactory from '@rosen-clients/cardano-koios'; +import { beforeEach, describe, expect, it, vitest } from 'vitest'; import { CardanoCalculator } from '../../../lib/calculator/chains/cardano-calculator'; import { tokenMap } from '../../test-data'; @@ -58,7 +58,7 @@ describe('CardanoCalculator', () => { const cardanoCalculator = new CardanoCalculator( new TokenMap(tokenMap), ['hotAddress', 'coldAddress'], - 'authToken' + 'authToken', ); const totalBalance = await cardanoCalculator.totalBalance({ policyId: 'policyId', @@ -98,7 +98,7 @@ describe('CardanoCalculator', () => { const cardanoCalculator = new CardanoCalculator( new TokenMap(tokenMap), ['hotAddress', 'coldAddress'], - 'authToken' + 'authToken', ); const totalBalance = await cardanoCalculator.totalSupply({ policyId: 'policyId', diff --git a/packages/asset-calculator/tests/calculator/chains/ergo-calculator.spec.ts b/packages/asset-calculator/tests/calculator/chains/ergo-calculator.spec.ts index 74c85b82..29593ff0 100644 --- a/packages/asset-calculator/tests/calculator/chains/ergo-calculator.spec.ts +++ b/packages/asset-calculator/tests/calculator/chains/ergo-calculator.spec.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { beforeEach, describe, expect, it, vitest } from 'vitest'; import { TokenMap } from '@rosen-bridge/tokens'; import ergoExplorerClientFactory from '@rosen-clients/ergo-explorer'; +import { beforeEach, describe, expect, it, vitest } from 'vitest'; import { ErgoCalculator } from '../../../lib/calculator/chains/ergo-calculator'; import { tokenMap } from '../../test-data'; @@ -38,7 +38,7 @@ describe('ErgoCalculator', () => { const ergoCalculator = new ErgoCalculator( new TokenMap(tokenMap), ['hotAddress', 'coldAddress'], - 'explorerUrl' + 'explorerUrl', ); const totalBalance = await ergoCalculator.totalBalance({ tokenId: 'tokenId', @@ -76,13 +76,13 @@ describe('ErgoCalculator', () => { const ergoCalculator = new ErgoCalculator( new TokenMap(tokenMap), ['hotAddress', 'coldAddress'], - 'explorerUrl' + 'explorerUrl', ); expect(() => ergoCalculator.totalBalance({ tokenId: 'tokenId', - } as any) + } as any), ).not.toThrow(); const totalBalance = await ergoCalculator.totalBalance({ tokenId: 'tokenId', @@ -120,7 +120,7 @@ describe('ErgoCalculator', () => { const ergoCalculator = new ErgoCalculator( new TokenMap(tokenMap), ['hotAddress', 'coldAddress'], - 'explorerUrl' + 'explorerUrl', ); const totalBalance = await ergoCalculator.totalSupply({ tokenId: 'tokenId', diff --git a/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.mock.ts b/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.mock.ts index c5e2ad78..66b1eb21 100644 --- a/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.mock.ts +++ b/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.mock.ts @@ -1,8 +1,8 @@ import { DataSource, Repository } from 'typeorm'; +import { TokenEntity, LockedAssetEntity } from '../../../lib'; import { BridgedAssetEntity } from '../../../lib/database/bridgedAsset/BridgedAssetEntity'; import migrations from '../../../lib/database/migrations'; -import { TokenEntity, LockedAssetEntity } from '../../../lib'; import { tokens } from '../test-data'; let dataSource: DataSource; diff --git a/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.spec.ts b/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.spec.ts index 4e3433ee..6a3bb3a4 100644 --- a/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.spec.ts +++ b/packages/asset-calculator/tests/database/bridgedAsset/BridgedAssetModel.spec.ts @@ -1,13 +1,13 @@ import { beforeEach, describe, it } from '@vitest/runner'; import { expect } from 'vitest'; +import { BridgedAssetModel } from '../../../lib/database/bridgedAsset/BridgedAssetModel'; +import { bridgedAssets } from '../test-data'; import { allAssetRecords, initDatabase, insertAssetRecords, } from './BridgedAssetModel.mock'; -import { bridgedAssets } from '../test-data'; -import { BridgedAssetModel } from '../../../lib/database/bridgedAsset/BridgedAssetModel'; describe('BridgedAssetModel', () => { let assetModel: BridgedAssetModel; diff --git a/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.mock.ts b/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.mock.ts index 966f5b31..49013227 100644 --- a/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.mock.ts +++ b/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.mock.ts @@ -1,8 +1,8 @@ import { DataSource, Repository } from 'typeorm'; +import { TokenEntity, LockedAssetEntity } from '../../../lib'; import { BridgedAssetEntity } from '../../../lib/database/bridgedAsset/BridgedAssetEntity'; import migrations from '../../../lib/database/migrations'; -import { TokenEntity, LockedAssetEntity } from '../../../lib'; import { tokens } from '../test-data'; let dataSource: DataSource; diff --git a/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.spec.ts b/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.spec.ts index acc6c154..40607051 100644 --- a/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.spec.ts +++ b/packages/asset-calculator/tests/database/lockedAsset/LockedAssetModel.spec.ts @@ -1,13 +1,13 @@ import { beforeEach, describe, it } from '@vitest/runner'; import { expect } from 'vitest'; +import { LockedAssetModel } from '../../../lib/database/lockedAsset/LockedAssetModel'; +import { lockedAssets } from '../test-data'; import { allAssetRecords, initDatabase, insertAssetRecords, } from './LockedAssetModel.mock'; -import { lockedAssets } from '../test-data'; -import { LockedAssetModel } from '../../../lib/database/lockedAsset/LockedAssetModel'; describe('LockedAssetModel', () => { let assetModel: LockedAssetModel; @@ -32,7 +32,7 @@ describe('LockedAssetModel', () => { const savedAssets = await assetModel.getAllStoredAssets(); expect(savedAssets.length).toEqual(2); expect( - savedAssets.sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + savedAssets.sort((a, b) => a.tokenId.localeCompare(b.tokenId)), ).toEqual( [ { @@ -43,7 +43,7 @@ describe('LockedAssetModel', () => { address: lockedAssets[1].address, tokenId: lockedAssets[1].tokenId, }, - ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)) + ].sort((a, b) => a.tokenId.localeCompare(b.tokenId)), ); }); }); diff --git a/packages/asset-calculator/tests/database/token/TokenModel.mock.ts b/packages/asset-calculator/tests/database/token/TokenModel.mock.ts index 30a3bd81..3b40f453 100644 --- a/packages/asset-calculator/tests/database/token/TokenModel.mock.ts +++ b/packages/asset-calculator/tests/database/token/TokenModel.mock.ts @@ -1,8 +1,8 @@ import { DataSource, Repository } from 'typeorm'; +import { TokenEntity, LockedAssetEntity } from '../../../lib'; import { BridgedAssetEntity } from '../../../lib/database/bridgedAsset/BridgedAssetEntity'; import migrations from '../../../lib/database/migrations'; -import { TokenEntity, LockedAssetEntity } from '../../../lib'; let dataSource: DataSource; let tokenRepository: Repository; diff --git a/packages/asset-calculator/tests/database/token/TokenModel.spec.ts b/packages/asset-calculator/tests/database/token/TokenModel.spec.ts index c2b01fbd..6d9d8a53 100644 --- a/packages/asset-calculator/tests/database/token/TokenModel.spec.ts +++ b/packages/asset-calculator/tests/database/token/TokenModel.spec.ts @@ -1,13 +1,13 @@ import { beforeEach, describe, it } from '@vitest/runner'; import { expect } from 'vitest'; +import { TokenModel } from '../../../lib/database/token/TokenModel'; +import { tokens } from '../test-data'; import { allTokenRecords, initDatabase, insertTokenRecords, } from './TokenModel.mock'; -import { tokens } from '../test-data'; -import { TokenModel } from '../../../lib/database/token/TokenModel'; describe('TokenModel', () => { let tokenModel: TokenModel; diff --git a/packages/common-hooks/.eslintignore b/packages/common-hooks/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/common-hooks/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/common-hooks/.eslintrc.json b/packages/common-hooks/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/packages/common-hooks/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/packages/common-hooks/README.md b/packages/common-hooks/README.md deleted file mode 100644 index 624fe06b..00000000 --- a/packages/common-hooks/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/common-hooks - -This is a private package used inside rosen bridge ui apps. diff --git a/packages/common-hooks/package.json b/packages/common-hooks/package.json index 6da47ab1..a1a184e9 100644 --- a/packages/common-hooks/package.json +++ b/packages/common-hooks/package.json @@ -2,27 +2,23 @@ "name": "@rosen-ui/common-hooks", "version": "0.1.0", "private": true, + "description": "This is a private package utilized within Rosen UI apps", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { "@types/lodash-es": "^4.17.9", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { - "buffer": "^6.0.3", "@rosen-bridge/json-bigint": "^0.1.0", + "buffer": "^6.0.3", "lodash-es": "^4.17.21" } } diff --git a/packages/common-hooks/src/hooks/useLocalStorageManager.ts b/packages/common-hooks/src/hooks/useLocalStorageManager.ts index f2232a95..b6d889d0 100644 --- a/packages/common-hooks/src/hooks/useLocalStorageManager.ts +++ b/packages/common-hooks/src/hooks/useLocalStorageManager.ts @@ -1,4 +1,5 @@ import { useCallback, useMemo } from 'react'; + import JSONBigInt from '@rosen-bridge/json-bigint'; /** @@ -25,7 +26,7 @@ export const useLocalStorageManager = () => { get, remove, }), - [set, get, remove] + [set, get, remove], ); return localStorageManager; diff --git a/packages/common-hooks/tsconfig.json b/packages/common-hooks/tsconfig.json index cfaa5344..c843ae70 100644 --- a/packages/common-hooks/tsconfig.json +++ b/packages/common-hooks/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/packages/constants/.eslintignore b/packages/constants/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/constants/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/constants/.eslintrc.json b/packages/constants/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/packages/constants/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/packages/constants/README.md b/packages/constants/README.md deleted file mode 100644 index 417e6686..00000000 --- a/packages/constants/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/constants - -This is a private package used inside rosen bridge ui apps. diff --git a/packages/constants/package.json b/packages/constants/package.json index 4d72f63d..b55468fd 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -2,21 +2,17 @@ "name": "@rosen-ui/constants", "version": "0.0.5", "private": true, + "description": "This is a private package utilized within Rosen UI apps", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" } } diff --git a/packages/constants/tsconfig.json b/packages/constants/tsconfig.json index cfaa5344..c843ae70 100644 --- a/packages/constants/tsconfig.json +++ b/packages/constants/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/packages/icons/.eslintignore b/packages/icons/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/icons/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/icons/.eslintrc.json b/packages/icons/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/packages/icons/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/packages/icons/.lintstagedrc.mjs b/packages/icons/.lintstagedrc.mjs deleted file mode 100644 index 005b6df3..00000000 --- a/packages/icons/.lintstagedrc.mjs +++ /dev/null @@ -1,5 +0,0 @@ -export default { - '*.ts': () => 'npm run type-check', - '*.{js,ts}': 'eslint --fix', - '*': 'prettier --ignore-unknown --write', -}; diff --git a/packages/icons/@types/svg.d.ts b/packages/icons/@types/svg.d.ts deleted file mode 100644 index ca11d5d5..00000000 --- a/packages/icons/@types/svg.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module '*.svg' { - const ReactComponent: React.FC; - export { ReactComponent }; -} diff --git a/packages/icons/README.md b/packages/icons/README.md deleted file mode 100644 index bb2abd9d..00000000 --- a/packages/icons/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# @rosen-bridge/icons - -A react icon set wrapping [unicons](https://github.com/Iconscout/unicons), used -in Rosen apps. diff --git a/packages/icons/package.json b/packages/icons/package.json index 403d5d10..63cc600b 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@rosen-bridge/icons", - "description": "An icon set wrapping Unicons", + "description": "A react icon set wrapping Unicons, used in Rosen apps", "private": "true", "version": "0.6.0", "type": "module", @@ -19,7 +19,7 @@ "license": "GPL-3.0", "author": "Rosen Team", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc && vite build", "type-check": "tsc", @@ -32,11 +32,6 @@ "devDependencies": { "@types/react": "18.2.12", "@types/react-dom": "18.2.4", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "eslint": "^8.38.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "vite": "^4.3.9", "vite-plugin-dts": "^2.3.0", "vite-plugin-svgr": "^3.2.0" diff --git a/packages/icons/src/vite-env.d.ts b/packages/icons/src/vite-env.d.ts index 11f02fe2..b1f45c78 100644 --- a/packages/icons/src/vite-env.d.ts +++ b/packages/icons/src/vite-env.d.ts @@ -1 +1,2 @@ /// +/// diff --git a/packages/shared-contexts/.eslintignore b/packages/shared-contexts/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/shared-contexts/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/shared-contexts/.eslintrc.json b/packages/shared-contexts/.eslintrc.json deleted file mode 100644 index 2b0a7985..00000000 --- a/packages/shared-contexts/.eslintrc.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:react-hooks/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint", "react-refresh"], - "rules": { - "react-refresh/only-export-components": "warn" - } -} diff --git a/packages/shared-contexts/.lintstagedrc.mjs b/packages/shared-contexts/.lintstagedrc.mjs deleted file mode 100644 index 005b6df3..00000000 --- a/packages/shared-contexts/.lintstagedrc.mjs +++ /dev/null @@ -1,5 +0,0 @@ -export default { - '*.ts': () => 'npm run type-check', - '*.{js,ts}': 'eslint --fix', - '*': 'prettier --ignore-unknown --write', -}; diff --git a/packages/shared-contexts/README.md b/packages/shared-contexts/README.md deleted file mode 100644 index c7b74566..00000000 --- a/packages/shared-contexts/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# @rosen-bridge/shared-contexts - -## Table of contents - -- [@rosen-bridge/shared-contexts](#rosen-bridge/sahred-contexts) - - [Table of contents](#table-of-contents) - - [Introduction](#introduction) - -## Introduction - -`@rosen-bridge/shared-contexts` is a simple utility package the shares the commonly used -react contexts between apps. diff --git a/packages/shared-contexts/package.json b/packages/shared-contexts/package.json index 7e6bbd0a..1611a30f 100644 --- a/packages/shared-contexts/package.json +++ b/packages/shared-contexts/package.json @@ -18,7 +18,7 @@ "license": "GPL-3.0", "author": "Rosen Team", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc" @@ -28,15 +28,8 @@ "react-dom": "18.2.0" }, "devDependencies": { - "typescript": "^5.3.3", "@types/react": "18.2.12", "@types/react-dom": "18.2.4", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "eslint": "^8.38.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.3.4", - "prettier": "^3.0.2" + "typescript": "^5.3.3" } } diff --git a/packages/shared-contexts/tsconfig.json b/packages/shared-contexts/tsconfig.json index 6a16c03f..49ec2e06 100644 --- a/packages/shared-contexts/tsconfig.json +++ b/packages/shared-contexts/tsconfig.json @@ -16,7 +16,7 @@ "skipLibCheck": true, "strict": true, "target": "ESNext", - "useDefineForClassFields": true, + "useDefineForClassFields": true }, - "include": ["src"], + "include": ["src"] } diff --git a/packages/swr-helpers/.eslintignore b/packages/swr-helpers/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/swr-helpers/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/swr-helpers/.eslintrc.json b/packages/swr-helpers/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/packages/swr-helpers/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/packages/swr-helpers/README.md b/packages/swr-helpers/README.md deleted file mode 100644 index a52724e7..00000000 --- a/packages/swr-helpers/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/swr-helpers - -This is a private package used inside rosen bridge ui apps. diff --git a/packages/swr-helpers/package.json b/packages/swr-helpers/package.json index c5a470d3..06ae3721 100644 --- a/packages/swr-helpers/package.json +++ b/packages/swr-helpers/package.json @@ -2,22 +2,18 @@ "name": "@rosen-ui/swr-helpers", "version": "0.2.0", "private": true, + "description": "This is a private package utilized within Rosen UI apps", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { "@types/json-bigint": "^1.0.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/packages/swr-helpers/src/fetcher.ts b/packages/swr-helpers/src/fetcher.ts index e20433d4..efd5d915 100644 --- a/packages/swr-helpers/src/fetcher.ts +++ b/packages/swr-helpers/src/fetcher.ts @@ -12,9 +12,12 @@ axios.defaults.baseURL = '/api'; * @param params */ const fetcher = async ( - key: - | [url: string, params?: Record, method?: 'get' | 'put'] - | string + /** + * TODO: remove the inline ESLint comment + * local:ergo/rosen-bridge/ui#441 + */ + key: // eslint-disable-next-line @typescript-eslint/no-explicit-any + [url: string, params?: Record, method?: 'get' | 'put'] | string, ) => { const method = (typeof key !== 'string' && key[2]) || 'get'; const response = await axios[method](typeof key === 'string' ? key : key[0], { diff --git a/packages/swr-helpers/src/mutator.ts b/packages/swr-helpers/src/mutator.ts index e30622a2..0f903f0b 100644 --- a/packages/swr-helpers/src/mutator.ts +++ b/packages/swr-helpers/src/mutator.ts @@ -6,6 +6,11 @@ import JSONBigInt from 'json-bigint'; * @param url * @param params */ +/** + * TODO: remove the inline ESLint comment + * local:ergo/rosen-bridge/ui#441 + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any const mutator = async (url: string, { arg }: { arg: any }) => { const response = await axios.post(url, arg, { transformRequest: (data) => @@ -38,7 +43,7 @@ export interface MutatorWithHeadersArgs { export const mutatorWithHeaders = async ( url: string, - { arg }: { arg: MutatorWithHeadersArgs } + { arg }: { arg: MutatorWithHeadersArgs }, ) => { const response = await axios.post(url, arg.data, { transformRequest: (data) => diff --git a/packages/swr-helpers/tsconfig.json b/packages/swr-helpers/tsconfig.json index 09bfaf26..56e6911a 100644 --- a/packages/swr-helpers/tsconfig.json +++ b/packages/swr-helpers/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./", diff --git a/packages/swr-mock/.eslintignore b/packages/swr-mock/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/swr-mock/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/swr-mock/.eslintrc.json b/packages/swr-mock/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/packages/swr-mock/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/packages/swr-mock/CHANGELOG.md b/packages/swr-mock/CHANGELOG.md new file mode 100644 index 00000000..7caee671 --- /dev/null +++ b/packages/swr-mock/CHANGELOG.md @@ -0,0 +1,7 @@ +# @rosen-ui/swr-mock + +## 0.0.2 + +### Patch Changes + +- Refactor to use named exports to improve code maintainability diff --git a/packages/swr-mock/README.md b/packages/swr-mock/README.md deleted file mode 100644 index 6ba8e6e4..00000000 --- a/packages/swr-mock/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/swr-mock - -This is a private package used inside rosen bridge ui apps. diff --git a/packages/swr-mock/package.json b/packages/swr-mock/package.json index 561e1683..ca81e608 100644 --- a/packages/swr-mock/package.json +++ b/packages/swr-mock/package.json @@ -1,22 +1,18 @@ { "name": "@rosen-ui/swr-mock", - "version": "0.0.1", + "version": "0.0.2", "private": true, + "description": "This is a private package utilized within Rosen UI apps", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "peerDependencies": { diff --git a/packages/swr-mock/src/SWRConfig.tsx b/packages/swr-mock/src/SWRConfig.tsx index a84fafa3..d7c78a68 100644 --- a/packages/swr-mock/src/SWRConfig.tsx +++ b/packages/swr-mock/src/SWRConfig.tsx @@ -1,11 +1,18 @@ import { SWRConfig as SWRConfigBase } from 'swr'; -import mockMiddlewareFactory from './mockMiddlewareFactory'; + +import { mockMiddlewareFactory } from './mockMiddlewareFactory'; export interface SWRConfigProps { children: React.ReactNode; useMockedApis: boolean; + /** + * TODO: remove the inline ESLint comment + * local:ergo/rosen-bridge/ui#441 + */ fakeData: { + // eslint-disable-next-line @typescript-eslint/no-explicit-any withStringKeys: Record; + // eslint-disable-next-line @typescript-eslint/no-explicit-any withObjectKeys: Record any>; }; } @@ -17,7 +24,11 @@ export interface SWRConfigProps { * @param useMockedApis whether to use mocked apis instead of main ones * @param fakeData mocked data to use in mocked apis */ -const SWRConfig = ({ children, useMockedApis, fakeData }: SWRConfigProps) => ( +export const SWRConfig = ({ + children, + useMockedApis, + fakeData, +}: SWRConfigProps) => ( ( {children} ); - -export default SWRConfig; diff --git a/packages/swr-mock/src/index.ts b/packages/swr-mock/src/index.ts index 587ffab6..1f4cebe4 100644 --- a/packages/swr-mock/src/index.ts +++ b/packages/swr-mock/src/index.ts @@ -1 +1 @@ -export { default, SWRConfigProps } from './SWRConfig'; +export { SWRConfig, SWRConfigProps } from './SWRConfig'; diff --git a/packages/swr-mock/src/mockMiddlewareFactory.ts b/packages/swr-mock/src/mockMiddlewareFactory.ts index 911b0e31..8902fee8 100644 --- a/packages/swr-mock/src/mockMiddlewareFactory.ts +++ b/packages/swr-mock/src/mockMiddlewareFactory.ts @@ -1,3 +1,8 @@ +/** + * TODO: remove the inline ESLint comment + * local:ergo/rosen-bridge/ui#441 + */ +/* eslint-disable */ import { Key, Middleware, SWRHook } from 'swr'; interface FakeData { @@ -12,7 +17,7 @@ interface FakeData { * * @param fakeData */ -const mockMiddlewareFactory: (fakeData: FakeData) => Middleware = +export const mockMiddlewareFactory: (fakeData: FakeData) => Middleware = (fakeData) => (useSWRNext: SWRHook) => (key, fetcher, config) => { const mockedFetcher = (key: Key) => new Promise((resolve, reject) => { @@ -38,5 +43,3 @@ const mockMiddlewareFactory: (fakeData: FakeData) => Middleware = return useSWRNext(key, mockedFetcher, config); }; - -export default mockMiddlewareFactory; diff --git a/packages/swr-mock/tsconfig.json b/packages/swr-mock/tsconfig.json index 09bfaf26..56e6911a 100644 --- a/packages/swr-mock/tsconfig.json +++ b/packages/swr-mock/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./", diff --git a/packages/types/.eslintignore b/packages/types/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/types/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/types/.eslintrc.json b/packages/types/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/packages/types/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/packages/types/README.md b/packages/types/README.md deleted file mode 100644 index afac8640..00000000 --- a/packages/types/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/types - -This is a private package used inside rosen bridge ui apps. diff --git a/packages/types/package.json b/packages/types/package.json index a7210146..4c671ce4 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -2,22 +2,18 @@ "name": "@rosen-ui/types", "version": "0.3.1", "private": true, + "description": "This is a private package utilized within Rosen UI apps", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { "@mui/material": "^5.13.7", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index cfaa5344..c843ae70 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/packages/ui-kit/.eslintignore b/packages/ui-kit/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/ui-kit/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/ui-kit/.eslintrc.json b/packages/ui-kit/.eslintrc.json deleted file mode 100644 index 2b0a7985..00000000 --- a/packages/ui-kit/.eslintrc.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:react-hooks/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint", "react-refresh"], - "rules": { - "react-refresh/only-export-components": "warn" - } -} diff --git a/packages/ui-kit/.lintstagedrc.mjs b/packages/ui-kit/.lintstagedrc.mjs deleted file mode 100644 index 005b6df3..00000000 --- a/packages/ui-kit/.lintstagedrc.mjs +++ /dev/null @@ -1,5 +0,0 @@ -export default { - '*.ts': () => 'npm run type-check', - '*.{js,ts}': 'eslint --fix', - '*': 'prettier --ignore-unknown --write', -}; diff --git a/packages/ui-kit/CHANGELOG.md b/packages/ui-kit/CHANGELOG.md index 78b8acfb..675b3edd 100644 --- a/packages/ui-kit/CHANGELOG.md +++ b/packages/ui-kit/CHANGELOG.md @@ -1,5 +1,11 @@ # @rosen-bridge/ui-kit +## 1.5.3 + +### Patch Changes + +- Relocated the ApiKeyModal component for better organization + ## 1.5.2 ### Patch Changes diff --git a/packages/ui-kit/README.md b/packages/ui-kit/README.md deleted file mode 100644 index e98a7eee..00000000 --- a/packages/ui-kit/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# @rosen-bridge/ui - -## Table of contents - -- [@rosen-bridge/ui](#rosen-bridgeui) - - [Table of contents](#table-of-contents) - - [Introduction](#introduction) - -## Introduction - -`@rosen-bridge/ui` is a simple ui kit containing react components that are used -inside other Rosen bridge projects. diff --git a/packages/ui-kit/package.json b/packages/ui-kit/package.json index 1a38a2fd..fa468a77 100644 --- a/packages/ui-kit/package.json +++ b/packages/ui-kit/package.json @@ -2,7 +2,7 @@ "name": "@rosen-bridge/ui-kit", "description": "ui kit for Rosen projects", "private": true, - "version": "1.5.2", + "version": "1.5.3", "type": "module", "files": [ "dist" @@ -18,7 +18,7 @@ "license": "GPL-3.0", "author": "Rosen Team", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc", @@ -34,14 +34,7 @@ "devDependencies": { "@rosen-ui/types": "^0.3.1", "@types/react": "18.2.12", - "@types/react-dom": "18.2.4", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "eslint": "^8.38.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.3.4", - "prettier": "^3.0.2" + "@types/react-dom": "18.2.4" }, "dependencies": { "@mui/lab": "^5.0.0-alpha.134", diff --git a/packages/ui-kit/src/Providers/ThemeProvider.tsx b/packages/ui-kit/src/Providers/ThemeProvider.tsx index 39c941c5..2c7923bd 100644 --- a/packages/ui-kit/src/Providers/ThemeProvider.tsx +++ b/packages/ui-kit/src/Providers/ThemeProvider.tsx @@ -1,7 +1,8 @@ +import { createContext, useState } from 'react'; + import { Theme, useMediaQuery } from '@mui/material'; import { ThemeProvider as MuiThemeProvider } from '@mui/material/styles'; import { useLocalStorageManager } from '@rosen-ui/common-hooks'; -import { createContext, useState } from 'react'; export const ThemeTogglerContext = createContext({ mode: 'light', diff --git a/packages/ui-kit/src/components/common/AlertCard.tsx b/packages/ui-kit/src/components/common/AlertCard.tsx index a849e104..d44fc0e3 100644 --- a/packages/ui-kit/src/components/common/AlertCard.tsx +++ b/packages/ui-kit/src/components/common/AlertCard.tsx @@ -1,6 +1,7 @@ import { EventHandler, ReactNode, SyntheticEvent } from 'react'; import { Times } from '@rosen-bridge/icons'; + import { Alert, AlertProps, Collapse, IconButton, SvgIcon } from '../base'; export interface AlertCardProps { diff --git a/apps/guard/app/_modals/ApiKeyModal.tsx b/packages/ui-kit/src/components/common/ApiKeyModal.tsx similarity index 95% rename from apps/guard/app/_modals/ApiKeyModal.tsx rename to packages/ui-kit/src/components/common/ApiKeyModal.tsx index 6fc4fa65..7a947206 100644 --- a/apps/guard/app/_modals/ApiKeyModal.tsx +++ b/packages/ui-kit/src/components/common/ApiKeyModal.tsx @@ -1,9 +1,11 @@ import { FormEvent, useEffect, useState } from 'react'; +import { useForm, Controller } from 'react-hook-form'; import { KeySkeleton, Eye, EyeSlash, Times } from '@rosen-bridge/icons'; -import { useForm, Controller } from 'react-hook-form'; +import { useApiKey } from '@rosen-bridge/shared-contexts'; import { useModalManager } from '@rosen-ui/common-hooks'; +import { useSnackbar } from '../../hooks'; import { Button, Dialog, @@ -16,10 +18,7 @@ import { SvgIcon, TextField, Typography, - useSnackbar, -} from '@rosen-bridge/ui-kit'; - -import { useApiKey } from '@rosen-bridge/shared-contexts'; +} from '../base'; interface FormValues { apiKey: string; @@ -29,7 +28,7 @@ export interface ApiKeyModalProps { children?: (open: () => void) => React.ReactNode; } -const ApiKeyModal = ({ children }: ApiKeyModalProps) => { +export const ApiKeyModal = ({ children }: ApiKeyModalProps) => { const { apiKey, setApiKey } = useApiKey(); const { openSnackbar } = useSnackbar(); @@ -47,7 +46,7 @@ const ApiKeyModal = ({ children }: ApiKeyModalProps) => { const handleSetKey = (values: FormValues) => { setApiKey(values.apiKey); handleCloseModal(); - openSnackbar('Api key is set!', 'success'); + openSnackbar('API key is set!', 'success'); }; const onSubmit = (event: FormEvent) => { @@ -125,5 +124,3 @@ const ApiKeyModal = ({ children }: ApiKeyModalProps) => { ); }; - -export default ApiKeyModal; diff --git a/packages/ui-kit/src/components/common/AppLogo.tsx b/packages/ui-kit/src/components/common/AppLogo.tsx index 22f04630..56d6a913 100644 --- a/packages/ui-kit/src/components/common/AppLogo.tsx +++ b/packages/ui-kit/src/components/common/AppLogo.tsx @@ -1,8 +1,7 @@ import { FC } from 'react'; -import { styled } from '../../styling'; - import { useIsDarkMode } from '../../hooks'; +import { styled } from '../../styling'; const Image = styled('img')(({ theme }) => ({ width: 64, diff --git a/packages/ui-kit/src/components/common/AppSnackbar.tsx b/packages/ui-kit/src/components/common/AppSnackbar.tsx index b1115349..2017c7d3 100644 --- a/packages/ui-kit/src/components/common/AppSnackbar.tsx +++ b/packages/ui-kit/src/components/common/AppSnackbar.tsx @@ -1,9 +1,8 @@ 'use client'; -import { Snackbar, Alert } from '../base'; - import { useSnackbar } from '../../hooks/useSnackbar'; import { isLegacyTheme, useTheme } from '../../hooks/useTheme'; +import { Snackbar, Alert } from '../base'; /** * global snackbar component that connects to snackbar context and shows and diff --git a/packages/ui-kit/src/components/common/EnhancedTable.tsx b/packages/ui-kit/src/components/common/EnhancedTable.tsx index 7ec0e22d..1a45a666 100644 --- a/packages/ui-kit/src/components/common/EnhancedTable.tsx +++ b/packages/ui-kit/src/components/common/EnhancedTable.tsx @@ -1,6 +1,9 @@ import { ReactNode } from 'react'; + import { Breakpoint } from '@mui/material'; +import type { ResponsiveValueOptionsBase } from '../../@types'; +import { useResponsiveValue } from '../../hooks'; import { Table as MuiTable, TableContainer, @@ -15,10 +18,6 @@ import { TableCellProps, } from '../base'; -import { useResponsiveValue } from '../../hooks'; - -import type { ResponsiveValueOptionsBase } from '../../@types'; - export interface TableHeadItem { cellProps?: TableCellProps; title?: string; diff --git a/packages/ui-kit/src/components/common/EnhancedTableCell.tsx b/packages/ui-kit/src/components/common/EnhancedTableCell.tsx index 6a7b3502..319f2fa4 100644 --- a/packages/ui-kit/src/components/common/EnhancedTableCell.tsx +++ b/packages/ui-kit/src/components/common/EnhancedTableCell.tsx @@ -1,4 +1,5 @@ import { FC, useMemo } from 'react'; + import { TableCell, TableCellProps } from '../base'; export interface EnhancedTableCellProps extends TableCellProps { diff --git a/packages/ui-kit/src/components/common/FullCard.tsx b/packages/ui-kit/src/components/common/FullCard.tsx index 351e3c2b..35882637 100644 --- a/packages/ui-kit/src/components/common/FullCard.tsx +++ b/packages/ui-kit/src/components/common/FullCard.tsx @@ -1,4 +1,5 @@ import { FC, ReactNode } from 'react'; + import { Card, CardActions, diff --git a/packages/ui-kit/src/components/common/HealthParamCard.tsx b/packages/ui-kit/src/components/common/HealthParamCard.tsx index 206de37a..73a20443 100644 --- a/packages/ui-kit/src/components/common/HealthParamCard.tsx +++ b/packages/ui-kit/src/components/common/HealthParamCard.tsx @@ -1,4 +1,3 @@ -import moment from 'moment'; import { useMemo } from 'react'; import { @@ -8,6 +7,7 @@ import { ShieldQuestion, } from '@rosen-bridge/icons'; import { HealthParamInfo } from '@rosen-ui/types'; +import moment from 'moment'; import { FullCard } from '.'; import { useTheme } from '../../hooks'; @@ -32,7 +32,6 @@ export type HealthParamCardProps = HealthParamInfo & { * @param handleCheckNow */ export const HealthParamCard = ({ - id, title, details, status, @@ -107,7 +106,7 @@ export const HealthParamCard = ({ ), sx: { - color: colors.cardColor, + 'color': colors.cardColor, '& span': { color: 'inherit', display: 'flex', diff --git a/packages/ui-kit/src/components/common/NavigationButton.tsx b/packages/ui-kit/src/components/common/NavigationButton.tsx index 9cc91645..ba58d7ef 100644 --- a/packages/ui-kit/src/components/common/NavigationButton.tsx +++ b/packages/ui-kit/src/components/common/NavigationButton.tsx @@ -1,15 +1,14 @@ import { EventHandler, FC, ReactNode, SyntheticEvent } from 'react'; -import { Badge, Button, SvgIcon } from '../base'; import { useIsMobile } from '../../hooks'; import { isLegacyTheme } from '../../hooks/useTheme'; - import { styled } from '../../styling'; +import { Badge, Button, SvgIcon } from '../base'; const NavButtonBase = styled(Button)(({ theme }) => ({ - display: 'flex', - flexDirection: 'column', - fontSize: theme.typography.subtitle2.fontSize, + 'display': 'flex', + 'flexDirection': 'column', + 'fontSize': theme.typography.subtitle2.fontSize, ...(isLegacyTheme(theme) ? { gap: theme.spacing(0.5), @@ -22,7 +21,7 @@ const NavButtonBase = styled(Button)(({ theme }) => ({ fontWeight: 700, lineHeight: 1, }), - opacity: 0.8, + 'opacity': 0.8, '&:hover': { opacity: 1, }, @@ -36,7 +35,7 @@ const NavButtonBase = styled(Button)(({ theme }) => ({ fontSize: isLegacyTheme(theme) ? null : '24px', }, '&.active': { - opacity: 1, + 'opacity': 1, '& .MuiButton-startIcon': { color: isLegacyTheme(theme) ? theme.palette.info.dark @@ -49,7 +48,7 @@ const NavButtonBase = styled(Button)(({ theme }) => ({ }, }, [theme.breakpoints.down('tablet')]: { - color: + 'color': theme.palette.mode === 'light' ? theme.palette.primary.dark : theme.palette.common.white, diff --git a/packages/ui-kit/src/components/common/Toolbar.tsx b/packages/ui-kit/src/components/common/Toolbar.tsx index c6649778..e5134f7c 100644 --- a/packages/ui-kit/src/components/common/Toolbar.tsx +++ b/packages/ui-kit/src/components/common/Toolbar.tsx @@ -1,9 +1,8 @@ import { ReactNode } from 'react'; -import { Typography, Stack, Grid } from '../base'; - import { isLegacyTheme, useTheme } from '../../hooks/useTheme'; import { styled } from '../../styling'; +import { Typography, Stack, Grid } from '../base'; /** * adds basic styling to the component and hides the actions diff --git a/packages/ui-kit/src/components/common/ToolbarThemeTogglerAction.tsx b/packages/ui-kit/src/components/common/ToolbarThemeTogglerAction.tsx index be34b6a4..3b04f6cc 100644 --- a/packages/ui-kit/src/components/common/ToolbarThemeTogglerAction.tsx +++ b/packages/ui-kit/src/components/common/ToolbarThemeTogglerAction.tsx @@ -1,4 +1,5 @@ import { Moon, Sun } from '@rosen-bridge/icons'; + import { useIsDarkMode, useThemeToggler } from '../../hooks'; import { IconButton, SvgIcon } from '../base'; diff --git a/packages/ui-kit/src/components/common/WithExternalLink.tsx b/packages/ui-kit/src/components/common/WithExternalLink.tsx index a1c17de6..a264629e 100644 --- a/packages/ui-kit/src/components/common/WithExternalLink.tsx +++ b/packages/ui-kit/src/components/common/WithExternalLink.tsx @@ -1,4 +1,5 @@ import { ReactNode } from 'react'; + import { OpenInNew } from '@rosen-bridge/icons'; import { Link, Stack, SvgIcon } from '../base'; diff --git a/packages/ui-kit/src/components/common/index.ts b/packages/ui-kit/src/components/common/index.ts index 023ce072..a7eff990 100644 --- a/packages/ui-kit/src/components/common/index.ts +++ b/packages/ui-kit/src/components/common/index.ts @@ -1,5 +1,6 @@ export * from './AlertCard'; export * from './Amount'; +export * from './ApiKeyModal'; export * from './AppBar'; export * from './AppLogo'; export * from './EnhancedDialogTitle'; diff --git a/packages/ui-kit/src/components/common/tokensCard/TokenListItem.tsx b/packages/ui-kit/src/components/common/tokensCard/TokenListItem.tsx index 60e91418..3fb6e71a 100644 --- a/packages/ui-kit/src/components/common/tokensCard/TokenListItem.tsx +++ b/packages/ui-kit/src/components/common/tokensCard/TokenListItem.tsx @@ -2,6 +2,7 @@ import { TOKEN_NAME_PLACEHOLDER } from '@rosen-ui/constants'; import { getDecimalString } from '@rosen-ui/utils'; import { Id } from '..'; +import { useTheme } from '../../../hooks'; import { Box, ListItem, @@ -10,7 +11,6 @@ import { Typography, } from '../../base'; import { TokenListItemAvatar } from './TokenListItemAvatar'; -import { useTheme } from '../../../hooks'; export interface TokenListItemProps { decimals: number; diff --git a/packages/ui-kit/src/components/common/tokensCard/TokenListItemAvatar.tsx b/packages/ui-kit/src/components/common/tokensCard/TokenListItemAvatar.tsx index 101915f7..98d997e0 100644 --- a/packages/ui-kit/src/components/common/tokensCard/TokenListItemAvatar.tsx +++ b/packages/ui-kit/src/components/common/tokensCard/TokenListItemAvatar.tsx @@ -1,6 +1,5 @@ -import { Avatar } from '../../base'; - import { useIsDarkMode } from '../../../hooks'; +import { Avatar } from '../../base'; export interface TokenListItemAvatarProps { name: string; @@ -13,10 +12,7 @@ export interface TokenListItemAvatarProps { * @param name * @param index index used to change background color of avatar */ -export const TokenListItemAvatar = ({ - name, - index, -}: TokenListItemAvatarProps) => { +export const TokenListItemAvatar = ({ name }: TokenListItemAvatarProps) => { const isDarkMode = useIsDarkMode(); return ( diff --git a/packages/ui-kit/src/contexts/snackbarContext.tsx b/packages/ui-kit/src/contexts/snackbarContext.tsx index c89495e6..06d6f6b3 100644 --- a/packages/ui-kit/src/contexts/snackbarContext.tsx +++ b/packages/ui-kit/src/contexts/snackbarContext.tsx @@ -1,4 +1,5 @@ import { useReducer, createContext } from 'react'; + import { SnackbarOrigin } from '@mui/material'; export type Severity = 'error' | 'warning' | 'info' | 'success'; diff --git a/packages/ui-kit/src/hooks/useResponsiveValue.ts b/packages/ui-kit/src/hooks/useResponsiveValue.ts index fc5b82fd..833e0fcd 100644 --- a/packages/ui-kit/src/hooks/useResponsiveValue.ts +++ b/packages/ui-kit/src/hooks/useResponsiveValue.ts @@ -1,10 +1,9 @@ import { Breakpoint } from '@mui/material'; +import type { ResponsiveValueOptionsBase } from '../@types'; import { useMediaQuery } from './useMediaQuery'; import { useTheme } from './useTheme'; -import type { ResponsiveValueOptionsBase } from '../@types'; - type UseResponsiveValueOptions< T, MandatoryBreakpoint extends Breakpoint = 'mobile', diff --git a/packages/ui-kit/src/hooks/useTablePagination.ts b/packages/ui-kit/src/hooks/useTablePagination.ts index 237a6df3..d85bb1e4 100644 --- a/packages/ui-kit/src/hooks/useTablePagination.ts +++ b/packages/ui-kit/src/hooks/useTablePagination.ts @@ -1,8 +1,8 @@ import { useCallback, useState } from 'react'; -import useSWR, { Key } from 'swr'; import { fetcher } from '@rosen-ui/swr-helpers'; import { Paginated } from '@rosen-ui/types'; +import useSWR, { Key } from 'swr'; /** * this hook uses swr to to fetch and manage paginated data. diff --git a/packages/ui-kit/src/hooks/useTheme.ts b/packages/ui-kit/src/hooks/useTheme.ts index 71061d1f..307e543b 100644 --- a/packages/ui-kit/src/hooks/useTheme.ts +++ b/packages/ui-kit/src/hooks/useTheme.ts @@ -1,2 +1,7 @@ export { useTheme } from '@mui/material'; +/** + * TODO: remove the inline ESLint comment + * local:ergo/rosen-bridge/ui#441 + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any export const isLegacyTheme = (theme: any) => !theme.palette.neutral; diff --git a/packages/utils/.eslintignore b/packages/utils/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/utils/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/utils/.eslintrc.json b/packages/utils/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/packages/utils/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/packages/utils/README.md b/packages/utils/README.md deleted file mode 100644 index 5b7c9ce4..00000000 --- a/packages/utils/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/utils - -This is a package used inside rosen bridge ui apps. diff --git a/packages/utils/package.json b/packages/utils/package.json index b7208ba9..9f41df89 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,22 +1,19 @@ { "name": "@rosen-ui/utils", "version": "0.4.1", + "private": true, + "description": "This is a private package utilized within Rosen UI apps", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { "@types/lodash-es": "^4.17.9", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/packages/utils/src/decimals.ts b/packages/utils/src/decimals.ts index 962f3761..910cd868 100644 --- a/packages/utils/src/decimals.ts +++ b/packages/utils/src/decimals.ts @@ -17,7 +17,7 @@ import { trimEnd } from 'lodash-es'; export const getDecimalString = ( value: string, decimals: number, - truncateLength?: number + truncateLength?: number, ) => { if (!decimals) return value; @@ -30,7 +30,7 @@ export const getDecimalString = ( return preciseResult.replace( /\.(.*)/, - (_, floatingPart: string) => `.${floatingPart.slice(0, truncateLength)}` + (_, floatingPart: string) => `.${floatingPart.slice(0, truncateLength)}`, ); }; @@ -59,7 +59,7 @@ export const getNonDecimalString = (value: string, decimals: number) => { return `${value.slice(0, decimalPointIndex)}${value.slice( decimalPointIndex + 1, - decimalPointIndex + 1 + decimals + decimalPointIndex + 1 + decimals, )}${ fractionalPartLength <= decimals ? '0'.repeat(decimals - fractionalPartLength) @@ -101,13 +101,13 @@ export const getNumberOfDecimals = (inputNumber: number) => { */ export const validateDecimalPlaces = ( inputNumber: number, - allowedDecimals: number + allowedDecimals: number, ) => { const currentDecimals = getNumberOfDecimals(inputNumber); if (currentDecimals > allowedDecimals) { throw new Error( - `Invalid input: The value has ${currentDecimals} decimal places, but only ${allowedDecimals} are allowed. Please enter a value with ${allowedDecimals} decimal places.` + `Invalid input: The value has ${currentDecimals} decimal places, but only ${allowedDecimals} are allowed. Please enter a value with ${allowedDecimals} decimal places.`, ); } }; diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index cfaa5344..c843ae70 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "./" diff --git a/packages/tsconfig.novite.json b/tsconfig.novite.json similarity index 100% rename from packages/tsconfig.novite.json rename to tsconfig.novite.json diff --git a/wallets/eternl-wallet/.eslintignore b/wallets/eternl-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/eternl-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/eternl-wallet/.eslintrc.json b/wallets/eternl-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/eternl-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/eternl-wallet/README.md b/wallets/eternl-wallet/README.md deleted file mode 100644 index 2fc9ffb3..00000000 --- a/wallets/eternl-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/eternl-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/eternl-wallet/package.json b/wallets/eternl-wallet/package.json index 559b12e6..4fa9ea2e 100644 --- a/wallets/eternl-wallet/package.json +++ b/wallets/eternl-wallet/package.json @@ -2,21 +2,17 @@ "name": "@rosen-ui/eternl-wallet", "version": "1.0.1", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/eternl-wallet/src/getBalance.ts b/wallets/eternl-wallet/src/getBalance.ts index dd85e99b..a216cb4d 100644 --- a/wallets/eternl-wallet/src/getBalance.ts +++ b/wallets/eternl-wallet/src/getBalance.ts @@ -16,7 +16,7 @@ export const getBalanceCreator = const amount = balances.find( (asset) => asset.policyId === token.policyId && - (asset.nameHex === hexToCbor(token.assetName) || !token.policyId) + (asset.nameHex === hexToCbor(token.assetName) || !token.policyId), ); if (!amount) return 0n; @@ -26,7 +26,7 @@ export const getBalanceCreator = const wrappedAmount = tokenMap.wrapAmount( token[tokenMap.getIdKey(NETWORKS.CARDANO)], amount.quantity, - NETWORKS.CARDANO + NETWORKS.CARDANO, ).amount; return wrappedAmount; diff --git a/wallets/eternl-wallet/src/getEternlWallet.ts b/wallets/eternl-wallet/src/getEternlWallet.ts index ecaa7142..247186e8 100644 --- a/wallets/eternl-wallet/src/getEternlWallet.ts +++ b/wallets/eternl-wallet/src/getEternlWallet.ts @@ -13,6 +13,6 @@ export const getEternlWallet = () => { ...eternlWalletInfo, connectWallet, }, - () => cardano.eternl + () => cardano.eternl, ); }; diff --git a/wallets/eternl-wallet/src/transfer.ts b/wallets/eternl-wallet/src/transfer.ts index 0fbe1324..a4ed8b27 100644 --- a/wallets/eternl-wallet/src/transfer.ts +++ b/wallets/eternl-wallet/src/transfer.ts @@ -13,7 +13,7 @@ export const transferCreator = toAddress: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ): Promise => { const wallet = await getEternlWallet().getApi().enable(); const policyIdHex = token.policyId; @@ -25,7 +25,7 @@ export const transferCreator = toAddress, changeAddressHex, networkFee.toString(), - bridgeFee.toString() + bridgeFee.toString(), ); const walletUtxos = await wallet.getUtxos(); @@ -37,12 +37,12 @@ export const transferCreator = policyIdHex, assetNameHex, amount, - auxiliaryDataHex + auxiliaryDataHex, ); const signedTxHex = await config.setTxWitnessSet( unsignedTxHex, - await wallet.signTx(unsignedTxHex, false) + await wallet.signTx(unsignedTxHex, false), ); const result = await wallet.submitTx(signedTxHex); diff --git a/wallets/eternl-wallet/tsconfig.json b/wallets/eternl-wallet/tsconfig.json index 66903bfc..96ece334 100644 --- a/wallets/eternl-wallet/tsconfig.json +++ b/wallets/eternl-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "jsx": "react-jsx", "outDir": "dist", diff --git a/wallets/flint-wallet/.eslintignore b/wallets/flint-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/flint-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/flint-wallet/.eslintrc.json b/wallets/flint-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/flint-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/flint-wallet/README.md b/wallets/flint-wallet/README.md deleted file mode 100644 index cb9bb976..00000000 --- a/wallets/flint-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/flint-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/flint-wallet/package.json b/wallets/flint-wallet/package.json index 0cae1df8..7029ad42 100644 --- a/wallets/flint-wallet/package.json +++ b/wallets/flint-wallet/package.json @@ -2,21 +2,17 @@ "name": "@rosen-ui/flint-wallet", "version": "1.0.1", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/flint-wallet/src/getBalance.ts b/wallets/flint-wallet/src/getBalance.ts index 63f05992..5177cc91 100644 --- a/wallets/flint-wallet/src/getBalance.ts +++ b/wallets/flint-wallet/src/getBalance.ts @@ -16,7 +16,7 @@ export const getBalanceCreator = const amount = balances.find( (asset) => asset.policyId === token.policyId && - (asset.nameHex === hexToCbor(token.assetName) || !token.policyId) + (asset.nameHex === hexToCbor(token.assetName) || !token.policyId), ); if (!amount) return 0n; @@ -26,7 +26,7 @@ export const getBalanceCreator = const wrappedAmount = tokenMap.wrapAmount( token[tokenMap.getIdKey(NETWORKS.CARDANO)], amount.quantity, - NETWORKS.CARDANO + NETWORKS.CARDANO, ).amount; return wrappedAmount; diff --git a/wallets/flint-wallet/src/getFlintWallet.ts b/wallets/flint-wallet/src/getFlintWallet.ts index d3598222..a9a9b25e 100644 --- a/wallets/flint-wallet/src/getFlintWallet.ts +++ b/wallets/flint-wallet/src/getFlintWallet.ts @@ -13,5 +13,5 @@ export const getFlintWallet = () => ...flintWalletInfo, connectWallet, }, - () => cardano.flint + () => cardano.flint, ); diff --git a/wallets/flint-wallet/src/transfer.ts b/wallets/flint-wallet/src/transfer.ts index c1b876fe..45142030 100644 --- a/wallets/flint-wallet/src/transfer.ts +++ b/wallets/flint-wallet/src/transfer.ts @@ -13,7 +13,7 @@ export const transferCreator = toAddress: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ): Promise => { const wallet = await getFlintWallet().getApi().enable(); const policyIdHex = token.policyId; @@ -25,7 +25,7 @@ export const transferCreator = toAddress, changeAddressHex, networkFee.toString(), - bridgeFee.toString() + bridgeFee.toString(), ); const walletUtxos = await wallet.getUtxos(); @@ -37,12 +37,12 @@ export const transferCreator = policyIdHex, assetNameHex, amount, - auxiliaryDataHex + auxiliaryDataHex, ); const signedTxHex = await config.setTxWitnessSet( unsignedTxHex, - await wallet.signTx(unsignedTxHex, false) + await wallet.signTx(unsignedTxHex, false), ); const result = await wallet.submitTx(signedTxHex); diff --git a/wallets/flint-wallet/tsconfig.json b/wallets/flint-wallet/tsconfig.json index 66903bfc..96ece334 100644 --- a/wallets/flint-wallet/tsconfig.json +++ b/wallets/flint-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "jsx": "react-jsx", "outDir": "dist", diff --git a/wallets/lace-wallet/.eslintignore b/wallets/lace-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/lace-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/lace-wallet/.eslintrc.json b/wallets/lace-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/lace-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/lace-wallet/README.md b/wallets/lace-wallet/README.md deleted file mode 100644 index d5b7b5a9..00000000 --- a/wallets/lace-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/lace-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/lace-wallet/package.json b/wallets/lace-wallet/package.json index 3980623e..179605dc 100644 --- a/wallets/lace-wallet/package.json +++ b/wallets/lace-wallet/package.json @@ -2,21 +2,17 @@ "name": "@rosen-ui/lace-wallet", "version": "1.0.1", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/lace-wallet/src/getBalance.ts b/wallets/lace-wallet/src/getBalance.ts index 0a33b5c2..78e03745 100644 --- a/wallets/lace-wallet/src/getBalance.ts +++ b/wallets/lace-wallet/src/getBalance.ts @@ -16,7 +16,7 @@ export const getBalanceCreator = const amount = balances.find( (asset) => asset.policyId === token.policyId && - (asset.nameHex === hexToCbor(token.assetName) || !token.policyId) + (asset.nameHex === hexToCbor(token.assetName) || !token.policyId), ); if (!amount) return 0n; @@ -26,7 +26,7 @@ export const getBalanceCreator = const wrappedAmount = tokenMap.wrapAmount( token[tokenMap.getIdKey(NETWORKS.CARDANO)], amount.quantity, - NETWORKS.CARDANO + NETWORKS.CARDANO, ).amount; return wrappedAmount; diff --git a/wallets/lace-wallet/src/getLaceWallet.ts b/wallets/lace-wallet/src/getLaceWallet.ts index e8340faa..f280b619 100644 --- a/wallets/lace-wallet/src/getLaceWallet.ts +++ b/wallets/lace-wallet/src/getLaceWallet.ts @@ -13,6 +13,6 @@ export const getLaceWallet = () => { ...laceWalletInfo, connectWallet, }, - () => cardano.lace + () => cardano.lace, ); }; diff --git a/wallets/lace-wallet/src/transfer.ts b/wallets/lace-wallet/src/transfer.ts index 5d06d42e..3965ebbc 100644 --- a/wallets/lace-wallet/src/transfer.ts +++ b/wallets/lace-wallet/src/transfer.ts @@ -13,7 +13,7 @@ export const transferCreator = toAddress: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ): Promise => { const wallet = await getLaceWallet().getApi().enable(); const policyIdHex = token.policyId; @@ -25,7 +25,7 @@ export const transferCreator = toAddress, changeAddressHex, networkFee.toString(), - bridgeFee.toString() + bridgeFee.toString(), ); const walletUtxos = await wallet.getUtxos(); @@ -37,12 +37,12 @@ export const transferCreator = policyIdHex, assetNameHex, amount, - auxiliaryDataHex + auxiliaryDataHex, ); const signedTxHex = await config.setTxWitnessSet( unsignedTxHex, - await wallet.signTx(unsignedTxHex, false) + await wallet.signTx(unsignedTxHex, false), ); const result = await wallet.submitTx(signedTxHex); diff --git a/wallets/lace-wallet/tsconfig.json b/wallets/lace-wallet/tsconfig.json index 66903bfc..96ece334 100644 --- a/wallets/lace-wallet/tsconfig.json +++ b/wallets/lace-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "jsx": "react-jsx", "outDir": "dist", diff --git a/wallets/metamask-wallet/.eslintignore b/wallets/metamask-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/metamask-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/metamask-wallet/.eslintrc.json b/wallets/metamask-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/metamask-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/metamask-wallet/README.md b/wallets/metamask-wallet/README.md deleted file mode 100644 index 592b1a4f..00000000 --- a/wallets/metamask-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/metamask-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/metamask-wallet/package.json b/wallets/metamask-wallet/package.json index 1144b1c6..4484a2b2 100644 --- a/wallets/metamask-wallet/package.json +++ b/wallets/metamask-wallet/package.json @@ -2,21 +2,17 @@ "name": "@rosen-ui/metamask-wallet", "version": "0.1.2", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/metamask-wallet/src/getBalance.ts b/wallets/metamask-wallet/src/getBalance.ts index 08d098a6..f5688aa3 100644 --- a/wallets/metamask-wallet/src/getBalance.ts +++ b/wallets/metamask-wallet/src/getBalance.ts @@ -37,7 +37,7 @@ export const getBalanceCreator = const contract = new Contract( tokenId, tokenABI, - await browserProvider.getSigner() + await browserProvider.getSigner(), ); amount = await contract.balanceOf(accounts[0]); @@ -48,7 +48,7 @@ export const getBalanceCreator = const wrappedAmount = tokenMap.wrapAmount( token[tokenMap.getIdKey(NETWORKS.ETHEREUM)], BigInt(amount), - NETWORKS.ETHEREUM + NETWORKS.ETHEREUM, ).amount; return wrappedAmount; diff --git a/wallets/metamask-wallet/src/getMetaMaskWallet.ts b/wallets/metamask-wallet/src/getMetaMaskWallet.ts index f2e1b52c..cd1339f7 100644 --- a/wallets/metamask-wallet/src/getMetaMaskWallet.ts +++ b/wallets/metamask-wallet/src/getMetaMaskWallet.ts @@ -21,6 +21,6 @@ export const getMetaMaskWallet = () => { ...metaMaskWalletInfo, connectWallet, }, - () => metaMaskSDK + () => metaMaskSDK, ); }; diff --git a/wallets/metamask-wallet/src/isMetaMaskAvailable.ts b/wallets/metamask-wallet/src/isMetaMaskAvailable.ts index 8786623e..efbc8924 100644 --- a/wallets/metamask-wallet/src/isMetaMaskAvailable.ts +++ b/wallets/metamask-wallet/src/isMetaMaskAvailable.ts @@ -4,7 +4,7 @@ declare global { let ethereum: { isMetaMask: boolean; - _metamask: any; + _metamask: unknown; }; } diff --git a/wallets/metamask-wallet/src/transfer.ts b/wallets/metamask-wallet/src/transfer.ts index 6730317d..886bbae6 100644 --- a/wallets/metamask-wallet/src/transfer.ts +++ b/wallets/metamask-wallet/src/transfer.ts @@ -1,9 +1,9 @@ import { RosenChainToken } from '@rosen-bridge/tokens'; import { WalletCreatorConfig } from '@rosen-network/ethereum'; +import { NETWORKS } from '@rosen-ui/constants'; import { Network, RosenAmountValue } from '@rosen-ui/types'; import { getMetaMaskWallet } from './getMetaMaskWallet'; -import { NETWORKS } from '@rosen-ui/constants'; export const transferCreator = (config: WalletCreatorConfig) => @@ -14,7 +14,7 @@ export const transferCreator = toAddress: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ): Promise => { const provider = getMetaMaskWallet().getApi().getProvider(); @@ -33,7 +33,7 @@ export const transferCreator = toChain, toAddress, networkFee.toString(), - bridgeFee.toString() + bridgeFee.toString(), ); const tokenMap = await config.getTokenMap(); @@ -45,7 +45,7 @@ export const transferCreator = accounts[0], amount, rosenData, - token + token, ); const result = await provider.request({ method: 'eth_sendTransaction', diff --git a/wallets/metamask-wallet/tsconfig.json b/wallets/metamask-wallet/tsconfig.json index 66903bfc..96ece334 100644 --- a/wallets/metamask-wallet/tsconfig.json +++ b/wallets/metamask-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "jsx": "react-jsx", "outDir": "dist", diff --git a/wallets/nami-wallet/.eslintignore b/wallets/nami-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/nami-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/nami-wallet/.eslintrc.json b/wallets/nami-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/nami-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/nami-wallet/README.md b/wallets/nami-wallet/README.md deleted file mode 100644 index aee21235..00000000 --- a/wallets/nami-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/nami-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/nami-wallet/package.json b/wallets/nami-wallet/package.json index 813786dc..c617800f 100644 --- a/wallets/nami-wallet/package.json +++ b/wallets/nami-wallet/package.json @@ -2,21 +2,17 @@ "name": "@rosen-ui/nami-wallet", "version": "1.0.1", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/nami-wallet/src/getBalance.ts b/wallets/nami-wallet/src/getBalance.ts index 100e9178..b66d63d7 100644 --- a/wallets/nami-wallet/src/getBalance.ts +++ b/wallets/nami-wallet/src/getBalance.ts @@ -1,8 +1,8 @@ import { RosenChainToken } from '@rosen-bridge/tokens'; import { WalletCreatorConfig } from '@rosen-network/cardano'; -import { hexToCbor } from '@rosen-ui/utils'; import { NETWORKS } from '@rosen-ui/constants'; import { RosenAmountValue } from '@rosen-ui/types'; +import { hexToCbor } from '@rosen-ui/utils'; import { getNamiWallet } from './getNamiWallet'; @@ -16,7 +16,7 @@ export const getBalanceCreator = const amount = balances.find( (asset) => asset.policyId === token.policyId && - (asset.nameHex === hexToCbor(token.assetName) || !token.policyId) + (asset.nameHex === hexToCbor(token.assetName) || !token.policyId), ); if (!amount) return 0n; @@ -26,7 +26,7 @@ export const getBalanceCreator = const wrappedAmount = tokenMap.wrapAmount( token[tokenMap.getIdKey(NETWORKS.CARDANO)], amount.quantity, - NETWORKS.CARDANO + NETWORKS.CARDANO, ).amount; return wrappedAmount; diff --git a/wallets/nami-wallet/src/getNamiWallet.ts b/wallets/nami-wallet/src/getNamiWallet.ts index 5ac5f6ae..a139b59c 100644 --- a/wallets/nami-wallet/src/getNamiWallet.ts +++ b/wallets/nami-wallet/src/getNamiWallet.ts @@ -13,6 +13,6 @@ export const getNamiWallet = () => { ...namiWalletInfo, connectWallet, }, - () => cardano.nami + () => cardano.nami, ); }; diff --git a/wallets/nami-wallet/src/transfer.ts b/wallets/nami-wallet/src/transfer.ts index b3657623..7bf4bae1 100644 --- a/wallets/nami-wallet/src/transfer.ts +++ b/wallets/nami-wallet/src/transfer.ts @@ -13,7 +13,7 @@ export const transferCreator = toAddress: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ): Promise => { const wallet = await getNamiWallet().getApi().enable(); const policyIdHex = token.policyId; @@ -25,7 +25,7 @@ export const transferCreator = toAddress, changeAddressHex, networkFee.toString(), - bridgeFee.toString() + bridgeFee.toString(), ); const walletUtxos = await wallet.getUtxos(); @@ -37,12 +37,12 @@ export const transferCreator = policyIdHex, assetNameHex, amount, - auxiliaryDataHex + auxiliaryDataHex, ); const signedTxHex = await config.setTxWitnessSet( unsignedTxHex, - await wallet.signTx(unsignedTxHex, false) + await wallet.signTx(unsignedTxHex, false), ); const result = await wallet.submitTx(signedTxHex); diff --git a/wallets/nami-wallet/tsconfig.json b/wallets/nami-wallet/tsconfig.json index 66903bfc..96ece334 100644 --- a/wallets/nami-wallet/tsconfig.json +++ b/wallets/nami-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "jsx": "react-jsx", "outDir": "dist", diff --git a/wallets/nautilus-wallet/.eslintignore b/wallets/nautilus-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/nautilus-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/nautilus-wallet/.eslintrc.json b/wallets/nautilus-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/nautilus-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/nautilus-wallet/README.md b/wallets/nautilus-wallet/README.md deleted file mode 100644 index fb022265..00000000 --- a/wallets/nautilus-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/nautilus-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/nautilus-wallet/package.json b/wallets/nautilus-wallet/package.json index 96349091..89774ee8 100644 --- a/wallets/nautilus-wallet/package.json +++ b/wallets/nautilus-wallet/package.json @@ -2,11 +2,12 @@ "name": "@rosen-ui/nautilus-wallet", "version": "1.0.1", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" @@ -14,11 +15,6 @@ "devDependencies": { "@rosen-bridge/tokens": "^1.2.1", "@rosen-ui/utils": "^0.4.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/nautilus-wallet/src/getBalance.ts b/wallets/nautilus-wallet/src/getBalance.ts index e796ab96..8d0b1c31 100644 --- a/wallets/nautilus-wallet/src/getBalance.ts +++ b/wallets/nautilus-wallet/src/getBalance.ts @@ -18,7 +18,7 @@ export const getBalanceCreator = * uppercase ERG as tokenId for the erg native token */ const balance = await context.get_balance( - tokenId === 'erg' ? 'ERG' : tokenId + tokenId === 'erg' ? 'ERG' : tokenId, ); const amount = BigInt(balance); @@ -28,7 +28,7 @@ export const getBalanceCreator = const wrappedAmount = tokenMap.wrapAmount( tokenId, amount, - NETWORKS.ERGO + NETWORKS.ERGO, ).amount; return wrappedAmount; diff --git a/wallets/nautilus-wallet/src/getNautilusWallet.ts b/wallets/nautilus-wallet/src/getNautilusWallet.ts index c238d6f8..e8de3192 100644 --- a/wallets/nautilus-wallet/src/getNautilusWallet.ts +++ b/wallets/nautilus-wallet/src/getNautilusWallet.ts @@ -14,6 +14,6 @@ export const getNautilusWallet = () => { ...nautilusWalletInfo, connectWallet, }, - () => ergoConnector.nautilus + () => ergoConnector.nautilus, ); }; diff --git a/wallets/nautilus-wallet/src/nautilusWalletInfo.ts b/wallets/nautilus-wallet/src/nautilusWalletInfo.ts index 9b2c4600..cc561be7 100644 --- a/wallets/nautilus-wallet/src/nautilusWalletInfo.ts +++ b/wallets/nautilus-wallet/src/nautilusWalletInfo.ts @@ -1,5 +1,5 @@ -import { WalletInfo } from '@rosen-ui/wallet-api'; import { NautilusIcon } from '@rosen-bridge/icons'; +import { WalletInfo } from '@rosen-ui/wallet-api'; export const nautilusWalletInfo: WalletInfo = { icon: NautilusIcon, diff --git a/wallets/nautilus-wallet/src/transfer.ts b/wallets/nautilus-wallet/src/transfer.ts index cdb10084..b9a7cd6b 100644 --- a/wallets/nautilus-wallet/src/transfer.ts +++ b/wallets/nautilus-wallet/src/transfer.ts @@ -13,10 +13,9 @@ export const transferCreator = toAddress: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ): Promise => { const wallet = await getNautilusWallet().getApi().getContext(); - const tokenId = token.tokenId; const changeAddress = await wallet.get_change_address(); const walletUtxos = await wallet.get_utxos(); @@ -31,7 +30,7 @@ export const transferCreator = amount, bridgeFee.toString(), networkFee.toString(), - token + token, ); const signedTx = await wallet.sign_tx(unsignedTx); const result = await wallet.submit_tx(signedTx); diff --git a/wallets/nautilus-wallet/tsconfig.json b/wallets/nautilus-wallet/tsconfig.json index 87845480..d20207f5 100644 --- a/wallets/nautilus-wallet/tsconfig.json +++ b/wallets/nautilus-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "declaration": true, "jsx": "react-jsx", diff --git a/wallets/vespr-wallet/.eslintignore b/wallets/vespr-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/vespr-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/vespr-wallet/.eslintrc.json b/wallets/vespr-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/vespr-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/vespr-wallet/README.md b/wallets/vespr-wallet/README.md deleted file mode 100644 index dcdcff70..00000000 --- a/wallets/vespr-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/vespr-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/vespr-wallet/package.json b/wallets/vespr-wallet/package.json index 2f5ecd5c..ce39774a 100644 --- a/wallets/vespr-wallet/package.json +++ b/wallets/vespr-wallet/package.json @@ -2,22 +2,18 @@ "name": "@rosen-ui/vespr-wallet", "version": "0.0.9", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { "@rosen-bridge/tokens": "^1.2.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/vespr-wallet/src/index.ts b/wallets/vespr-wallet/src/index.ts index 058bb419..93cab2af 100644 --- a/wallets/vespr-wallet/src/index.ts +++ b/wallets/vespr-wallet/src/index.ts @@ -1,5 +1,4 @@ import { VesprIcon } from '@rosen-bridge/icons'; - import { WalletInfo, createRawWallet } from '@rosen-ui/wallet-api'; import { connectWallet } from './connectWallet'; @@ -21,7 +20,7 @@ const getVesprWallet = () => ...walletInfo, connectWallet, }, - () => cardano.vespr + () => cardano.vespr, ); export const isVesprAvailable = () => diff --git a/wallets/vespr-wallet/tsconfig.json b/wallets/vespr-wallet/tsconfig.json index 66903bfc..96ece334 100644 --- a/wallets/vespr-wallet/tsconfig.json +++ b/wallets/vespr-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "jsx": "react-jsx", "outDir": "dist", diff --git a/wallets/wallet-api/.eslintignore b/wallets/wallet-api/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/wallet-api/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/wallet-api/.eslintrc.json b/wallets/wallet-api/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/wallet-api/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/wallet-api/README.md b/wallets/wallet-api/README.md deleted file mode 100644 index 760d10e8..00000000 --- a/wallets/wallet-api/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/wallet-api - -This is a package used inside rosen bridge-ui diff --git a/wallets/wallet-api/package.json b/wallets/wallet-api/package.json index c7eddb52..5b880fb4 100644 --- a/wallets/wallet-api/package.json +++ b/wallets/wallet-api/package.json @@ -1,11 +1,13 @@ { "name": "@rosen-ui/wallet-api", "version": "1.0.3", + "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit", @@ -13,11 +15,6 @@ }, "devDependencies": { "@rosen-bridge/tokens": "^1.2.1", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/wallet-api/src/cardano/assetEntry.ts b/wallets/wallet-api/src/cardano/assetEntry.ts index 1edb75cb..3ac3b13e 100644 --- a/wallets/wallet-api/src/cardano/assetEntry.ts +++ b/wallets/wallet-api/src/cardano/assetEntry.ts @@ -1,5 +1,4 @@ import { AdaAssetName, AdaAssetNameHex, AdaPolicyId } from '../constants'; - import { AssetEntry, Lovelace } from '../types'; export function AdaEntry(quantity: Lovelace): AssetEntry { diff --git a/wallets/wallet-api/src/cardano/serlib.ts b/wallets/wallet-api/src/cardano/serlib.ts index 42757055..2d5ea213 100644 --- a/wallets/wallet-api/src/cardano/serlib.ts +++ b/wallets/wallet-api/src/cardano/serlib.ts @@ -1,10 +1,9 @@ import * as wasm from '@emurgo/cardano-serialization-lib-nodejs'; - import { encodeHex, decodeHex } from '@rosen-ui/utils'; -import { HexString, Value, PolicyId, AssetEntry, TxOut } from '../types'; -import { AdaEntry } from './assetEntry'; +import { HexString, Value, PolicyId, AssetEntry, TxOut } from '../types'; import { CardanoWasm } from '../types'; +import { AdaEntry } from './assetEntry'; /** * handles the decoding of the wasm values returned by diff --git a/wallets/wallet-api/src/ergo/index.ts b/wallets/wallet-api/src/ergo/index.ts index d993eeec..9372cb44 100644 --- a/wallets/wallet-api/src/ergo/index.ts +++ b/wallets/wallet-api/src/ergo/index.ts @@ -1,4 +1,5 @@ import type { RosenChainToken } from '@rosen-bridge/tokens'; + import { Address, AssetName } from '../types'; /** diff --git a/wallets/wallet-api/src/index.ts b/wallets/wallet-api/src/index.ts index 6eff4d25..576ba0e7 100644 --- a/wallets/wallet-api/src/index.ts +++ b/wallets/wallet-api/src/index.ts @@ -2,7 +2,7 @@ import { RawWallet, WalletBase } from './types'; export const createRawWallet = ( wallet: WalletBase, - getApi: () => T + getApi: () => T, ): RawWallet => { return { ...wallet, diff --git a/wallets/wallet-api/src/types/cardano/txOut.ts b/wallets/wallet-api/src/types/cardano/txOut.ts index 69f6780c..2f0645c2 100644 --- a/wallets/wallet-api/src/types/cardano/txOut.ts +++ b/wallets/wallet-api/src/types/cardano/txOut.ts @@ -1,6 +1,6 @@ import { HexString, Hash32, TxHash } from '../common'; -import { Value } from './value'; import { Addr } from './address'; +import { Value } from './value'; export type TxOut = { txHash: TxHash; diff --git a/wallets/wallet-api/src/types/cip-wallet-api.ts b/wallets/wallet-api/src/types/cip-wallet-api.ts index b27fbcd3..e668412d 100644 --- a/wallets/wallet-api/src/types/cip-wallet-api.ts +++ b/wallets/wallet-api/src/types/cip-wallet-api.ts @@ -12,7 +12,7 @@ export type RawUnsignedTx = HexString; export interface CipWalletApi { getUtxos( amount?: EncodedAmount, - paginate?: Paging + paginate?: Paging, ): Promise; getCollateral(params?: { amount?: EncodedAmount; diff --git a/wallets/wallet-api/src/types/eip-wallet-api.ts b/wallets/wallet-api/src/types/eip-wallet-api.ts index c91e5690..4fb6c9b6 100644 --- a/wallets/wallet-api/src/types/eip-wallet-api.ts +++ b/wallets/wallet-api/src/types/eip-wallet-api.ts @@ -45,7 +45,7 @@ export interface EipWalletApi { get_utxos: ( amount?: NErg, token_id?: TokenId, - paginate?: Paging + paginate?: Paging, ) => Promise; get_balance: (token_id: TokenId) => Promise; diff --git a/wallets/wallet-api/src/types/ergo/ergoBox.ts b/wallets/wallet-api/src/types/ergo/ergoBox.ts index 6da98e16..ee64b5ce 100644 --- a/wallets/wallet-api/src/types/ergo/ergoBox.ts +++ b/wallets/wallet-api/src/types/ergo/ergoBox.ts @@ -1,8 +1,7 @@ import { BoxId, TxId } from '../common'; - -import { TokenAmountProxy } from './tokenAmount'; -import { Registers } from './registers'; import { ErgoTree } from './ergoTree'; +import { Registers } from './registers'; +import { TokenAmountProxy } from './tokenAmount'; export type ErgoBoxProxy = { readonly boxId: BoxId; diff --git a/wallets/wallet-api/src/types/ergo/ergoTx.ts b/wallets/wallet-api/src/types/ergo/ergoTx.ts index 5720c1e2..5249e4ad 100644 --- a/wallets/wallet-api/src/types/ergo/ergoTx.ts +++ b/wallets/wallet-api/src/types/ergo/ergoTx.ts @@ -1,7 +1,5 @@ import { TxId } from '../common'; - import { ErgoBoxProxy } from './ergoBox'; - import { Input, DataInput } from './input'; export type ErgoTxProxy = { diff --git a/wallets/wallet-api/src/types/ergo/input.ts b/wallets/wallet-api/src/types/ergo/input.ts index ab9936a4..51a4924f 100644 --- a/wallets/wallet-api/src/types/ergo/input.ts +++ b/wallets/wallet-api/src/types/ergo/input.ts @@ -1,5 +1,4 @@ import { BoxId } from '../common'; - import { ProverResult } from './prover'; export type Input = { diff --git a/wallets/wallet-api/src/types/index.ts b/wallets/wallet-api/src/types/index.ts index 5375e5c8..1c9b29b2 100644 --- a/wallets/wallet-api/src/types/index.ts +++ b/wallets/wallet-api/src/types/index.ts @@ -1,4 +1,5 @@ import { ReactNode, FC } from 'react'; + import { RosenChainToken } from '@rosen-bridge/tokens'; import { Network, RosenAmountValue } from '@rosen-ui/types'; @@ -35,7 +36,7 @@ export interface Wallet extends WalletBase { address: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ) => Promise; readonly getAddress: () => Promise; readonly isAvailable: () => boolean; diff --git a/wallets/wallet-api/tsconfig.json b/wallets/wallet-api/tsconfig.json index 732a5212..e4e4faf3 100644 --- a/wallets/wallet-api/tsconfig.json +++ b/wallets/wallet-api/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "outDir": "dist", "rootDir": "." diff --git a/wallets/xdefi-wallet/.eslintignore b/wallets/xdefi-wallet/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/wallets/xdefi-wallet/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/wallets/xdefi-wallet/.eslintrc.json b/wallets/xdefi-wallet/.eslintrc.json deleted file mode 100644 index 6ee72696..00000000 --- a/wallets/xdefi-wallet/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { "browser": true, "es2020": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint"] -} diff --git a/wallets/xdefi-wallet/README.md b/wallets/xdefi-wallet/README.md deleted file mode 100644 index 9375a844..00000000 --- a/wallets/xdefi-wallet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @rosen-ui/xdefi-wallet - -This is a private package used inside rosen bridge-ui diff --git a/wallets/xdefi-wallet/package.json b/wallets/xdefi-wallet/package.json index 2ce75c86..385690e3 100644 --- a/wallets/xdefi-wallet/package.json +++ b/wallets/xdefi-wallet/package.json @@ -2,21 +2,17 @@ "name": "@rosen-ui/xdefi-wallet", "version": "1.0.2", "private": true, + "description": "This is a private package utilized within Rosen Bridge UI app", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "type": "module", "scripts": { - "prettify": "prettier --write . --ignore-path .gitignore", + "prettify": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --fix . && npm run prettify", "build": "tsc --build", "type-check": "tsc --noEmit" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.2", "typescript": "^5.0.0" }, "dependencies": { diff --git a/wallets/xdefi-wallet/src/getAddressCreator.ts b/wallets/xdefi-wallet/src/getAddressCreator.ts index 34ac7e4f..4ba9567e 100644 --- a/wallets/xdefi-wallet/src/getAddressCreator.ts +++ b/wallets/xdefi-wallet/src/getAddressCreator.ts @@ -1,32 +1,30 @@ -import { WalletCreatorConfig } from '@rosen-network/bitcoin'; import { AddressPurpose, BitcoinNetworkType } from 'sats-connect'; import { getXdefiWallet } from './getXdefiWallet'; -export const getAddressCreator = - (config: WalletCreatorConfig) => (): Promise => { - return new Promise((resolve, reject) => { - getXdefiWallet() - .getApi() - .getAddress({ - payload: { - message: 'Allow Xdefi to expose wallet address', - network: { - type: BitcoinNetworkType.Mainnet, - }, - purposes: [AddressPurpose.Payment], +export const getAddressCreator = () => (): Promise => { + return new Promise((resolve, reject) => { + getXdefiWallet() + .getApi() + .getAddress({ + payload: { + message: 'Allow Xdefi to expose wallet address', + network: { + type: BitcoinNetworkType.Mainnet, }, - onFinish: ({ addresses }) => { - const segwitPaymentAddresses = addresses.filter( - (address) => address.purpose === AddressPurpose.Payment - ); - if (segwitPaymentAddresses.length > 0) { - resolve(segwitPaymentAddresses[0].address); - } else reject(); - }, - onCancel: () => { - reject(); - }, - }); - }); - }; + purposes: [AddressPurpose.Payment], + }, + onFinish: ({ addresses }) => { + const segwitPaymentAddresses = addresses.filter( + (address) => address.purpose === AddressPurpose.Payment, + ); + if (segwitPaymentAddresses.length > 0) { + resolve(segwitPaymentAddresses[0].address); + } else reject(); + }, + onCancel: () => { + reject(); + }, + }); + }); +}; diff --git a/wallets/xdefi-wallet/src/getBalance.ts b/wallets/xdefi-wallet/src/getBalance.ts index 0b3723a7..727b188a 100644 --- a/wallets/xdefi-wallet/src/getBalance.ts +++ b/wallets/xdefi-wallet/src/getBalance.ts @@ -1,8 +1,8 @@ +import { RosenChainToken } from '@rosen-bridge/tokens'; import { WalletCreatorConfig } from '@rosen-network/bitcoin'; -import { AddressPurpose, BitcoinNetworkType } from 'sats-connect'; import { NETWORKS } from '@rosen-ui/constants'; -import { RosenChainToken } from '@rosen-bridge/tokens'; import { RosenAmountValue } from '@rosen-ui/types'; +import { AddressPurpose, BitcoinNetworkType } from 'sats-connect'; import { getXdefiWallet } from './getXdefiWallet'; @@ -22,7 +22,7 @@ export const getBalanceCreator = }, onFinish: ({ addresses }) => { const segwitPaymentAddresses = addresses.filter( - (address) => address.purpose === AddressPurpose.Payment + (address) => address.purpose === AddressPurpose.Payment, ); if (segwitPaymentAddresses.length > 0) { const address = segwitPaymentAddresses[0].address; @@ -33,10 +33,10 @@ export const getBalanceCreator = const wrappedAmount = tokenMap.wrapAmount( token[tokenMap.getIdKey(NETWORKS.BITCOIN)], balance, - NETWORKS.BITCOIN + NETWORKS.BITCOIN, ).amount; resolve(wrappedAmount); - }) + }), ) .catch((e) => reject(e)); } else reject(); diff --git a/wallets/xdefi-wallet/src/getXdefiWallet.ts b/wallets/xdefi-wallet/src/getXdefiWallet.ts index 062bab57..6de02e35 100644 --- a/wallets/xdefi-wallet/src/getXdefiWallet.ts +++ b/wallets/xdefi-wallet/src/getXdefiWallet.ts @@ -17,6 +17,6 @@ export const getXdefiWallet = () => { () => ({ getAddress, signTransaction, - }) + }), ); }; diff --git a/wallets/xdefi-wallet/src/transfer.ts b/wallets/xdefi-wallet/src/transfer.ts index 5fd56211..26393247 100644 --- a/wallets/xdefi-wallet/src/transfer.ts +++ b/wallets/xdefi-wallet/src/transfer.ts @@ -3,8 +3,8 @@ import { SigHash, WalletCreatorConfig, } from '@rosen-network/bitcoin/dist/src/types'; -import { AddressPurpose, BitcoinNetworkType } from 'sats-connect'; import { Network, RosenAmountValue } from '@rosen-ui/types'; +import { AddressPurpose, BitcoinNetworkType } from 'sats-connect'; import { getXdefiWallet } from './getXdefiWallet'; @@ -17,7 +17,7 @@ export const transferCreator = toAddress: string, bridgeFee: RosenAmountValue, networkFee: RosenAmountValue, - lockAddress: string + lockAddress: string, ): Promise => { const userAddress: string = await new Promise((resolve, reject) => { getXdefiWallet() @@ -32,7 +32,7 @@ export const transferCreator = }, onFinish: ({ addresses }) => { const segwitPaymentAddresses = addresses.filter( - (address) => address.purpose === AddressPurpose.Payment + (address) => address.purpose === AddressPurpose.Payment, ); if (segwitPaymentAddresses.length > 0) resolve(segwitPaymentAddresses[0].address); @@ -48,7 +48,7 @@ export const transferCreator = toChain, toAddress, networkFee.toString(), - bridgeFee.toString() + bridgeFee.toString(), ); const psbtData = await config.generateUnsignedTx( @@ -56,7 +56,7 @@ export const transferCreator = userAddress, amount, opReturnData, - token + token, ); const result: string = await new Promise((resolve, reject) => { diff --git a/wallets/xdefi-wallet/src/xdefiWalletCreator.ts b/wallets/xdefi-wallet/src/xdefiWalletCreator.ts index f25fda24..b97ab9f0 100644 --- a/wallets/xdefi-wallet/src/xdefiWalletCreator.ts +++ b/wallets/xdefi-wallet/src/xdefiWalletCreator.ts @@ -1,16 +1,16 @@ import { WalletCreator } from '@rosen-network/bitcoin'; +import { getAddressCreator } from './getAddressCreator'; import { getBalanceCreator } from './getBalance'; import { getXdefiWallet } from './getXdefiWallet'; import { isXdefiAvailable } from './isXdefiAvailable'; import { transferCreator } from './transfer'; -import { getAddressCreator } from './getAddressCreator'; export const xdefiWalletCreator: WalletCreator = (config) => { return Object.assign({}, getXdefiWallet(), { isAvailable: isXdefiAvailable, getBalance: getBalanceCreator(config), transfer: transferCreator(config), - getAddress: getAddressCreator(config), + getAddress: getAddressCreator(), }); }; diff --git a/wallets/xdefi-wallet/tsconfig.json b/wallets/xdefi-wallet/tsconfig.json index 66903bfc..96ece334 100644 --- a/wallets/xdefi-wallet/tsconfig.json +++ b/wallets/xdefi-wallet/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../packages/tsconfig.novite.json", + "extends": "../../tsconfig.novite.json", "compilerOptions": { "jsx": "react-jsx", "outDir": "dist",