diff --git a/.eslintrc.json b/.eslintrc.json index f71a23c..483db07 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -22,6 +22,7 @@ }, "plugins": ["@typescript-eslint", "prettier"], "rules": { + "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-extra-semi": "off", "@typescript-eslint/no-unused-vars": [ diff --git a/package.json b/package.json index 131440a..2d5488a 100644 --- a/package.json +++ b/package.json @@ -106,16 +106,16 @@ "trpc-browser": "^1.3.2" }, "devDependencies": { - "@commitlint/cli": "^17.7.1", - "@commitlint/config-conventional": "^17.7.0", + "@commitlint/cli": "^19.0.0", + "@commitlint/config-conventional": "^19.0.0", "@semantic-release/git": "^10.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^5.0.0", "@types/async-retry": "^1.4.5", "@types/lodash-es": "^4.17.8", "@types/node": "^20.5.7", - "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^8.8.1", + "@typescript-eslint/eslint-plugin": "^8.0.0", "@walletconnect/ethereum-provider": "^2.11.0", "@walletconnect/jsonrpc-provider": "^1.0.13", "@walletconnect/signer-connection": "^2.11.0", @@ -126,21 +126,21 @@ "eslint-config-next": "^13.4.19", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-svelte": "^2.44.1", - "husky": "^8.0.3", - "lint-staged": "^14.0.1", + "husky": "^9.0.0", + "lint-staged": "^15.0.0", "postcss": "^8.4.21", - "postcss-load-config": "^4.0.1", + "postcss-load-config": "^6.0.0", "prettier": "^3.0.3", "prettier-plugin-import-sort": "^0.0.7", - "semantic-release": "^21.1.1", + "semantic-release": "^24.0.0", "svelte": "^4.0.0", "svelte-check": "^3.5.1", "svelte-eslint-parser": "^0.41.1", - "svelte-preprocess": "^5.0.4", + "svelte-preprocess": "^6.0.0", "tailwindcss": "^3.1.6", "tslib": "^2.4.0", "typescript": "^5.1.6", - "vite": "^4.3.8", + "vite": "^5.0.0", "vite-plugin-dts": "^3.0.0", "vitest": "^1.6.0", "ws": "^8.8.1", diff --git a/src/connectors/argent/argentMobile/index.ts b/src/connectors/argent/argentMobile/index.ts index 6dd0014..f0de66f 100644 --- a/src/connectors/argent/argentMobile/index.ts +++ b/src/connectors/argent/argentMobile/index.ts @@ -2,17 +2,17 @@ import sn from "@starknet-io/get-starknet-core" import { type AccountChangeEventHandler } from "@starknet-io/get-starknet-core" import { Permission, - RequestFnCall, - RpcMessage, - RpcTypeToMessageMap, + type RequestFnCall, + type RpcMessage, + type RpcTypeToMessageMap, type StarknetWindowObject, } from "@starknet-io/types-js" import { Account, AccountInterface, - ProviderInterface, - ProviderOptions, constants, + ProviderInterface, + type ProviderOptions, } from "starknet" import { ConnectorNotConnectedError, @@ -24,12 +24,12 @@ import { removeStarknetLastConnectedWallet } from "../../../helpers/lastConnecte import { getRandomPublicRPCNode } from "../../../helpers/publicRcpNodes" import { resetWalletConnect } from "../../../helpers/resetWalletConnect" import { - ConnectArgs, Connector, + type ConnectArgs, type ConnectorData, type ConnectorIcons, -} from "../../connector" -import { InjectedConnectorOptions } from "../../injected" +} from "../connector" +import { type InjectedConnectorOptions } from "../../injected" import { DEFAULT_ARGENT_MOBILE_ICON, DEFAULT_PROJECT_ID } from "./constants" import { isInArgentMobileAppBrowser } from "../helpers" import type { StarknetAdapter } from "./modal/starknet/adapter" diff --git a/src/connectors/argent/argentMobile/modal/adapter.ts b/src/connectors/argent/argentMobile/modal/adapter.ts index 0ab6503..ccc8fc8 100644 --- a/src/connectors/argent/argentMobile/modal/adapter.ts +++ b/src/connectors/argent/argentMobile/modal/adapter.ts @@ -1,20 +1,19 @@ -import { EventEmitter } from "events" - import type { JsonRpcProvider } from "@walletconnect/jsonrpc-provider" import type SignClient from "@walletconnect/sign-client" +import type { SignerConnectionClientOpts } from "@walletconnect/signer-connection" import { SIGNER_EVENTS, SignerConnection, } from "@walletconnect/signer-connection" -import type { SignerConnectionClientOpts } from "@walletconnect/signer-connection" import type { ProposalTypes, SessionTypes } from "@walletconnect/types" import { getAccountsFromNamespaces, getChainsFromNamespaces, } from "@walletconnect/utils" +import { EventEmitter } from "events" -import type { EthereumRpcConfig } from "./starknet/adapter" import { ProviderInterface } from "starknet" +import type { EthereumRpcConfig } from "./starknet/adapter" export interface NamespaceAdapterOptions { client: SignClient diff --git a/src/connectors/argent/argentMobile/modal/starknet/adapter.ts b/src/connectors/argent/argentMobile/modal/starknet/adapter.ts index 6d94d47..8522cac 100644 --- a/src/connectors/argent/argentMobile/modal/starknet/adapter.ts +++ b/src/connectors/argent/argentMobile/modal/starknet/adapter.ts @@ -1,4 +1,4 @@ -import { +import type { AddInvokeTransactionParameters, RequestFn, TypedData, diff --git a/src/connectors/argent/argentMobile/modal/starknet/signer.ts b/src/connectors/argent/argentMobile/modal/starknet/signer.ts index 18f0e77..07681c8 100644 --- a/src/connectors/argent/argentMobile/modal/starknet/signer.ts +++ b/src/connectors/argent/argentMobile/modal/starknet/signer.ts @@ -7,7 +7,7 @@ import type { Signature, SignerInterface, } from "starknet" -import { TypedData } from "@starknet-io/types-js" +import type { TypedData } from "@starknet-io/types-js" import type { IStarknetRpc } from "./starknet.model" export class StarknetRemoteSigner implements SignerInterface { diff --git a/src/connectors/argent/argentMobile/modal/starknet/starknet.model.ts b/src/connectors/argent/argentMobile/modal/starknet/starknet.model.ts index 1b84924..0028774 100644 --- a/src/connectors/argent/argentMobile/modal/starknet/starknet.model.ts +++ b/src/connectors/argent/argentMobile/modal/starknet/starknet.model.ts @@ -5,7 +5,7 @@ import type { InvokeFunctionResponse, Signature, } from "starknet" -import { TypedData } from "@starknet-io/types-js" +import type { TypedData } from "@starknet-io/types-js" // see https://github.com/WalletConnect/walletconnect-docs/pull/288/files export interface IStarknetRpc { diff --git a/src/connectors/braavosMobile/index.ts b/src/connectors/braavosMobile/index.ts index a6fd635..6027afc 100644 --- a/src/connectors/braavosMobile/index.ts +++ b/src/connectors/braavosMobile/index.ts @@ -1,21 +1,26 @@ import { type AccountChangeEventHandler } from "@starknet-io/get-starknet-core" -import { +import type { RequestFnCall, RpcMessage, RpcTypeToMessageMap, - type StarknetWindowObject, + StarknetWindowObject, } from "@starknet-io/types-js" -import { AccountInterface, ProviderInterface, ProviderOptions } from "starknet" import { - ConnectArgs, + AccountInterface, + ProviderInterface, + type ProviderOptions, +} from "starknet" +import { Connector, + type ConnectArgs, type ConnectorData, type ConnectorIcons, } from "../connector" -import { InjectedConnectorOptions } from "../injected" import { Braavos } from "../injected/braavos" import { isInBraavosMobileAppBrowser } from "./helpers/inAppBrowser" +import { type InjectedConnectorOptions } from "../injected" import { BRAAVOS_MOBILE_APP_ICON } from "./constants" +import { isInBraavosMobileAppBrowser } from "./helpers/inAppBrowser" export class BraavosMobileBaseConnector extends Connector { private _wallet: StarknetWindowObject | null = null diff --git a/src/connectors/connector.ts b/src/connectors/connector.ts index 68e3304..62b983d 100644 --- a/src/connectors/connector.ts +++ b/src/connectors/connector.ts @@ -1,5 +1,9 @@ import EventEmitter from "eventemitter3" -import { AccountInterface, ProviderInterface, ProviderOptions } from "starknet" +import { + AccountInterface, + ProviderInterface, + type ProviderOptions, +} from "starknet" import type { RequestFnCall, RpcMessage, diff --git a/src/connectors/injected/index.ts b/src/connectors/injected/index.ts index 0b11184..68d0914 100644 --- a/src/connectors/injected/index.ts +++ b/src/connectors/injected/index.ts @@ -1,15 +1,15 @@ import { Permission, - RequestFnCall, - RpcMessage, - RpcTypeToMessageMap, + type RequestFnCall, + type RpcMessage, + type RpcTypeToMessageMap, type StarknetWindowObject, } from "@starknet-io/types-js" import { Account, AccountInterface, ProviderInterface, - ProviderOptions, + type ProviderOptions, } from "starknet" import { ConnectorNotConnectedError, @@ -18,8 +18,8 @@ import { } from "../../errors" import { removeStarknetLastConnectedWallet } from "../../helpers/lastConnected" import { - ConnectArgs, Connector, + type ConnectArgs, type ConnectorData, type ConnectorIcons, } from "../connector" diff --git a/src/connectors/webwallet/index.ts b/src/connectors/webwallet/index.ts index 2c8091a..007c3f7 100644 --- a/src/connectors/webwallet/index.ts +++ b/src/connectors/webwallet/index.ts @@ -1,8 +1,8 @@ import { Permission, - RequestFnCall, - RpcMessage, - RpcTypeToMessageMap, + type RequestFnCall, + type RpcMessage, + type RpcTypeToMessageMap, type AccountChangeEventHandler, type StarknetWindowObject, } from "@starknet-io/types-js" @@ -10,7 +10,7 @@ import { Account, AccountInterface, ProviderInterface, - ProviderOptions, + type ProviderOptions, } from "starknet" import { ConnectorNotConnectedError, @@ -20,8 +20,8 @@ import { import { getStarknetChainId } from "../../helpers/getStarknetChainId" import { removeStarknetLastConnectedWallet } from "../../helpers/lastConnected" import { - ConnectArgs, Connector, + type ConnectArgs, type ConnectorData, type ConnectorIcons, } from "../connector" diff --git a/src/helpers/getStarknetChainId.ts b/src/helpers/getStarknetChainId.ts index 47384fe..489ca80 100644 --- a/src/helpers/getStarknetChainId.ts +++ b/src/helpers/getStarknetChainId.ts @@ -1,5 +1,5 @@ import { constants } from "starknet" -import { ChainId } from "@starknet-io/types-js" +import type { ChainId } from "@starknet-io/types-js" export const getStarknetChainId = ( chainId: ChainId, diff --git a/src/helpers/mapModalWallets.ts b/src/helpers/mapModalWallets.ts index 08ac245..70e6801 100644 --- a/src/helpers/mapModalWallets.ts +++ b/src/helpers/mapModalWallets.ts @@ -1,4 +1,4 @@ -import { WalletProvider } from "@starknet-io/get-starknet-core" +import type { WalletProvider } from "@starknet-io/get-starknet-core" import { isString } from "lodash-es" import type { StarknetWindowObject } from "@starknet-io/types-js" import { diff --git a/src/hooks/useStarknetkitConnectModal.ts b/src/hooks/useStarknetkitConnectModal.ts index 186d43c..a9499e6 100644 --- a/src/hooks/useStarknetkitConnectModal.ts +++ b/src/hooks/useStarknetkitConnectModal.ts @@ -1,5 +1,5 @@ import { connect } from "../main" -import { ConnectOptionsWithConnectors, ModalResult } from "../types/modal" +import type { ConnectOptionsWithConnectors, ModalResult } from "../types/modal" type UseStarknetkitConnectors = { starknetkitConnectModal: () => Promise diff --git a/src/main.ts b/src/main.ts index ab7ae67..d84fc42 100644 --- a/src/main.ts +++ b/src/main.ts @@ -9,14 +9,14 @@ import { ModalResult, ModalWallet, } from "./types/modal" -import { DEFAULT_WEBWALLET_URL } from "./connectors/webwallet/constants" - import { Connector, - ConnectorData, StarknetkitConnector, StarknetkitCompoundConnector, + type ConnectorData, } from "./connectors" +import { DEFAULT_WEBWALLET_URL } from "./connectors/webwallet/constants" + import { ArgentMobileBaseConnector } from "./connectors/argent/argentMobile" import { defaultConnectors } from "./helpers/defaultConnectors" import { getStoreVersionFromBrowser } from "./helpers/getStoreVersionFromBrowser" diff --git a/src/modal/Modal.svelte b/src/modal/Modal.svelte index f2c7788..7a07800 100644 --- a/src/modal/Modal.svelte +++ b/src/modal/Modal.svelte @@ -1,7 +1,7 @@