From 0f350cdfdf4063a1cb2877c6defda0f22f0835eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?jeesun=20=EC=A7=80=EC=84=A0?= Date: Fri, 15 Mar 2024 22:02:32 +0100 Subject: [PATCH] Run `eslint:recommended` when committing (#787) --- .eslintrc.json | 2 +- package.json | 1 + src/app/(sidebar)/account/layout.tsx | 2 + .../explore-endpoints/[[...pages]]/page.tsx | 2 +- .../(sidebar)/explore-endpoints/layout.tsx | 1 + src/app/(sidebar)/layout.tsx | 1 + src/app/(sidebar)/soroban/layout.tsx | 2 + src/app/(sidebar)/transaction/layout.tsx | 2 + src/app/(sidebar)/xdr/layout.tsx | 2 + src/app/layout.tsx | 1 + src/components/ExpandBox/index.tsx | 2 +- src/components/FormElements/AssetPicker.tsx | 10 +- .../FormElements/IncludeFailedPicker.tsx | 2 + src/components/FormElements/OrderPicker.tsx | 2 + src/components/FormElements/PubKeyPicker.tsx | 3 + src/components/GenerateKeypair.tsx | 2 +- src/components/MaintenanceBanner.tsx | 1 + src/components/NetworkSelector/index.tsx | 2 +- src/components/RadioPicker/index.tsx | 4 + src/components/TabView/index.tsx | 2 + src/components/Tabs/index.tsx | 1 + src/components/WithInfoText/index.tsx | 1 + .../layout/LayoutContentContainer.tsx | 2 + src/constants/routes.ts | 2 + src/query/QueryProvider.tsx | 1 + src/store/createStore.ts | 2 + src/store/useStore.ts | 2 + src/types/types.ts | 2 + yarn.lock | 100 ++++++++++-------- 29 files changed, 108 insertions(+), 51 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 4d765f28..9993833a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,3 @@ { - "extends": ["next/core-web-vitals", "prettier"] + "extends": ["eslint:recommended", "next/core-web-vitals", "prettier"] } diff --git a/package.json b/package.json index 8501e135..a6a7b1e3 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "zustand-querystring": "^0.0.19" }, "devDependencies": { + "@next/eslint-plugin-next": "^14.1.3", "@playwright/test": "^1.42.0", "@types/dompurify": "^3.0.5", "@types/node": "^20.11.23", diff --git a/src/app/(sidebar)/account/layout.tsx b/src/app/(sidebar)/account/layout.tsx index 93b82894..cb7d5abc 100644 --- a/src/app/(sidebar)/account/layout.tsx +++ b/src/app/(sidebar)/account/layout.tsx @@ -1,5 +1,7 @@ "use client"; +import React from "react"; + import { LayoutSidebarContent } from "@/components/layout/LayoutSidebarContent"; import { Routes } from "@/constants/routes"; diff --git a/src/app/(sidebar)/explore-endpoints/[[...pages]]/page.tsx b/src/app/(sidebar)/explore-endpoints/[[...pages]]/page.tsx index 33b49d27..0a03f7b7 100644 --- a/src/app/(sidebar)/explore-endpoints/[[...pages]]/page.tsx +++ b/src/app/(sidebar)/explore-endpoints/[[...pages]]/page.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState } from "react"; +import React, { useState } from "react"; import { usePathname } from "next/navigation"; import { Alert, diff --git a/src/app/(sidebar)/explore-endpoints/layout.tsx b/src/app/(sidebar)/explore-endpoints/layout.tsx index aaf58362..6cde0665 100644 --- a/src/app/(sidebar)/explore-endpoints/layout.tsx +++ b/src/app/(sidebar)/explore-endpoints/layout.tsx @@ -1,5 +1,6 @@ "use client"; +import React from "react"; import { LayoutSidebarContent } from "@/components/layout/LayoutSidebarContent"; import { Routes } from "@/constants/routes"; diff --git a/src/app/(sidebar)/layout.tsx b/src/app/(sidebar)/layout.tsx index 43a4eec9..bbdea297 100644 --- a/src/app/(sidebar)/layout.tsx +++ b/src/app/(sidebar)/layout.tsx @@ -1,3 +1,4 @@ +import React from "react"; import { LayoutWithSidebar } from "@/components/layout/LayoutWithSidebar"; export default function Layout({ children }: { children: React.ReactNode }) { diff --git a/src/app/(sidebar)/soroban/layout.tsx b/src/app/(sidebar)/soroban/layout.tsx index 6603b71b..4ef90538 100644 --- a/src/app/(sidebar)/soroban/layout.tsx +++ b/src/app/(sidebar)/soroban/layout.tsx @@ -1,5 +1,7 @@ "use client"; +import React from "react"; + import { LayoutSidebarContent } from "@/components/layout/LayoutSidebarContent"; export default function TransactionTemplate({ diff --git a/src/app/(sidebar)/transaction/layout.tsx b/src/app/(sidebar)/transaction/layout.tsx index b9f99f96..f7020239 100644 --- a/src/app/(sidebar)/transaction/layout.tsx +++ b/src/app/(sidebar)/transaction/layout.tsx @@ -1,5 +1,7 @@ "use client"; +import React from "react"; + import { LayoutSidebarContent } from "@/components/layout/LayoutSidebarContent"; import { Routes } from "@/constants/routes"; diff --git a/src/app/(sidebar)/xdr/layout.tsx b/src/app/(sidebar)/xdr/layout.tsx index 85068cec..46c1808b 100644 --- a/src/app/(sidebar)/xdr/layout.tsx +++ b/src/app/(sidebar)/xdr/layout.tsx @@ -1,5 +1,7 @@ "use client"; +import React from "react"; + import { LayoutSidebarContent } from "@/components/layout/LayoutSidebarContent"; import { Routes } from "@/constants/routes"; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 12ad3749..8f1f6b6a 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,3 +1,4 @@ +import React from "react"; import type { Metadata } from "next"; import { LayoutMain } from "@/components/layout/LayoutMain"; diff --git a/src/components/ExpandBox/index.tsx b/src/components/ExpandBox/index.tsx index a88d9e57..b26fbcee 100644 --- a/src/components/ExpandBox/index.tsx +++ b/src/components/ExpandBox/index.tsx @@ -1,4 +1,4 @@ -import { useLayoutEffect, useState } from "react"; +import React, { useLayoutEffect, useState } from "react"; import "./styles.scss"; export const ExpandBox = ({ diff --git a/src/components/FormElements/AssetPicker.tsx b/src/components/FormElements/AssetPicker.tsx index 5ceda7b9..e6da39bd 100644 --- a/src/components/FormElements/AssetPicker.tsx +++ b/src/components/FormElements/AssetPicker.tsx @@ -1,4 +1,4 @@ -import { useState } from "react"; +import React, { useState } from "react"; import { Input } from "@stellar/design-system"; import { ExpandBox } from "@/components/ExpandBox"; @@ -19,7 +19,9 @@ type AssetPickerProps = ( includeNone?: boolean; includeNative?: undefined; onChange: ( + // eslint-disable-next-line no-unused-vars optionId: AssetType | undefined, + // eslint-disable-next-line no-unused-vars optionValue: string | undefined, ) => void; } @@ -29,7 +31,9 @@ type AssetPickerProps = ( includeNone?: undefined; includeNative?: boolean; onChange: ( + // eslint-disable-next-line no-unused-vars optionId: AssetType | undefined, + // eslint-disable-next-line no-unused-vars optionValue: AssetObjectValue | undefined, ) => void; } @@ -274,13 +278,17 @@ type AssetPickerFieldsProps = { code: { value: string; error: string; + // eslint-disable-next-line no-unused-vars onChange: (e: React.ChangeEvent) => void; + // eslint-disable-next-line no-unused-vars onBlur: (e: React.ChangeEvent) => void; }; issuer: { value: string; error: string; + // eslint-disable-next-line no-unused-vars onChange: (value: string, issuerError: string) => void; + // eslint-disable-next-line no-unused-vars onBlur: (value: string, issuerError: string) => void; }; }; diff --git a/src/components/FormElements/IncludeFailedPicker.tsx b/src/components/FormElements/IncludeFailedPicker.tsx index f15bedb7..be33fda5 100644 --- a/src/components/FormElements/IncludeFailedPicker.tsx +++ b/src/components/FormElements/IncludeFailedPicker.tsx @@ -1,8 +1,10 @@ +import React from "react"; import { RadioPicker } from "@/components/RadioPicker"; type IncludeFailedPickerProps = { id: string; selectedOption: string | undefined; + // eslint-disable-next-line no-unused-vars onChange: (optionId: string | undefined, optionValue?: boolean) => void; labelSuffix?: string | React.ReactNode; }; diff --git a/src/components/FormElements/OrderPicker.tsx b/src/components/FormElements/OrderPicker.tsx index fc6e7ae6..d119f047 100644 --- a/src/components/FormElements/OrderPicker.tsx +++ b/src/components/FormElements/OrderPicker.tsx @@ -1,8 +1,10 @@ +import React from "react"; import { RadioPicker } from "@/components/RadioPicker"; type OrderPickerProps = { id: string; selectedOption: string | undefined; + // eslint-disable-next-line no-unused-vars onChange: (optionId: string | undefined, optionValue?: string) => void; labelSuffix?: string | React.ReactNode; }; diff --git a/src/components/FormElements/PubKeyPicker.tsx b/src/components/FormElements/PubKeyPicker.tsx index 53dd4a58..aecb34c2 100644 --- a/src/components/FormElements/PubKeyPicker.tsx +++ b/src/components/FormElements/PubKeyPicker.tsx @@ -1,3 +1,4 @@ +import React from "react"; import { StrKey } from "stellar-sdk"; import { Input, InputProps } from "@stellar/design-system"; @@ -9,7 +10,9 @@ interface PubKeyPickerProps extends Omit { placeholder?: string; value: string; error: string | ""; + // eslint-disable-next-line no-unused-vars onChange: (value: string, error: string) => void; + // eslint-disable-next-line no-unused-vars onBlur: (value: string, error: string) => void; } diff --git a/src/components/GenerateKeypair.tsx b/src/components/GenerateKeypair.tsx index a209c203..1ec63ab8 100644 --- a/src/components/GenerateKeypair.tsx +++ b/src/components/GenerateKeypair.tsx @@ -1,4 +1,4 @@ -import { Icon, Input } from "@stellar/design-system"; +import { Input } from "@stellar/design-system"; export const GenerateKeypair = ({ publicKey, diff --git a/src/components/MaintenanceBanner.tsx b/src/components/MaintenanceBanner.tsx index a73f7768..a4294be6 100644 --- a/src/components/MaintenanceBanner.tsx +++ b/src/components/MaintenanceBanner.tsx @@ -1,3 +1,4 @@ +import React from "react"; import { Banner, Link } from "@stellar/design-system"; import { getRelevantMaintenanceMsg } from "@/helpers/getRelevantMaintenanceMsg"; diff --git a/src/components/NetworkSelector/index.tsx b/src/components/NetworkSelector/index.tsx index 1d58fae1..624fd707 100644 --- a/src/components/NetworkSelector/index.tsx +++ b/src/components/NetworkSelector/index.tsx @@ -1,4 +1,4 @@ -import { +import React, { useCallback, useEffect, useLayoutEffect, diff --git a/src/components/RadioPicker/index.tsx b/src/components/RadioPicker/index.tsx index 36125a85..c7de2ce9 100644 --- a/src/components/RadioPicker/index.tsx +++ b/src/components/RadioPicker/index.tsx @@ -1,3 +1,5 @@ +import React from "react"; + import { Label } from "@stellar/design-system"; import { AssetType } from "@/types/types"; import "./styles.scss"; @@ -8,7 +10,9 @@ interface RadioPickerProps { label?: string | React.ReactNode; labelSuffix?: string | React.ReactNode; onChange: ( + // eslint-disable-next-line no-unused-vars optionId: AssetType | undefined, + // eslint-disable-next-line no-unused-vars optionValue?: TOptionValue, ) => void; options: { diff --git a/src/components/TabView/index.tsx b/src/components/TabView/index.tsx index 5bf39448..a61fa284 100644 --- a/src/components/TabView/index.tsx +++ b/src/components/TabView/index.tsx @@ -1,3 +1,4 @@ +import React from "react"; import { Card, Text } from "@stellar/design-system"; import { WithInfoText } from "@/components/WithInfoText"; import { Tabs } from "@/components/Tabs"; @@ -17,6 +18,7 @@ type TabViewProps = { tab4?: Tab; tab5?: Tab; tab6?: Tab; + // eslint-disable-next-line no-unused-vars onTabChange: (id: string) => void; activeTabId: string; staticTop?: React.ReactNode; diff --git a/src/components/Tabs/index.tsx b/src/components/Tabs/index.tsx index 2c3f31e9..cd4d05ec 100644 --- a/src/components/Tabs/index.tsx +++ b/src/components/Tabs/index.tsx @@ -12,6 +12,7 @@ export const Tabs = ({ }: { tabs: Tab[]; activeTabId: string; + // eslint-disable-next-line no-unused-vars onChange: (id: string) => void; }) => { return ( diff --git a/src/components/WithInfoText/index.tsx b/src/components/WithInfoText/index.tsx index 60f8ac0d..52dba5c7 100644 --- a/src/components/WithInfoText/index.tsx +++ b/src/components/WithInfoText/index.tsx @@ -1,3 +1,4 @@ +import React from "react"; import { Icon, Tooltip } from "@stellar/design-system"; import { NextLink } from "@/components/NextLink"; import "./styles.scss"; diff --git a/src/components/layout/LayoutContentContainer.tsx b/src/components/layout/LayoutContentContainer.tsx index fd95e152..0115f784 100644 --- a/src/components/layout/LayoutContentContainer.tsx +++ b/src/components/layout/LayoutContentContainer.tsx @@ -1,3 +1,5 @@ +import React from "react"; + export const LayoutContentContainer = ({ children, }: { diff --git a/src/constants/routes.ts b/src/constants/routes.ts index d0db9134..d0750f15 100644 --- a/src/constants/routes.ts +++ b/src/constants/routes.ts @@ -1,3 +1,5 @@ +/* eslint-disable no-unused-vars */ + export enum Routes { ROOT = "/", // Account diff --git a/src/query/QueryProvider.tsx b/src/query/QueryProvider.tsx index 3d038de0..834b4eac 100644 --- a/src/query/QueryProvider.tsx +++ b/src/query/QueryProvider.tsx @@ -1,5 +1,6 @@ "use client"; +import React from "react"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; diff --git a/src/store/createStore.ts b/src/store/createStore.ts index 7e4ebcb3..c39e2adc 100644 --- a/src/store/createStore.ts +++ b/src/store/createStore.ts @@ -6,11 +6,13 @@ import { EmptyObj, Network } from "@/types/types"; export interface Store { // Shared network: Network | EmptyObj; + // eslint-disable-next-line no-unused-vars selectNetwork: (network: Network) => void; // Account account: { publicKey: string; + // eslint-disable-next-line no-unused-vars update: (value: string) => void; reset: () => void; }; diff --git a/src/store/useStore.ts b/src/store/useStore.ts index 3545f3b2..ed77ce97 100644 --- a/src/store/useStore.ts +++ b/src/store/useStore.ts @@ -1,9 +1,11 @@ "use client"; + import { useContext } from "react"; import { useStore as useZustandStore } from "zustand"; import { Store } from "@/store/createStore"; import { ZustandContext } from "@/store/StoreProvider"; +// eslint-disable-next-line no-unused-vars export const useStore = (selector?: (state: Store) => T) => { selector ??= (state) => state as T; const store = useContext(ZustandContext); diff --git a/src/types/types.ts b/src/types/types.ts index d621088f..f994ed70 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -1,3 +1,5 @@ +import React from "react"; + // ============================================================================= // Generic // ============================================================================= diff --git a/yarn.lock b/yarn.lock index acdf5550..2fe9ad34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -109,6 +109,13 @@ dependencies: glob "10.3.10" +"@next/eslint-plugin-next@^14.1.3": + version "14.1.3" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.3.tgz#31ffb36dbd5d04537aff83eb69ec23007d081608" + integrity sha512-VCnZI2cy77Yaj3L7Uhs3+44ikMM1VD/fBMwvTBb3hIaTIuqa+DmG4dhUDq+MASu3yx97KhgsVJbsas0XuiKyww== + dependencies: + glob "10.3.10" + "@next/swc-darwin-arm64@14.1.0": version "14.1.0" resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz#70a57c87ab1ae5aa963a3ba0f4e59e18f4ecea39" @@ -386,7 +393,7 @@ ajv@^6.12.4: ansi-escapes@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947" integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== dependencies: type-fest "^3.0.0" @@ -638,7 +645,7 @@ caniuse-lite@^1.0.30001579: chalk@5.3.0: version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== chalk@^4.0.0, chalk@^4.1.2: @@ -666,14 +673,14 @@ chalk@^4.0.0, chalk@^4.1.2: cli-cursor@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== dependencies: restore-cursor "^4.0.0" cli-truncate@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== dependencies: slice-ansi "^5.0.0" @@ -707,7 +714,7 @@ color-name@~1.1.4: colorette@^2.0.20: version "2.0.20" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.8: @@ -719,7 +726,7 @@ combined-stream@^1.0.8: commander@11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== concat-map@0.0.1: @@ -885,7 +892,7 @@ eastasianwidth@^0.2.0: emoji-regex@^10.3.0: version "10.3.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== emoji-regex@^8.0.0: @@ -1224,7 +1231,7 @@ esutils@^2.0.2: eventemitter3@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== eventsource@^2.0.2: @@ -1234,7 +1241,7 @@ eventsource@^2.0.2: execa@8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== dependencies: cross-spawn "^7.0.3" @@ -1387,7 +1394,7 @@ get-caller-file@^2.0.5: get-east-asian-width@^1.0.0: version "1.2.0" - resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: @@ -1402,7 +1409,7 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ get-stream@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== get-symbol-description@^1.0.0: @@ -1571,12 +1578,12 @@ htmlparser2@9.1.0: human-signals@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== husky@^9.0.11: version "9.0.11" - resolved "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== ieee754@^1.2.1: @@ -1715,12 +1722,12 @@ is-fullwidth-code-point@^3.0.0: is-fullwidth-code-point@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== is-fullwidth-code-point@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== dependencies: get-east-asian-width "^1.0.0" @@ -1788,7 +1795,7 @@ is-shared-array-buffer@^1.0.2: is-stream@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== is-string@^1.0.5, is-string@^1.0.7: @@ -1935,12 +1942,12 @@ levn@^0.4.1: lilconfig@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== lint-staged@^15.2.2: version "15.2.2" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== dependencies: chalk "5.3.0" @@ -1956,7 +1963,7 @@ lint-staged@^15.2.2: listr2@8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== dependencies: cli-truncate "^4.0.0" @@ -1990,7 +1997,7 @@ lodash@^4.17.21: log-update@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== dependencies: ansi-escapes "^6.2.0" @@ -2020,7 +2027,7 @@ lru-cache@^6.0.0: merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: @@ -2050,12 +2057,12 @@ mime-types@^2.1.12: mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-fn@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== minimatch@9.0.3, minimatch@^9.0.1: @@ -2136,9 +2143,9 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== npm-run-path@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz" - integrity sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg== + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== dependencies: path-key "^4.0.0" @@ -2221,14 +2228,14 @@ once@^1.3.0: onetime@^5.1.0: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" onetime@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== dependencies: mimic-fn "^4.0.0" @@ -2283,7 +2290,7 @@ path-key@^3.1.0: path-key@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== path-parse@^1.0.7: @@ -2316,7 +2323,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: pidtree@0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== playwright-core@1.42.0: @@ -2484,7 +2491,7 @@ resolve@^2.0.0-next.4: restore-cursor@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== dependencies: onetime "^5.1.0" @@ -2496,9 +2503,9 @@ reusify@^1.0.4: integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rimraf@^3.0.2: version "3.0.2" @@ -2628,7 +2635,7 @@ side-channel@^1.0.4: signal-exit@^3.0.2: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== signal-exit@^4.0.1, signal-exit@^4.1.0: @@ -2643,7 +2650,7 @@ slash@^3.0.0: slice-ansi@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== dependencies: ansi-styles "^6.0.0" @@ -2651,7 +2658,7 @@ slice-ansi@^5.0.0: slice-ansi@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== dependencies: ansi-styles "^6.2.1" @@ -2695,10 +2702,11 @@ streamsearch@^1.1.0: string-argv@0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + name string-width-cjs version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -2717,9 +2725,9 @@ string-width@^5.0.1, string-width@^5.1.2: strip-ansi "^7.0.1" string-width@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz" - integrity sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw== + version "7.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" + integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== dependencies: emoji-regex "^10.3.0" get-east-asian-width "^1.0.0" @@ -2768,6 +2776,7 @@ string.prototype.trimstart@^1.0.7: es-abstract "^1.22.1" "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + name strip-ansi-cjs version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -2788,7 +2797,7 @@ strip-bom@^3.0.0: strip-final-newline@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== strip-json-comments@^3.1.1: @@ -2907,7 +2916,7 @@ type-fest@^0.20.2: type-fest@^3.0.0: version "3.13.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== typed-array-buffer@^1.0.0: @@ -3049,6 +3058,7 @@ which@^2.0.1: isexe "^2.0.0" "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -3068,7 +3078,7 @@ wrap-ansi@^8.1.0: wrap-ansi@^9.0.0: version "9.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== dependencies: ansi-styles "^6.2.1" @@ -3092,7 +3102,7 @@ yallist@^4.0.0: yaml@2.3.4: version "2.3.4" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== yargs-parser@^21.1.1: