From d59c31b81891f09546f6437cda506a6f938835c0 Mon Sep 17 00:00:00 2001 From: Septs Date: Sun, 16 Jan 2022 11:55:41 +0800 Subject: [PATCH 1/8] chore: improve linter --- .github/workflows/linters.yml | 8 ++++++++ package.json | 2 +- packages/.eslintrc.json | 4 +++- .../Settings/components/LanguageSetting.tsx | 1 + packages/encryption/src/payload/index.ts | 6 +++--- .../payload_internal/version-38.encoder.ts | 3 ++- .../src/payload_internal/version-38.parser.ts | 3 ++- .../src/payload_internal/version-39.ts | 5 +++-- .../src/payload_internal/version-40.ts | 3 ++- .../social-network-encode-decode/twitter.ts | 6 +++--- .../encryption/tests/twitter-encode-decode.ts | 2 +- .../encryption/tests/v38-encode-decode.ts | 4 ++-- packages/encryption/tests/v39-v40-decode.ts | 2 +- packages/mask/src/crypto/crypto-alpha-38.ts | 7 ++++--- packages/mask/src/crypto/crypto-alpha-40.ts | 5 +++-- .../CryptoServices/decryptFrom.ts | 2 +- .../Jobs/InjectContentScripts.ts | 2 +- .../Avatar/SNSAdaptor/NFTAvatarButton.tsx | 2 +- .../mask/src/plugins/Collectible/constants.ts | 2 +- .../CryptoartAI/SNSAdaptor/Collectible.tsx | 6 +++--- .../CryptoartAI/SNSAdaptor/HistoryTab/Row.tsx | 2 +- .../CryptoartAI/SNSAdaptor/OfferTab.tsx | 2 +- .../CryptoartAI/SNSAdaptor/OrderRow.tsx | 2 +- .../CryptoartAI/SNSAdaptor/TokenTab.tsx | 2 +- .../mask/src/plugins/CryptoartAI/constants.ts | 2 +- packages/mask/src/plugins/EVM/constants.ts | 4 ++-- .../src/plugins/External/SNSAdaptor/index.tsx | 2 +- packages/mask/src/plugins/External/base.ts | 2 +- packages/mask/src/plugins/FindTruman/base.ts | 2 +- .../mask/src/plugins/Gitcoin/constants.ts | 2 +- .../src/plugins/GoodGhosting/constants.ts | 2 +- packages/mask/src/plugins/ITO/base.ts | 2 +- .../SNSAdaptor/components/DrawDialog.tsx | 2 +- packages/mask/src/plugins/MaskBox/base.ts | 2 +- .../src/plugins/Polls/SNSAdaptor/index.tsx | 2 +- packages/mask/src/plugins/Polls/constants.ts | 2 +- .../plugins/RedPacket/SNSAdaptor/index.tsx | 4 ++-- packages/mask/src/plugins/RedPacket/base.ts | 2 +- packages/mask/src/plugins/Snapshot/base.ts | 2 +- .../SNSAdaptor/trader/InputTokenPanel.tsx | 2 +- packages/mask/src/plugins/Trader/base.ts | 2 +- .../src/plugins/Trader/constants/uniswap.ts | 1 + .../src/plugins/Trader/helpers/uniswap.ts | 1 + .../trader/uniswap/useTradeBreakdown.ts | 1 + .../trader/uniswap/useTradeParameters.ts | 1 + .../mask/src/plugins/Transak/constants.ts | 2 +- .../src/plugins/UnlockProtocol/constants.ts | 2 +- packages/mask/src/plugins/VCent/constants.ts | 2 +- .../GasSettingDialog/GasSettingBar.tsx | 2 +- packages/mask/src/settings/settings.ts | 2 +- .../automation/pasteTextToComposition.ts | 2 +- .../facebook.com/collecting/identity.ts | 2 +- .../facebook.com/injection/PostInspector.tsx | 4 ++-- .../twitter.com/encoding.ts | 2 +- .../twitter.com/injection/PostInspector.tsx | 3 ++- .../twitter.com/utils/fetch.ts | 2 +- .../twitter.com/utils/selector.ts | 2 +- packages/mask/src/utils/getTextUILength.ts | 1 + .../mask/src/utils/type-transform/Payload.ts | 19 ++++++++++--------- .../UI/EthereumERC20TokenApprovedBoundary.tsx | 2 +- packages/plugin-infra/src/types.ts | 1 + packages/plugins/DAO/src/base.ts | 2 +- packages/plugins/Debugger/src/base.ts | 2 +- .../src/SNSAdaptor/components/Uploading.tsx | 4 ++-- packages/plugins/Flow/src/constants.ts | 2 +- packages/plugins/RSS3/src/base.ts | 2 +- packages/plugins/Solana/src/constants.ts | 2 +- packages/plugins/Wallet/src/constants.ts | 2 +- .../plugins/example/src/SNSAdaptor/index.tsx | 5 +++-- packages/plugins/example/src/base.ts | 2 +- .../polyfills/ecmascript-intl/ListFormat.ts | 4 ++-- .../TypedMessage/deprecated-encode/index.ts | 8 ++++---- .../ERC20TokenList/ERC20TokenListItem.tsx | 2 +- .../UI/components/ErrorBoundary/CrashUI.tsx | 2 +- pnpm-lock.yaml | 16 ++++++++++------ 75 files changed, 130 insertions(+), 100 deletions(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 21a205e3453a..7ac515463603 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -22,6 +22,14 @@ jobs: ref: ${{ github.event.pull_request.head.sha }} - uses: actions/setup-node@v2 - run: npx prettier@2.5.0 --list-different . + anti-trojan-source: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.sha }} + - uses: actions/setup-node@v2 + - run: npx anti-trojan-source --files='packages/**/*' locale-kit: runs-on: ubuntu-20.04 steps: diff --git a/package.json b/package.json index dee4a2935b59..cf4bbc41ae0b 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@commitlint/cli": "^16.0.0", "@commitlint/config-conventional": "^16.0.0", - "@dimensiondev/eslint-plugin": "^0.0.1-20220110102506-9f382ee", + "@dimensiondev/eslint-plugin": "^0.0.1-20220116034522-fbb0696", "@dimensiondev/patch-package": "^6.5.0", "@jest/globals": "^27.4.4", "@magic-works/i18n-codegen": "^0.0.6", diff --git a/packages/.eslintrc.json b/packages/.eslintrc.json index 33b727ad636f..fd8b88065e53 100644 --- a/packages/.eslintrc.json +++ b/packages/.eslintrc.json @@ -54,13 +54,15 @@ "unicorn/prefer-number-properties": "error", "unicorn/throw-new-error": "error", "unused-imports/no-unused-imports-ts": "error", + "@dimensiondev/no-bigint": "error", "@dimensiondev/no-jsx-template-literal": "error", "@dimensiondev/no-locale-case": "error", "@dimensiondev/no-number-constructor": "off", "@dimensiondev/no-simple-string-interpolation": "off", "@dimensiondev/no-simple-template-literal": "error", - "@dimensiondev/no-unsafe-location": "error", "@dimensiondev/prefer-early-return": "error", + "@dimensiondev/prefer-location-assign": "error", + "@dimensiondev/unicode-specific-set": "error", "@typescript-eslint/await-thenable": "error", "@typescript-eslint/no-base-to-string": "off", "@typescript-eslint/no-for-in-array": "error", diff --git a/packages/dashboard/src/pages/Settings/components/LanguageSetting.tsx b/packages/dashboard/src/pages/Settings/components/LanguageSetting.tsx index 8355c4fec516..b42acd393933 100644 --- a/packages/dashboard/src/pages/Settings/components/LanguageSetting.tsx +++ b/packages/dashboard/src/pages/Settings/components/LanguageSetting.tsx @@ -1,3 +1,4 @@ +/* eslint-disable @dimensiondev/unicode-specific-set */ import { MenuItem } from '@mui/material' import { useLanguage } from '../api' import { Services } from '../../../API' diff --git a/packages/encryption/src/payload/index.ts b/packages/encryption/src/payload/index.ts index cdf132bba257..2930bffd27d8 100644 --- a/packages/encryption/src/payload/index.ts +++ b/packages/encryption/src/payload/index.ts @@ -11,9 +11,9 @@ export async function parsePayload(payload: unknown): PayloadParserResult { return parse37(payload.slice()) } if (typeof payload === 'string') { - if (payload.startsWith('🎼4/4')) return parse38(payload) - if (payload.startsWith('🎼3/4')) return parse39(payload) - if (payload.startsWith('🎼2/4')) return parse40(payload) + if (payload.startsWith('\u{1F3BC}4/4')) return parse38(payload) + if (payload.startsWith('\u{1F3BC}3/4')) return parse39(payload) + if (payload.startsWith('\u{1F3BC}2/4')) return parse40(payload) } return new CheckedError(PayloadException.UnknownVersion, null).toErr() } diff --git a/packages/encryption/src/payload_internal/version-38.encoder.ts b/packages/encryption/src/payload_internal/version-38.encoder.ts index d3e1958e2163..7e8eed3d2230 100644 --- a/packages/encryption/src/payload_internal/version-38.encoder.ts +++ b/packages/encryption/src/payload_internal/version-38.encoder.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import { encodeText, encodeArrayBuffer } from '@dimensiondev/kit' import { Ok, Option, Result } from 'ts-results' import type { PayloadWellFormed, Signature } from '..' @@ -24,7 +25,7 @@ export async function encode38(payload: PayloadWellFormed.Payload) { const encrypted: string = encodeArrayBuffer(payload.encrypted.slice()) const signature: string = encodeSignature(payload.signature) - const fields: string[] = ['🎼4/4', AESKeyEncrypted.val, iv, encrypted, signature] + const fields: string[] = ['\u{1F3BC}4/4', AESKeyEncrypted.val, iv, encrypted, signature] if (payload.authorPublicKey.some) { const compressed = await compressSecp256k1Key(payload.authorPublicKey.val.key) diff --git a/packages/encryption/src/payload_internal/version-38.parser.ts b/packages/encryption/src/payload_internal/version-38.parser.ts index 39a1730b9f1c..8c6aa54f0bc0 100644 --- a/packages/encryption/src/payload_internal/version-38.parser.ts +++ b/packages/encryption/src/payload_internal/version-38.parser.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import { AESKey, AESAlgorithmEnum, @@ -37,7 +38,7 @@ const importEC = CheckedError.withErr(importAsymmetryKeyFromJsonWebKeyOrSPKI, Cr export async function parse38(payload: string): PayloadParserResult { //#region Parse text - const header = '🎼4/4' + const header = '\u{1F3BC}4/4' if (!payload.startsWith(header)) return new CheckedError(PayloadException.InvalidPayload, 'Unknown version').toErr() let rest = payload.slice(header.length) // cut the tail diff --git a/packages/encryption/src/payload_internal/version-39.ts b/packages/encryption/src/payload_internal/version-39.ts index ce3db1dae6e9..2ceca755aab5 100644 --- a/packages/encryption/src/payload_internal/version-39.ts +++ b/packages/encryption/src/payload_internal/version-39.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import { parse40 } from './version-40' import { PayloadException } from '../types' import type { PayloadParserResult } from '.' @@ -14,8 +15,8 @@ import { CheckedError } from '@masknet/shared-base' // ? Version 40:🎼2/4|ownersAESKeyEncrypted|iv|encryptedText:|| // ? Version 39:🎼3/4|ownersAESKeyEncrypted|iv|encryptedText:|| export async function parse39(payload: string): PayloadParserResult { - const v_40 = '🎼2/4' - const v_39 = '🎼3/4' + const v_40 = '\u{1F3BC}2/4' + const v_39 = '\u{1F3BC}3/4' if (!payload.startsWith(v_39)) return new CheckedError(PayloadException.UnknownVersion, null).toErr() const result = await parse40(payload.replace(v_39, v_40)) diff --git a/packages/encryption/src/payload_internal/version-40.ts b/packages/encryption/src/payload_internal/version-40.ts index 6d0f5eda27f0..a3af579a8a9b 100644 --- a/packages/encryption/src/payload_internal/version-40.ts +++ b/packages/encryption/src/payload_internal/version-40.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import type { PayloadParseResult, Signature } from '../payload' import { Ok } from 'ts-results' import { PayloadException } from '../types' @@ -13,7 +14,7 @@ const decodeUint8Array = decodeUint8ArrayF(PayloadException.InvalidPayload, Payl // ? Version 40:🎼2/4|ownersAESKeyEncrypted|iv|encryptedText:|| export async function parse40(payload: string): PayloadParserResult { //#region Parse string - const header = '🎼2/4|' + const header = '\u{1F3BC}2/4|' if (!payload.startsWith(header)) return new CheckedError(PayloadException.DecodeFailed, 'Unknown version').toErr() let rest = payload.slice(header.length) // cut the tail diff --git a/packages/encryption/src/social-network-encode-decode/twitter.ts b/packages/encryption/src/social-network-encode-decode/twitter.ts index 7d02af6e3a2e..887c0a3ffd7f 100644 --- a/packages/encryption/src/social-network-encode-decode/twitter.ts +++ b/packages/encryption/src/social-network-encode-decode/twitter.ts @@ -6,7 +6,7 @@ import { Some, None, Option } from 'ts-results' */ export function __TwitterEncoder(text: string) { return `https://mask.io/?PostData_v1=${batchReplace(text, [ - ['🎼', '%20'], + ['\u{1F3BC}', '%20'], [':||', '%40'], ['+', '-'], ['=', '_'], @@ -17,14 +17,14 @@ export function TwitterDecoder(raw: string): Option { if (!raw) return None if (!raw.includes('%20') || !raw.includes('%40')) return None const payloadLink = parseURL(raw) - .map((x) => x.replace(/…$/, '')) + .map((x) => x.replace(/\u2026$/, '')) .filter((x) => x.endsWith('%40'))[0] try { const { search, pathname } = new URL(payloadLink) const payload = search ? search.slice(1) : pathname.slice(1) if (!payload) return None return Some( - `🎼${batchReplace( + `\u{1F3BC}${batchReplace( payload // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1476 // eslint-disable-next-line unicorn/better-regex diff --git a/packages/encryption/tests/twitter-encode-decode.ts b/packages/encryption/tests/twitter-encode-decode.ts index a9cd882ad2e8..cc2adfe284e6 100644 --- a/packages/encryption/tests/twitter-encode-decode.ts +++ b/packages/encryption/tests/twitter-encode-decode.ts @@ -1,7 +1,7 @@ import { test, expect } from '@jest/globals' import { TwitterDecoder } from '../src/social-network-encode-decode' test('Can decode Twitter text payload', () => { - const payload = `This tweet is encrypted with #mask_io (@realMaskNetwork). πŸ“ͺπŸ”‘ + const payload = `This tweet is encrypted with #mask_io (@realMaskNetwork). \u{1F4EA}\u{1F511} Install https://mask.io/?PostData_v1=%204/4.mFXgbxPDrAD6PYRHWJW5IVlHObuFYs/LUyd08kkUkKimTx4opjHXjrgorrsyTPidL0lkeqdXnW3EzEacdlPJChko-Q5Wy113UMHYy1aV1Wheqwy/vM3PLMVaoKW/HyIL/SjJtim75bWMSHmj+vzMYwV59jLJqlTjJqhz5ObdZhAsWwRJGYIzEkg+.SKlWOvMpyF9T1jL2pr95kA_=.ehROC4d3QudYHEABcBTpSuxLvxM=._.Aq/bVWAKvodJuURGk3enjE1gUiu2SELM8IIKIlNGqOWM.1.dHdpdHRlci5jb20vd2lsbHlvbnRvdXI=%40 to decrypt it.` expect(TwitterDecoder(payload)).toMatchSnapshot('Twitter example') diff --git a/packages/encryption/tests/v38-encode-decode.ts b/packages/encryption/tests/v38-encode-decode.ts index b7f1c281e6d9..4168babc6b88 100644 --- a/packages/encryption/tests/v38-encode-decode.ts +++ b/packages/encryption/tests/v38-encode-decode.ts @@ -46,13 +46,13 @@ test('Encode v38 payload', async () => { /* cspell:disable */ const oldInfraOutput = - '🎼4/4|avkwBKqMpCKznGclvChuuh2AEExV0J14xI/KANhwiKJfVyfm2ObWb432E3aAOa7ImRoCd7/JK1d' + + '\u{1F3BC}4/4|avkwBKqMpCKznGclvChuuh2AEExV0J14xI/KANhwiKJfVyfm2ObWb432E3aAOa7ImRoCd7/JK1d' + 'DQWk4rt9NqajTEaajARMc9hJ9GmR8lorBNRNHlgj/h1KJYk5th7Nsr04PWO0nJUKiDH2CJwieSxW2YqxC' + 'I1ceYKUYcZOsVJEZOrJ/IB8WUmU0|BjPbfiSAXCvc/2nqKv2nzQ==|Og1u5pLG9GiWsZbxQwHAGtL6Jqo' + '=|_|Aq/bVWAKvodJuURGk3enjE1gUiu2SELM8IIKIlNGqOWM|1|ZmFjZWJvb2suY29tLzEwMDAyNzU2MjI' + '0OTU3NA==:||' const oldInfraOutputShort = - '🎼4/4|avkwBKqMpCKznGclvChuuh2AEExV0J14xI/KANhwiKJfVyfm2ObWb432E3aAOa7ImRoCd7/JK1d' + + '\u{1F3BC}4/4|avkwBKqMpCKznGclvChuuh2AEExV0J14xI/KANhwiKJfVyfm2ObWb432E3aAOa7ImRoCd7/JK1d' + 'DQWk4rt9NqajTEaajARMc9hJ9GmR8lorBNRNHlgj/h1KJYk5th7Nsr04PWO0nJUKiDH2CJwieSxW2YqxC' + 'I1ceYKUYcZOsVJEZOrJ/IB8WUmU0|BjPbfiSAXCvc/2nqKv2nzQ==|Og1u5pLG9GiWsZbxQwHAGtL6Jqo=|_:||' /* cspell:enable */ diff --git a/packages/encryption/tests/v39-v40-decode.ts b/packages/encryption/tests/v39-v40-decode.ts index 97d8a6a256c6..633047a3e3ed 100644 --- a/packages/encryption/tests/v39-v40-decode.ts +++ b/packages/encryption/tests/v39-v40-decode.ts @@ -5,7 +5,7 @@ import { PayloadException } from '../src/types' /* cspell:disable */ const oldInfraOutput = - '🎼2/4|avkwBKqMpCKznGclvChuuh2AEExV0J14xI/KANhwiKJfVyfm2ObWb432E3aAOa7ImRoCd7/JK1d' + + '\u{1F3BC}2/4|avkwBKqMpCKznGclvChuuh2AEExV0J14xI/KANhwiKJfVyfm2ObWb432E3aAOa7ImRoCd7/JK1d' + 'DQWk4rt9NqajTEaajARMc9hJ9GmR8lorBNRNHlgj/h1KJYk5th7Nsr04PWO0nJUKiDH2CJwieSxW2YqxC' + 'I1ceYKUYcZOsVJEZOrJ/IB8WUmU0|BjPbfiSAXCvc/2nqKv2nzQ==|Og1u5pLG9GiWsZbxQwHAGtL6Jqo=:||' /* cspell:enable */ diff --git a/packages/mask/src/crypto/crypto-alpha-38.ts b/packages/mask/src/crypto/crypto-alpha-38.ts index 6ba04240faf9..d690293aea41 100644 --- a/packages/mask/src/crypto/crypto-alpha-38.ts +++ b/packages/mask/src/crypto/crypto-alpha-38.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import { TypedMessage, makeTypedMessageText, isTypedMessageText, type AESJsonWebKey } from '@masknet/shared-base' export * from './crypto-alpha-39' @@ -21,15 +22,15 @@ export function typedMessageStringify(x: TypedMessage) { const obj: Record = {} for (const [a, b] of x.meta) obj[a] = b - return JSON.stringify(obj) + '🧩' + x.content + return JSON.stringify(obj) + '\u{1F9E9}' + x.content } export function typedMessageParse(x: string) { - const [maybeMetadata, ...end] = x.split('🧩') + const [maybeMetadata, ...end] = x.split('\u{1F9E9}') try { const json: unknown = JSON.parse(maybeMetadata) if (typeof json !== 'object' || json === null || Object.keys(json).length === 0) throw new Error('Not a metadata') - return makeTypedMessageText(end.join('🧩'), new Map(Object.entries(json))) + return makeTypedMessageText(end.join('\u{1F9E9}'), new Map(Object.entries(json))) } catch {} return makeTypedMessageText(x) } diff --git a/packages/mask/src/crypto/crypto-alpha-40.ts b/packages/mask/src/crypto/crypto-alpha-40.ts index d8577b11d648..c0a76c49939e 100644 --- a/packages/mask/src/crypto/crypto-alpha-40.ts +++ b/packages/mask/src/crypto/crypto-alpha-40.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ /** * @deprecated This version of payload is not in use. * Please goto Crypto alpha v38 @@ -267,7 +268,7 @@ export async function encryptWithAES(info: { //#region Comment function extractCommentPayload(text: string) { - const [_, toEnd] = text.split('🎢2/4|') + const [_, toEnd] = text.split('\u{1F3B6}2/4|') const [content, _2] = (toEnd || '').split(':||') if (content.length) return content return @@ -294,7 +295,7 @@ export async function encryptComment( aesKey: key, iv: decodeArrayBuffer(postIV as string), }) - return `🎢2/4|${encodeArrayBuffer(x.content)}:||` + return `\u{1F3B6}2/4|${encodeArrayBuffer(x.content)}:||` } export async function decryptComment( postIV: string | ArrayBuffer, diff --git a/packages/mask/src/extension/background-script/CryptoServices/decryptFrom.ts b/packages/mask/src/extension/background-script/CryptoServices/decryptFrom.ts index 0f364bb9f708..28530d8abbb3 100644 --- a/packages/mask/src/extension/background-script/CryptoServices/decryptFrom.ts +++ b/packages/mask/src/extension/background-script/CryptoServices/decryptFrom.ts @@ -319,7 +319,7 @@ async function* decryptFromImageUrlWithProgress_raw( pass: author.toText(), downloadImage: steganographyDownloadImage, }) - if (!post.startsWith('🎼') && !/https:\/\/.+\..+\/(\?PostData_v\d=)?%20(.+)%40/.test(post)) + if (!post.startsWith('\u{1F3BC}') && !/https:\/\/.+\..+\/(\?PostData_v\d=)?%20(.+)%40/.test(post)) return makeError(i18n.t('service_decode_image_payload_failed'), true) const worker = await Result.wrapAsync(() => getNetworkWorker(author)) if (worker.err) return makeError(worker.val as Error) diff --git a/packages/mask/src/extension/background-script/Jobs/InjectContentScripts.ts b/packages/mask/src/extension/background-script/Jobs/InjectContentScripts.ts index 9eff77427568..77056ad6b9be 100644 --- a/packages/mask/src/extension/background-script/Jobs/InjectContentScripts.ts +++ b/packages/mask/src/extension/background-script/Jobs/InjectContentScripts.ts @@ -53,7 +53,7 @@ export default function (signal: AbortSignal) { signal.addEventListener( 'abort', MaskMessages.events.maskSDKHotModuleReload.on(async () => { - const code = (await fetchUserScript(maskSDK_URL)) + `\n;console.log("[@masknet/sdk] SDK reloaded.")` + const code = (await fetchUserScript(maskSDK_URL)) + '\n;console.log("[@masknet/sdk] SDK reloaded.")' for (const tab of await browser.tabs.query({})) { browser.tabs.executeScript(tab.id!, { code }).then(noop) } diff --git a/packages/mask/src/plugins/Avatar/SNSAdaptor/NFTAvatarButton.tsx b/packages/mask/src/plugins/Avatar/SNSAdaptor/NFTAvatarButton.tsx index d87d0b1e85cb..15204fd6bb6d 100644 --- a/packages/mask/src/plugins/Avatar/SNSAdaptor/NFTAvatarButton.tsx +++ b/packages/mask/src/plugins/Avatar/SNSAdaptor/NFTAvatarButton.tsx @@ -40,7 +40,7 @@ export function NFTAvatarButton(props: NFTAvatarButtonProps) { return (
- πŸ”₯{t('nft_avatar')} + 🔥{t('nft_avatar')}
) diff --git a/packages/mask/src/plugins/Collectible/constants.ts b/packages/mask/src/plugins/Collectible/constants.ts index 080bcf757848..5b04cbf5715c 100644 --- a/packages/mask/src/plugins/Collectible/constants.ts +++ b/packages/mask/src/plugins/Collectible/constants.ts @@ -1,7 +1,7 @@ import { PluginId } from '@masknet/plugin-infra' export const PLUGIN_NAME = 'Collectibles' -export const PLUGIN_ICON = 'πŸ–ΌοΈ' +export const PLUGIN_ICON = '\u{1F5BC}\uFE0F' export const PLUGIN_DESCRIPTION = 'An NFT collectible viewer.' export const PLUGIN_ID = PluginId.Collectible export const PLUGIN_META_KEY = `${PluginId.Collectible}:1` diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx index a34a91f361ba..048c1bcca337 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx @@ -232,7 +232,7 @@ export function Collectible(props: CollectibleProps) { ? assetSource?.latestBidVo?.priceInEth : assetSource?.trade?.latestBid, price: 'Unknown', - symbol: ' Ξ', + symbol: ' \u039E', soldNum: assetSource?.soldNum === assetSource?.totalAvailable ? assetSource?.soldNum @@ -256,7 +256,7 @@ export function Collectible(props: CollectibleProps) { ? assetSource?.latestBidVo?.priceInEth : assetSource?.trade?.latestBid, price: assetSource?.priceInEth, - symbol: ' Ξ', + symbol: ' \u039E', soldNum: assetSource?.soldNum && assetSource?.soldNum === assetSource?.totalAvailable @@ -278,7 +278,7 @@ export function Collectible(props: CollectibleProps) { i18nKey="plugin_cryptoartai_sold_description" values={{ soldPrice: soldPrice, - symbol: ' Ξ', + symbol: ' \u039E', soldNum: assetSource?.soldNum === assetSource?.totalAvailable ? assetSource?.soldNum diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/HistoryTab/Row.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/HistoryTab/Row.tsx index 4fb1b5fcb36c..f18f1602fe2b 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/HistoryTab/Row.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/HistoryTab/Row.tsx @@ -89,7 +89,7 @@ export function Row({ event, chainId }: Props) { - {event.priceInEth} Ξ + {event.priceInEth} Ξ (${event.priceInUsd}) diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OfferTab.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OfferTab.tsx index c55505ea3761..3bb4e55b9d80 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OfferTab.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OfferTab.tsx @@ -100,7 +100,7 @@ export function OfferTab() { {t('plugin_cryptoartai_price')} - {(dataSource?.trade?.latestBid ?? 'Unknown') + ' Ξ'} + {dataSource?.trade?.latestBid ?? 'Unknown'} Ξ diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OrderRow.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OrderRow.tsx index b4e1f2f94e16..282c5de7c6e3 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OrderRow.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/OrderRow.tsx @@ -95,7 +95,7 @@ export function OrderRow({ event, chainId }: IRowProps) { - {event.priceInEth} Ξ + {event.priceInEth} Ξ (${event.priceInUsd}) diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/TokenTab.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/TokenTab.tsx index 08af6489d3d4..1fe543694b1f 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/TokenTab.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/TokenTab.tsx @@ -124,7 +124,7 @@ export function TokenTab(props: TokenTabProps) { {t('plugin_collectible_view_on')}{' '} - ΞEtherscan + ΞEtherscan ) : null} diff --git a/packages/mask/src/plugins/CryptoartAI/constants.ts b/packages/mask/src/plugins/CryptoartAI/constants.ts index 9db2c16aab4b..26584e95ad61 100644 --- a/packages/mask/src/plugins/CryptoartAI/constants.ts +++ b/packages/mask/src/plugins/CryptoartAI/constants.ts @@ -2,7 +2,7 @@ import { PluginId } from '@masknet/plugin-infra' import { ChainId, ZERO_ADDRESS } from '@masknet/web3-shared-evm' export const PLUGIN_NAME = 'CRYPTOART.AI' -export const PLUGIN_ICON = 'πŸ–ΌοΈ' +export const PLUGIN_ICON = '\u{1F5BC}\uFE0F' export const PLUGIN_DESCRIPTION = 'The decentralized world of CryptoArt.' export const PLUGIN_ID = PluginId.CryptoArtAI export const PLUGIN_META_KEY = `${PluginId.CryptoArtAI}:1` diff --git a/packages/mask/src/plugins/EVM/constants.ts b/packages/mask/src/plugins/EVM/constants.ts index 5fdf63283022..5372d5b12806 100644 --- a/packages/mask/src/plugins/EVM/constants.ts +++ b/packages/mask/src/plugins/EVM/constants.ts @@ -4,7 +4,7 @@ import { ChainId, NetworkType, ProviderType } from '@masknet/web3-shared-evm' export const PLUGIN_ID = PluginId.EVM export const PLUGIN_META_KEY = `${PluginId.EVM}:1` export const PLUGIN_NAME = 'EVM' -export const PLUGIN_ICON = 'Ξ' +export const PLUGIN_ICON = '\u039E' export const PLUGIN_DESCRIPTION = '' export const PLUGIN_NETWORKS: Web3Plugin.NetworkDescriptor[] = [ { @@ -52,7 +52,7 @@ export const PLUGIN_NETWORKS: Web3Plugin.NetworkDescriptor[] = [ networkSupporterPluginID: PLUGIN_ID, chainId: ChainId.Gorli, type: NetworkType.Ethereum, - name: 'GΓΆrli', + name: 'G\xf6rli', icon: new URL('./assets/ethereum.png', import.meta.url), iconColor: 'rgb(48, 153, 242)', isMainnet: false, diff --git a/packages/mask/src/plugins/External/SNSAdaptor/index.tsx b/packages/mask/src/plugins/External/SNSAdaptor/index.tsx index 8dbb5ca9f5e9..ddc825389186 100644 --- a/packages/mask/src/plugins/External/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/External/SNSAdaptor/index.tsx @@ -41,7 +41,7 @@ const sns: Plugin.SNSAdaptor.Definition = { ) }, - CompositionDialogEntry: { label: '🧩 Third party plugins', dialog: ThirdPartyPluginCompositionEntry }, + CompositionDialogEntry: { label: '\u{1F9E9} Third party plugins', dialog: ThirdPartyPluginCompositionEntry }, CompositionDialogMetadataBadgeRender: (key, val) => key.startsWith('plugin:') ? { diff --git a/packages/mask/src/plugins/External/base.ts b/packages/mask/src/plugins/External/base.ts index 3eeff9bad172..62da73770a3b 100644 --- a/packages/mask/src/plugins/External/base.ts +++ b/packages/mask/src/plugins/External/base.ts @@ -3,7 +3,7 @@ import { Flags } from '../../../shared' export const base: Plugin.Shared.Definition = { ID: PluginId.External, - icon: '🧩', + icon: '\u{1F9E9}', name: { fallback: 'Mask External Plugin Loader' }, description: { fallback: 'Able to load external plugins.' }, publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, diff --git a/packages/mask/src/plugins/FindTruman/base.ts b/packages/mask/src/plugins/FindTruman/base.ts index e18c8bc2cd13..8b9bb909e652 100644 --- a/packages/mask/src/plugins/FindTruman/base.ts +++ b/packages/mask/src/plugins/FindTruman/base.ts @@ -3,7 +3,7 @@ import { FIND_TRUMAN_PLUGIN_ID, FIND_TRUMAN_PLUGIN_NAME } from './constants' export const base: Plugin.Shared.Definition = { ID: FIND_TRUMAN_PLUGIN_ID, - icon: 'πŸ‘', + icon: '\u{1F441}', name: { fallback: FIND_TRUMAN_PLUGIN_NAME }, description: { fallback: 'A plugin for https://findtruman.io/', diff --git a/packages/mask/src/plugins/Gitcoin/constants.ts b/packages/mask/src/plugins/Gitcoin/constants.ts index 095a04604acd..2f636ab4f5ad 100644 --- a/packages/mask/src/plugins/Gitcoin/constants.ts +++ b/packages/mask/src/plugins/Gitcoin/constants.ts @@ -3,7 +3,7 @@ import { PluginId } from '@masknet/plugin-infra' export const PLUGIN_ID = PluginId.Gitcoin export const PLUGIN_META_KEY = `${PluginId.Gitcoin}:1` export const PLUGIN_NAME = 'Gitcoin' -export const PLUGIN_ICON = 'πŸ”—' +export const PLUGIN_ICON = '\u{1F517}' export const PLUGIN_DESCRIPTION = 'Gitcoin grants sustain web3 projects with quadratic funding.' // proxy for: https://gitcoin.co/grants/v1/api/grant/ diff --git a/packages/mask/src/plugins/GoodGhosting/constants.ts b/packages/mask/src/plugins/GoodGhosting/constants.ts index dfbe9053a36c..830710a8a49d 100644 --- a/packages/mask/src/plugins/GoodGhosting/constants.ts +++ b/packages/mask/src/plugins/GoodGhosting/constants.ts @@ -3,7 +3,7 @@ import { createERC20Tokens, getChainDetailed } from '@masknet/web3-shared-evm' export const PLUGIN_ID = PluginId.GoodGhosting export const PLUGIN_NAME = 'GoodGhosting' -export const PLUGIN_ICON = 'πŸ‘»' +export const PLUGIN_ICON = '\u{1F47B}' export const PLUGIN_DESCRIPTION = 'DeFi savings dApp game.' export const DAI = createERC20Tokens('DAI_ADDRESS', 'Dai Stablecoin', 'DAI', 18) diff --git a/packages/mask/src/plugins/ITO/base.ts b/packages/mask/src/plugins/ITO/base.ts index 819600954a46..4d293d2fa4eb 100644 --- a/packages/mask/src/plugins/ITO/base.ts +++ b/packages/mask/src/plugins/ITO/base.ts @@ -4,7 +4,7 @@ import { ITO_MetaKey_1, ITO_MetaKey_2, ITO_PluginID } from './constants' export const base: Plugin.Shared.Definition = { ID: ITO_PluginID, - icon: 'πŸš€', + icon: '\u{1F680}', name: { fallback: 'ITO' }, description: { fallback: 'Participate in Public Offering on Twitter.', diff --git a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawDialog.tsx b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawDialog.tsx index 7afd884bc3d4..3db817198d93 100644 --- a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawDialog.tsx +++ b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawDialog.tsx @@ -140,7 +140,7 @@ export function DrawDialog(props: DrawDialogProps) { {paymentTokenDetailed ? ( - β‰ˆ + `a poll of '${meta.question}' from ${meta.sender}`], ]), - CompositionDialogEntry: { label: 'πŸ—³οΈ Poll', dialog: PollsDialog }, + CompositionDialogEntry: { label: '\u{1F5F3}\uFE0F Poll', dialog: PollsDialog }, } export default sns diff --git a/packages/mask/src/plugins/Polls/constants.ts b/packages/mask/src/plugins/Polls/constants.ts index c64e8e08f5fe..89eba2685dbf 100644 --- a/packages/mask/src/plugins/Polls/constants.ts +++ b/packages/mask/src/plugins/Polls/constants.ts @@ -5,5 +5,5 @@ export const PollGunServer = 'com.maskbook.plugin.polls' export const PLUGIN_META_KEY = `${PluginId.Poll}:1` export const PLUGIN_ID = PluginId.Poll export const PLUGIN_NAME = 'Poll' -export const PLUGIN_ICON = 'πŸ—³οΈ' +export const PLUGIN_ICON = '\u{1F5F3}\uFE0F' export const PLUGIN_DESCRIPTION = 'Easily create a Poll for receiving public votes.' diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx index 7ae24d6df6a4..96ce6d0c585c 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx @@ -56,7 +56,7 @@ const sns: Plugin.SNSAdaptor.Definition = { RedPacketNftMetaKey, (_payload) => { const payload = _payload as RedPacketNftJSONPayload - return { text: <>{payload.message ? `🧧 ${payload.message}` : '🧧 An NFT Lucky Drop'} } + return { text: <>{payload.message ? `\u{1F9E7} ${payload.message}` : '\u{1F9E7} An NFT Lucky Drop'} } }, ], ]), @@ -85,7 +85,7 @@ function ERC20RedpacketBadge(props: ERC20RedpacketBadgeProps) { payload.token?.type === EthereumTokenType.Native ? chainDetailed?.nativeCurrency : payload.token ?? fetchedToken return ( <> - 🧧 A Lucky Drop with {formatBalance(payload.total, tokenDetailed?.decimals ?? 0)} $ + 🧧 A Lucky Drop with {formatBalance(payload.total, tokenDetailed?.decimals ?? 0)} $ {tokenDetailed?.symbol ?? tokenDetailed?.name ?? 'Token'} from {payload.sender.name} ) diff --git a/packages/mask/src/plugins/RedPacket/base.ts b/packages/mask/src/plugins/RedPacket/base.ts index eaa63eeb0f29..8770ebd8f402 100644 --- a/packages/mask/src/plugins/RedPacket/base.ts +++ b/packages/mask/src/plugins/RedPacket/base.ts @@ -4,7 +4,7 @@ import { RedPacketMetaKey, RedPacketNftMetaKey, RedPacketPluginID } from './cons export const base: Plugin.Shared.Definition = { ID: RedPacketPluginID, - icon: '🧧', + icon: '\u{1F9E7}', name: { fallback: 'Lucky drop' }, description: { fallback: diff --git a/packages/mask/src/plugins/Snapshot/base.ts b/packages/mask/src/plugins/Snapshot/base.ts index db6dc7546454..87f26471b92d 100644 --- a/packages/mask/src/plugins/Snapshot/base.ts +++ b/packages/mask/src/plugins/Snapshot/base.ts @@ -3,7 +3,7 @@ import { SNAPSHOT_PLUGIN_ID } from './constants' export const base: Plugin.Shared.Definition = { ID: SNAPSHOT_PLUGIN_ID, - icon: 'πŸ“·', + icon: '\u{1F4F7}', name: { fallback: 'Snapshot' }, description: { fallback: 'A plugin for https://snapshot.org/', diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx index af69e295c424..7a47aace6378 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx @@ -180,7 +180,7 @@ export const InputTokenPanel = memo( ), endAdornment: ( - β‰ˆ + ≈ ), }} diff --git a/packages/mask/src/plugins/Trader/base.ts b/packages/mask/src/plugins/Trader/base.ts index 7d3cff500d86..d63096823e1b 100644 --- a/packages/mask/src/plugins/Trader/base.ts +++ b/packages/mask/src/plugins/Trader/base.ts @@ -3,7 +3,7 @@ import { PLUGIN_ID } from './constants' export const base: Plugin.Shared.Definition = { ID: PLUGIN_ID, - icon: 'πŸ’±', + icon: '\u{1F4B1}', name: { fallback: 'Trader' }, description: { fallback: 'View trending of cryptocurrencies, swap ERC20 tokens in various DEX markets.' }, publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, diff --git a/packages/mask/src/plugins/Trader/constants/uniswap.ts b/packages/mask/src/plugins/Trader/constants/uniswap.ts index ae337d9f65e2..29999265966e 100644 --- a/packages/mask/src/plugins/Trader/constants/uniswap.ts +++ b/packages/mask/src/plugins/Trader/constants/uniswap.ts @@ -1,3 +1,4 @@ +/* eslint-disable @dimensiondev/no-bigint */ import { ChainId } from '@masknet/web3-shared-evm' import { Percent } from '@uniswap/sdk-core' import JSBI from 'jsbi' diff --git a/packages/mask/src/plugins/Trader/helpers/uniswap.ts b/packages/mask/src/plugins/Trader/helpers/uniswap.ts index ae9ba1b47d7e..de23cf1fd195 100644 --- a/packages/mask/src/plugins/Trader/helpers/uniswap.ts +++ b/packages/mask/src/plugins/Trader/helpers/uniswap.ts @@ -1,3 +1,4 @@ +/* eslint-disable @dimensiondev/no-bigint */ import JSBI from 'jsbi' import { memoize } from 'lodash-unified' import BigNumber from 'bignumber.js' diff --git a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts index c76d2998fc88..e6ac31173246 100644 --- a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts +++ b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts @@ -1,3 +1,4 @@ +/* eslint-disable @dimensiondev/no-bigint */ import { useMemo } from 'react' import JSBI from 'jsbi' import { Trade as V2Trade } from '@uniswap/v2-sdk' diff --git a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts index 74fbf4abe697..af6771d359c9 100644 --- a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts +++ b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts @@ -1,3 +1,4 @@ +/* eslint-disable @dimensiondev/no-bigint */ import { useMemo } from 'react' import JSBI from 'jsbi' import { Percent, TradeType } from '@uniswap/sdk-core' diff --git a/packages/mask/src/plugins/Transak/constants.ts b/packages/mask/src/plugins/Transak/constants.ts index 24f2c9e5e310..a1d784cba3f9 100644 --- a/packages/mask/src/plugins/Transak/constants.ts +++ b/packages/mask/src/plugins/Transak/constants.ts @@ -6,5 +6,5 @@ export const TRANSAK_API_KEY_STAGING = '4fcd6904-706b-4aff-bd9d-77422813bbb7' export const PLUGIN_ID = PluginId.Transak export const PLUGIN_META_KEY = `${PluginId.Transak}:1` export const PLUGIN_NAME = 'Transak' -export const PLUGIN_ICON = 'πŸ’Έ' +export const PLUGIN_ICON = '\u{1F4B8}' export const PLUGIN_DESCRIPTION = 'The Fiat On-Ramp Aggregator on Mask Network.' diff --git a/packages/mask/src/plugins/UnlockProtocol/constants.ts b/packages/mask/src/plugins/UnlockProtocol/constants.ts index def5d0be64fd..fb91e2f5bf01 100644 --- a/packages/mask/src/plugins/UnlockProtocol/constants.ts +++ b/packages/mask/src/plugins/UnlockProtocol/constants.ts @@ -1,7 +1,7 @@ import { PluginId } from '@masknet/plugin-infra' import { ChainId } from '@masknet/web3-shared-evm' -export const pluginIcon = 'πŸ”“' +export const pluginIcon = '\u{1F513}' export const pluginName = 'Unlock Protocol' export const pluginDescription = 'Post content behind a secure paywall' export const pluginId = PluginId.UnlockProtocol diff --git a/packages/mask/src/plugins/VCent/constants.ts b/packages/mask/src/plugins/VCent/constants.ts index c16a4e1a48ae..ccfc805b823c 100644 --- a/packages/mask/src/plugins/VCent/constants.ts +++ b/packages/mask/src/plugins/VCent/constants.ts @@ -10,5 +10,5 @@ export const VALUABLES_VCENT_URL = 'https://v.cent.co/tweet/' export const PLUGIN_ID = PluginId.Valuables export const PLUGIN_META_KEY = `${PluginId.Valuables}:1` export const PLUGIN_NAME = 'vCent' -export const PLUGIN_ICON = 'πŸ”“' +export const PLUGIN_ICON = '\u{1F513}' export const PLUGIN_DESCRIPTION = 'A Plugin for https://v.cent.co/' diff --git a/packages/mask/src/plugins/Wallet/SNSAdaptor/GasSettingDialog/GasSettingBar.tsx b/packages/mask/src/plugins/Wallet/SNSAdaptor/GasSettingDialog/GasSettingBar.tsx index 1ff59d16f09c..bf20837fe433 100644 --- a/packages/mask/src/plugins/Wallet/SNSAdaptor/GasSettingDialog/GasSettingBar.tsx +++ b/packages/mask/src/plugins/Wallet/SNSAdaptor/GasSettingDialog/GasSettingBar.tsx @@ -83,7 +83,7 @@ export function GasSettingBar(props: GasSettingBarProps) { - {formatWeiToEther(gasFee).toFixed(6)} {nativeTokenDetailed?.symbol ?? ''} β‰ˆ + {formatWeiToEther(gasFee).toFixed(6)} {nativeTokenDetailed?.symbol ?? ''} ≈ diff --git a/packages/mask/src/settings/settings.ts b/packages/mask/src/settings/settings.ts index b26a0119b832..2669f50d0ef1 100644 --- a/packages/mask/src/settings/settings.ts +++ b/packages/mask/src/settings/settings.ts @@ -45,7 +45,7 @@ export const pluginIDSettings = createGlobalSettings('pluginID', PLUGIN_ //#region network setting /** - * Expected Usage:export const currentImagePayloadStatus = createNetworkSettings('currentImagePayloadStatus') + * Expected Usage: export const currentImagePayloadStatus = createNetworkSettings('currentImagePayloadStatus') * * Work around the issue: * https://github.com/microsoft/TypeScript/issues/42873 diff --git a/packages/mask/src/social-network-adaptor/facebook.com/automation/pasteTextToComposition.ts b/packages/mask/src/social-network-adaptor/facebook.com/automation/pasteTextToComposition.ts index d64082be4eb2..9e45bf411764 100644 --- a/packages/mask/src/social-network-adaptor/facebook.com/automation/pasteTextToComposition.ts +++ b/packages/mask/src/social-network-adaptor/facebook.com/automation/pasteTextToComposition.ts @@ -11,7 +11,7 @@ async function openPostDialogFacebook() { const notActivated = isMobileFacebook ? new LiveSelector().querySelector('[role="textbox"]') : new LiveSelector() - .querySelector(`[role="region"]`) + .querySelector('[role="region"]') .querySelector('textarea, [aria-multiline="true"]') .closest(1) const activated = new LiveSelector().querySelector( diff --git a/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts b/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts index 3486e50dce1d..8cb5a45a8e69 100644 --- a/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts +++ b/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts @@ -40,7 +40,7 @@ function resolveLastRecognizedIdentityFacebookInner(ref: ValueRef, signal // Try to resolve my identities const myUsernameLiveSelectorPC = new LiveSelector() .querySelectorAll( - `[data-pagelet="LeftRail"] > [data-visualcompletion="ignore-dynamic"]:first-child > div:first-child > ul [role="link"]`, + '[data-pagelet="LeftRail"] > [data-visualcompletion="ignore-dynamic"]:first-child > div:first-child > ul [role="link"]', ) .filter((x) => x.innerText) diff --git a/packages/mask/src/social-network-adaptor/facebook.com/injection/PostInspector.tsx b/packages/mask/src/social-network-adaptor/facebook.com/injection/PostInspector.tsx index 3be6d9351788..0ea99a16375c 100644 --- a/packages/mask/src/social-network-adaptor/facebook.com/injection/PostInspector.tsx +++ b/packages/mask/src/social-network-adaptor/facebook.com/injection/PostInspector.tsx @@ -47,7 +47,7 @@ function zipPostLinkPreview(node: DOMProxy) { function zipEncryptedPostContent(node: DOMProxy) { const parent = node.current.parentElement // It's image based encryption, skip zip post. - if (!node.current.innerText.includes('🎼')) return + if (!node.current.innerText.includes('\u{1F3BC}')) return // Style modification for repost if (!node.current.className.includes('userContent') && node.current.innerText.length > 0) { node.after.setAttribute( @@ -77,7 +77,7 @@ export function clickSeeMore(node: HTMLElement | undefined | null) { isMobileFacebook ? '[data-sigil="more"] a' : '[role=article] span[dir="auto"] div[dir="auto"] [role="button"]', ) - if (more && node.querySelector('img[alt="🎼"]')) { + if (more && node.querySelector('img[alt="\u{1F3BC}"]')) { const trap = (e: Event) => { e.preventDefault() } diff --git a/packages/mask/src/social-network-adaptor/twitter.com/encoding.ts b/packages/mask/src/social-network-adaptor/twitter.com/encoding.ts index 1d49abb23240..4eb9420355b2 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/encoding.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/encoding.ts @@ -29,7 +29,7 @@ export const twitterEncoding = { /** * @link https://github.com/DimensionDev/Maskbook/issues/191 */ - publicKeyEncoder: (text: string) => `🎭${ICAO9303Checksum.encode(text)}🎭`, + publicKeyEncoder: (text: string) => `\u{1F3AD}${ICAO9303Checksum.encode(text)}\u{1F3AD}`, publicKeyDecoder: (text: string): string[] => { const r = regexMatchAll(text, /([\d+/=A-Za-z]{20,60})/) if (isNull(r)) { diff --git a/packages/mask/src/social-network-adaptor/twitter.com/injection/PostInspector.tsx b/packages/mask/src/social-network-adaptor/twitter.com/injection/PostInspector.tsx index ca1714fd5891..ec793e6d3ae9 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/injection/PostInspector.tsx +++ b/packages/mask/src/social-network-adaptor/twitter.com/injection/PostInspector.tsx @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import type { PostInfo } from '../../../social-network/PostInfo' import { injectPostInspectorDefault } from '../../../social-network/defaults/inject/PostInspector' import { twitterEncoding } from '../encoding' @@ -20,7 +21,7 @@ export function injectPostInspectorAtTwitter(signal: AbortSignal, current: PostI // match (.) (\n) (β€”Β§β€”) (any space) (/*) // Note: In Chinese we can't hide dom because "θ§£ε―†θΏ™ζ‘ζŽ¨ζ–‡γ€‚\nβ€”Β§β€”" is in the same DOM // hide it will break the sentence. - if (span.innerText.match(/^\.\nβ€”Β§β€” +\/\* $/)) hideDOM(span) + if (span.innerText.match(/^\.\n\u2014\u00A7\u2014 +\/\* $/)) hideDOM(span) // match (any space) (*/) (any space) if (span.innerText.match(/^ +\*\/ ?$/)) hideDOM(span) } diff --git a/packages/mask/src/social-network-adaptor/twitter.com/utils/fetch.ts b/packages/mask/src/social-network-adaptor/twitter.com/utils/fetch.ts index ccec1a55ae5d..ce6fcc543261 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/utils/fetch.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/utils/fetch.ts @@ -70,7 +70,7 @@ export const postNameParser = (node: HTMLElement) => { export const postAvatarParser = (node: HTMLElement) => { const tweetElement = node.querySelector('[data-testid="tweet"]') ?? node - const avatarElement = tweetElement.children[0].querySelector(`img[src*="twimg.com"]`) + const avatarElement = tweetElement.children[0].querySelector('img[src*="twimg.com"]') return avatarElement ? avatarElement.src : undefined } diff --git a/packages/mask/src/social-network-adaptor/twitter.com/utils/selector.ts b/packages/mask/src/social-network-adaptor/twitter.com/utils/selector.ts index 400dd9abd114..f4e1892ebe66 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/utils/selector.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/utils/selector.ts @@ -131,7 +131,7 @@ export const bioPageUserIDSelector = (selector: () => LiveSelector (x.parentElement?.nextElementSibling as HTMLElement).innerText.replace('@', '')) export const floatingBioCardSelector = () => querySelector( - `[style~="left:"] a[role=link] > div:first-child > div:first-child > div:first-child[dir="auto"]`, + '[style~="left:"] a[role=link] > div:first-child > div:first-child > div:first-child[dir="auto"]', ) export const postsImageSelector = (node: HTMLElement) => diff --git a/packages/mask/src/utils/getTextUILength.ts b/packages/mask/src/utils/getTextUILength.ts index 2fd1a0d6641f..443dbfed1ecb 100644 --- a/packages/mask/src/utils/getTextUILength.ts +++ b/packages/mask/src/utils/getTextUILength.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ export function getTextUILength(text: string) { return Array.from(text).reduce((acc, char) => acc + getCharUILength(char), 0) } diff --git a/packages/mask/src/utils/type-transform/Payload.ts b/packages/mask/src/utils/type-transform/Payload.ts index 0605676ea5ee..1042756774e7 100644 --- a/packages/mask/src/utils/type-transform/Payload.ts +++ b/packages/mask/src/utils/type-transform/Payload.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import type { SocialNetwork } from '../../social-network' import { isEnvironment, Environment } from '@dimensiondev/holoflows-kit' import { i18n } from '../../../shared-ui/locales_legacy' @@ -16,12 +17,12 @@ function deconstructAlpha40_Or_Alpha39_Or_Alpha38(str: string, throws = false): // ? if publicShared is true, that means AESKeyEncrypted is shared with public // ? "1" treated as true, "0" or not defined treated as false // ? authorIdentifier is encoded as `${network}/${id}` - const isVersion40 = str.includes('🎼2/4') - const isVersion39 = str.includes('🎼3/4') - const isVersion38 = str.includes('🎼4/4') - str = str.replace('🎼2/4', '🎼3/4') - str = str.replace('🎼3/4', '🎼4/4') - const [_, payloadStart] = str.split('🎼4/4|') + const isVersion40 = str.includes('\u{1F3BC}2/4') + const isVersion39 = str.includes('\u{1F3BC}3/4') + const isVersion38 = str.includes('\u{1F3BC}4/4') + str = str.replace('\u{1F3BC}2/4', '\u{1F3BC}3/4') + str = str.replace('\u{1F3BC}3/4', '\u{1F3BC}4/4') + const [_, payloadStart] = str.split('\u{1F3BC}4/4|') if (!payloadStart) if (throws) throw new Error(i18n.t('payload_not_found')) else return null @@ -61,7 +62,7 @@ function deconstructAlpha40_Or_Alpha39_Or_Alpha38(str: string, throws = false): function deconstructAlpha41(str: string, throws = false): null | never { // 🎼1/4|ownersAESKeyEncrypted|iv|encryptedText|signature:|| - if (str.includes('🎼1/4') && str.includes(':||')) + if (str.includes('\u{1F3BC}1/4') && str.includes(':||')) if (throws) throw new Error(i18n.t('payload_throw_in_alpha41')) else return null return null @@ -88,7 +89,7 @@ export function deconstructPayload(str: string, networkDecoder?: Decoder): Resul if (payload) return Ok(payload) } } - if (str.includes('🎼') && str.includes(':||')) return Err(new TypeError(i18n.t('service_unknown_payload'))) + if (str.includes('\u{1F3BC}') && str.includes(':||')) return Err(new TypeError(i18n.t('service_unknown_payload'))) return Err(new TypeError(i18n.t('payload_not_found'))) } @@ -106,5 +107,5 @@ export function constructAlpha38(data: PayloadAlpha38, encoder?: Encoder) { data.sharedPublic ? '1' : '0', userID.includes('|') ? undefined : btoa(userID), ] - return encoder(`🎼4/4|${fields.join('|')}:||`) + return encoder(`\u{1F3BC}4/4|${fields.join('|')}:||`) } diff --git a/packages/mask/src/web3/UI/EthereumERC20TokenApprovedBoundary.tsx b/packages/mask/src/web3/UI/EthereumERC20TokenApprovedBoundary.tsx index 5c344118c787..38e700affb33 100644 --- a/packages/mask/src/web3/UI/EthereumERC20TokenApprovedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumERC20TokenApprovedBoundary.tsx @@ -159,7 +159,7 @@ export function EthereumERC20TokenApprovedBoundary(props: EthereumERC20TokenAppr {approveStateType === ApproveStateType.PENDING ? t('plugin_ito_unlocking_symbol', { symbol: token.symbol }) : `Updating ${token.symbol}`} - … + … ) diff --git a/packages/plugin-infra/src/types.ts b/packages/plugin-infra/src/types.ts index d39e60a70d30..c5239b4614a6 100644 --- a/packages/plugin-infra/src/types.ts +++ b/packages/plugin-infra/src/types.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import type React from 'react' import type { Option, Result } from 'ts-results' import type { diff --git a/packages/plugins/DAO/src/base.ts b/packages/plugins/DAO/src/base.ts index b487b965fe7c..3f48e08c8232 100644 --- a/packages/plugins/DAO/src/base.ts +++ b/packages/plugins/DAO/src/base.ts @@ -4,7 +4,7 @@ import { languages } from './locales/languages' export const base: Plugin.Shared.Definition = { ID: PLUGIN_ID, - icon: 'πŸ§ƒ', + icon: '\u{1F9C3}', name: { fallback: PLUGIN_NAME }, description: { fallback: PLUGIN_DESCRIPTION }, publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, diff --git a/packages/plugins/Debugger/src/base.ts b/packages/plugins/Debugger/src/base.ts index fb136003c437..20b861acb7c9 100644 --- a/packages/plugins/Debugger/src/base.ts +++ b/packages/plugins/Debugger/src/base.ts @@ -4,7 +4,7 @@ import { languages } from './locales/languages' export const base: Plugin.Shared.Definition = { ID: PLUGIN_ID, - icon: 'πŸ›', + icon: '\u{1F41B}', name: { fallback: PLUGIN_NAME }, description: { fallback: PLUGIN_DESCRIPTION }, publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, diff --git a/packages/plugins/FileService/src/SNSAdaptor/components/Uploading.tsx b/packages/plugins/FileService/src/SNSAdaptor/components/Uploading.tsx index 373e8220e664..7ed8bf8799be 100644 --- a/packages/plugins/FileService/src/SNSAdaptor/components/Uploading.tsx +++ b/packages/plugins/FileService/src/SNSAdaptor/components/Uploading.tsx @@ -65,7 +65,7 @@ export const Uploading: React.FC = () => { block: state.block, type: state.type, }), - 60000, // β‰ˆ 1 minute + 60000, // = 1 minute ) setPreparing(false) for await (const pctComplete of PluginFileServiceRPCGenerator.upload(payloadTxID)) { @@ -80,7 +80,7 @@ export const Uploading: React.FC = () => { key: state.key, useCDN: state.useCDN, }), - 300000, // β‰ˆ 5 minutes + 300000, // = 5 minutes ) const item: FileInfo = { type: 'file', diff --git a/packages/plugins/Flow/src/constants.ts b/packages/plugins/Flow/src/constants.ts index f9a5a1532d48..e5f825915b50 100644 --- a/packages/plugins/Flow/src/constants.ts +++ b/packages/plugins/Flow/src/constants.ts @@ -4,7 +4,7 @@ import { ChainId, NetworkType, ProviderType } from '@masknet/web3-shared-flow/ty export const PLUGIN_ID = PluginId.Flow export const PLUGIN_META_KEY = `${PluginId.Flow}:1` export const PLUGIN_NAME = 'Flow Chain' -export const PLUGIN_ICON = 'βš™οΈ' +export const PLUGIN_ICON = '\u2699\uFE0F' export const PLUGIN_DESCRIPTION = '' export const PLUGIN_NETWORKS: Web3Plugin.NetworkDescriptor[] = [ { diff --git a/packages/plugins/RSS3/src/base.ts b/packages/plugins/RSS3/src/base.ts index eda7d44d2389..4f3271194f12 100644 --- a/packages/plugins/RSS3/src/base.ts +++ b/packages/plugins/RSS3/src/base.ts @@ -4,7 +4,7 @@ import { PLUGIN_NAME, PLUGIN_ID, PLUGIN_DESCRIPTION } from './constants' export const base: Plugin.Shared.Definition = { ID: PLUGIN_ID, - icon: 'πŸ€”', + icon: '\u{1F914}', name: { fallback: PLUGIN_NAME }, description: { fallback: PLUGIN_DESCRIPTION }, publisher: { name: { fallback: PLUGIN_NAME }, link: 'https://rss3.bio/' }, diff --git a/packages/plugins/Solana/src/constants.ts b/packages/plugins/Solana/src/constants.ts index e91744765cc5..63b59791f410 100644 --- a/packages/plugins/Solana/src/constants.ts +++ b/packages/plugins/Solana/src/constants.ts @@ -4,7 +4,7 @@ import { ChainId, NetworkType, ProviderType } from '@masknet/web3-shared-solana' export const PLUGIN_META_KEY = 'com.mask.solana' export const PLUGIN_ID = 'com.mask.solana' export const PLUGIN_NAME = 'Solana Chain' -export const PLUGIN_ICON = 'πŸŒ…' +export const PLUGIN_ICON = '\u{1F305}' export const PLUGIN_DESCRIPTION = '' export const PLUGIN_NETWORKS: Web3Plugin.NetworkDescriptor[] = [ { diff --git a/packages/plugins/Wallet/src/constants.ts b/packages/plugins/Wallet/src/constants.ts index 0062e0060e36..d6a8819c8a8c 100644 --- a/packages/plugins/Wallet/src/constants.ts +++ b/packages/plugins/Wallet/src/constants.ts @@ -3,7 +3,7 @@ import { PluginId } from '@masknet/plugin-infra' //#region plugin definitions export const PLUGIN_ID = PluginId.Wallet export const PLUGIN_NAME = 'Wallet' -export const PLUGIN_ICON = 'πŸ’°' +export const PLUGIN_ICON = '\u{1F4B0}' export const PLUGIN_DESCRIPTION = 'Mask Wallet' //#endregion diff --git a/packages/plugins/example/src/SNSAdaptor/index.tsx b/packages/plugins/example/src/SNSAdaptor/index.tsx index 4eb02c36bccd..dfc72962538b 100644 --- a/packages/plugins/example/src/SNSAdaptor/index.tsx +++ b/packages/plugins/example/src/SNSAdaptor/index.tsx @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ import type { Plugin } from '@masknet/plugin-infra' import { base } from '../base' @@ -12,8 +13,8 @@ const sns: Plugin.SNSAdaptor.Definition = { // DecryptedInspector: HelloWorld, // GlobalInjection: GlobalComponent, CompositionDialogEntry: { - label: { i18nKey: '__entry__', fallback: 'πŸ€” Example' }, - onClick: () => alert('It works β„’!'), + label: { i18nKey: '__entry__', fallback: '\u{1F914} Example' }, + onClick: () => alert('It works \u2122!'), }, // CompositionDialogEntry: { // label: '🀣 Example Dialog', diff --git a/packages/plugins/example/src/base.ts b/packages/plugins/example/src/base.ts index dbca2f7ca98d..91c241b2b017 100644 --- a/packages/plugins/example/src/base.ts +++ b/packages/plugins/example/src/base.ts @@ -4,7 +4,7 @@ import { languages } from './locales/languages' export const base: Plugin.Shared.Definition = { ID: PLUGIN_ID, - icon: 'πŸ§ͺ', + icon: '\u{1F9EA}', name: { fallback: PLUGIN_NAME }, description: { fallback: PLUGIN_DESCRIPTION }, publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, diff --git a/packages/polyfills/ecmascript-intl/ListFormat.ts b/packages/polyfills/ecmascript-intl/ListFormat.ts index 452cbacaf163..c6265efcc34f 100644 --- a/packages/polyfills/ecmascript-intl/ListFormat.ts +++ b/packages/polyfills/ecmascript-intl/ListFormat.ts @@ -5,8 +5,8 @@ if (!Intl.ListFormat) { constructor(public locales?: string | Partial, options?: Intl.ListFormatOptions) {} format(string: string[]) { const locale = typeof this.locales === 'string' ? this.locales : navigator.language - if (locale.startsWith('zh')) return string.join('、') - if (locale.startsWith('ja')) return string.join('、') + if (locale.startsWith('zh')) return string.join('\u3001') + if (locale.startsWith('ja')) return string.join('\u3001') return string.join(', ') } } diff --git a/packages/shared-base/src/TypedMessage/deprecated-encode/index.ts b/packages/shared-base/src/TypedMessage/deprecated-encode/index.ts index d5a8783db560..ff73a4da28f1 100644 --- a/packages/shared-base/src/TypedMessage/deprecated-encode/index.ts +++ b/packages/shared-base/src/TypedMessage/deprecated-encode/index.ts @@ -6,7 +6,7 @@ export function encodeTypedMessageV38Format(message: TypedMessageText) { const encoder = new TextEncoder() if (message.meta?.size) { const rec = Object.fromEntries(message.meta.entries()) - return encoder.encode(`${JSON.stringify(rec)}🧩${message.content}`) + return encoder.encode(`${JSON.stringify(rec)}\u{1F9E9}${message.content}`) } return encoder.encode(message.content) } @@ -18,8 +18,8 @@ export function decodeTypedMessageV38ToV40Format(raw: Uint8Array, version: -38 | if (version === -38) { const maybeMetadata = (() => { - if (!val.includes('🧩')) return None - const [maybeJSON] = val.split('🧩') + if (!val.includes('\u{1F9E9}')) return None + const [maybeJSON] = val.split('\u{1F9E9}') return Result.wrap(() => JSON.parse(maybeJSON)) .toOption() .map((val) => { @@ -29,7 +29,7 @@ export function decodeTypedMessageV38ToV40Format(raw: Uint8Array, version: -38 | })() return Ok( maybeMetadata.some - ? makeTypedMessageText(val.replace(/.+🧩/, ''), maybeMetadata.val) + ? makeTypedMessageText(val.replace(/.+\u{1F9E9}/u, ''), maybeMetadata.val) : makeTypedMessageText(val), ) } diff --git a/packages/shared/src/UI/components/ERC20TokenList/ERC20TokenListItem.tsx b/packages/shared/src/UI/components/ERC20TokenList/ERC20TokenListItem.tsx index 85868878177b..bfd63e45f04e 100644 --- a/packages/shared/src/UI/components/ERC20TokenList/ERC20TokenListItem.tsx +++ b/packages/shared/src/UI/components/ERC20TokenList/ERC20TokenListItem.tsx @@ -146,7 +146,7 @@ export const getERC20TokenListItem = {symbol} {name} - {isAdded && β€’ Added By User} + {isAdded && • Added By User} diff --git a/packages/shared/src/UI/components/ErrorBoundary/CrashUI.tsx b/packages/shared/src/UI/components/ErrorBoundary/CrashUI.tsx index 6b10be735685..2cef53532400 100644 --- a/packages/shared/src/UI/components/ErrorBoundary/CrashUI.tsx +++ b/packages/shared/src/UI/components/ErrorBoundary/CrashUI.tsx @@ -28,7 +28,7 @@ export function CrashUI({ onRetry, subject, ...error }: CrashUIProps) { // It seems like DOM mutation from out of our application might conflict with React reconciliation. // As a temporary fix, try to recover this React tree after 200ms. useTimeoutFn(() => { - if (error.message.includes(`Failed to execute 'insertBefore' on 'Node'`)) { + if (error.message.includes("Failed to execute 'insertBefore' on 'Node'")) { onRetry() } }, 200) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ab4973aff46..89e241d3ed1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: specifiers: '@commitlint/cli': ^16.0.0 '@commitlint/config-conventional': ^16.0.0 - '@dimensiondev/eslint-plugin': ^0.0.1-20220110102506-9f382ee + '@dimensiondev/eslint-plugin': ^0.0.1-20220116034522-fbb0696 '@dimensiondev/kit': 0.0.0-20211215044858-27d964f '@dimensiondev/patch-package': ^6.5.0 '@emotion/cache': ^11.7.1 @@ -89,7 +89,7 @@ importers: devDependencies: '@commitlint/cli': 16.0.0 '@commitlint/config-conventional': 16.0.0 - '@dimensiondev/eslint-plugin': 0.0.1-20220110102506-9f382ee_eslint@8.5.0 + '@dimensiondev/eslint-plugin': 0.0.1-20220116034522-fbb0696_7c4253b9684f61cbac963c815f3d723d '@dimensiondev/patch-package': 6.5.0 '@jest/globals': 27.4.4 '@magic-works/i18n-codegen': 0.0.6_typescript@4.6.0-dev.20211202 @@ -3454,13 +3454,17 @@ packages: '@msgpack/msgpack': 1.12.2 dev: false - /@dimensiondev/eslint-plugin/0.0.1-20220110102506-9f382ee_eslint@8.5.0: - resolution: {integrity: sha512-DFNWb35mRshQA4OZzRmqPAENf49I+3/2i5mY8b37oi/i3sB+WjK8Z9BQjpz8uf+lURMhs1CdzJp9oQoTA08YZg==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220110102506-9f382ee/00bf74704d413d6c24deba9f94bcfb2e13a94634263dc71695c71630d7716785} - engines: {node: '>= 14'} + /@dimensiondev/eslint-plugin/0.0.1-20220116034522-fbb0696_7c4253b9684f61cbac963c815f3d723d: + resolution: {integrity: sha512-ZvWVbMAc9WYdekhIkRAxfe90vM2mhqb3idR5IoNbOOor3uwBjdSxpyJGeOOdq/Ye3jkCM5suMlVSkzFWXbGCSA==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220116034522-fbb0696/d140d86f6322b1b7d643c536c023fb2238d3739591bad4d06d80c4ef6d2e20cc} peerDependencies: eslint: '>= 8' dependencies: eslint: 8.5.0 + optionalDependencies: + '@typescript-eslint/experimental-utils': 5.8.0_7c4253b9684f61cbac963c815f3d723d + transitivePeerDependencies: + - supports-color + - typescript dev: true /@dimensiondev/holoflows-kit/0.9.0-20210902104757-7c3d0d0: @@ -15209,7 +15213,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.2.7 - ignore: 5.1.9 + ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 dev: true From 2551a7483d106552e49e50f31352a59e036f52ed Mon Sep 17 00:00:00 2001 From: Septs Date: Sun, 16 Jan 2022 12:21:02 +0800 Subject: [PATCH 2/8] chore: improve linter --- .github/workflows/linters.yml | 2 +- packages/dashboard/src/utils/checkLengthExceed.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 7ac515463603..6d4faf792401 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -29,7 +29,7 @@ jobs: with: ref: ${{ github.event.pull_request.head.sha }} - uses: actions/setup-node@v2 - - run: npx anti-trojan-source --files='packages/**/*' + - run: npx anti-trojan-source --files='packages/**/src/**/*.{ts,tsx,js}' locale-kit: runs-on: ubuntu-20.04 steps: diff --git a/packages/dashboard/src/utils/checkLengthExceed.ts b/packages/dashboard/src/utils/checkLengthExceed.ts index 591531684cd1..6dae8832c2be 100644 --- a/packages/dashboard/src/utils/checkLengthExceed.ts +++ b/packages/dashboard/src/utils/checkLengthExceed.ts @@ -1,3 +1,4 @@ +/* eslint @dimensiondev/unicode-specific-set: ["error", { "only": "code" }] */ export const PERSONA_NAME_MAX_LENGTH = 24 export function isPersonaNameLengthValid(value: string) { // Array.from(string).length is not equal to string.length. From abf2d4868545a84313117fc0f06e703f33a3237b Mon Sep 17 00:00:00 2001 From: Septs Date: Sun, 16 Jan 2022 12:25:26 +0800 Subject: [PATCH 3/8] chore: improve linter --- packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx index 96ce6d0c585c..acdb3910cf82 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx @@ -56,7 +56,7 @@ const sns: Plugin.SNSAdaptor.Definition = { RedPacketNftMetaKey, (_payload) => { const payload = _payload as RedPacketNftJSONPayload - return { text: <>{payload.message ? `\u{1F9E7} ${payload.message}` : '\u{1F9E7} An NFT Lucky Drop'} } + return { text: <>🧧 {payload.message ? payload.message : 'An NFT Lucky Drop'} } }, ], ]), From 3f9f26058bbda33287b54c6d762523ea4574605e Mon Sep 17 00:00:00 2001 From: Septs Date: Sun, 16 Jan 2022 19:16:22 +0800 Subject: [PATCH 4/8] fix: no-unneeded-ternary --- package.json | 2 +- packages/.eslintrc.json | 1 + .../encryption/src/payload_internal/version-38.parser.ts | 2 +- packages/mask/src/plugins/Polls/SNSAdaptor/Polls.tsx | 2 +- .../mask/src/plugins/Snapshot/SNSAdaptor/ResultCard.tsx | 2 +- pnpm-lock.yaml | 8 ++++---- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index cf4bbc41ae0b..b21090a8f21d 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@commitlint/cli": "^16.0.0", "@commitlint/config-conventional": "^16.0.0", - "@dimensiondev/eslint-plugin": "^0.0.1-20220116034522-fbb0696", + "@dimensiondev/eslint-plugin": "^0.0.1-20220116105305-d9a843f", "@dimensiondev/patch-package": "^6.5.0", "@jest/globals": "^27.4.4", "@magic-works/i18n-codegen": "^0.0.6", diff --git a/packages/.eslintrc.json b/packages/.eslintrc.json index fd8b88065e53..b2a43f04c3e8 100644 --- a/packages/.eslintrc.json +++ b/packages/.eslintrc.json @@ -33,6 +33,7 @@ "no-script-url": "error", "no-throw-literal": "error", "no-unmodified-loop-condition": "error", + "no-unneeded-ternary": "error", "no-useless-concat": "error", "prefer-regex-literals": "error", "react/jsx-boolean-value": "error", diff --git a/packages/encryption/src/payload_internal/version-38.parser.ts b/packages/encryption/src/payload_internal/version-38.parser.ts index 8c6aa54f0bc0..ef83c8ea43a1 100644 --- a/packages/encryption/src/payload_internal/version-38.parser.ts +++ b/packages/encryption/src/payload_internal/version-38.parser.ts @@ -108,7 +108,7 @@ function splitFields(raw: string) { signature: (signature === '_' ? undefined : signature) as string | undefined, authorPublicKey: authorPublicKey as string | undefined, authorUserID, - isPublic: isPublic === '1' ? true : false, + isPublic: isPublic === '1', } } diff --git a/packages/mask/src/plugins/Polls/SNSAdaptor/Polls.tsx b/packages/mask/src/plugins/Polls/SNSAdaptor/Polls.tsx index d4ab80fc5c09..9f3b7072aabe 100644 --- a/packages/mask/src/plugins/Polls/SNSAdaptor/Polls.tsx +++ b/packages/mask/src/plugins/Polls/SNSAdaptor/Polls.tsx @@ -67,7 +67,7 @@ interface PollCardProps { export function PollCardUI(props: PollCardProps) { const { poll, onClick, vote, status } = props const { classes } = useStyles() - const isClosed = Date.now() > poll.end_time ? true : false + const isClosed = Date.now() > poll.end_time const { t } = useI18N() const lang = useLanguage() diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/ResultCard.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/ResultCard.tsx index 1af154b357c4..186fe074ea40 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/ResultCard.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/ResultCard.tsx @@ -80,7 +80,7 @@ function Content() { ) useEffect(() => { - setTooltipsVisible(listRef.current.map((element) => (element.offsetWidth === choiceMaxWidth ? true : false))) + setTooltipsVisible(listRef.current.map((element) => element.offsetWidth === choiceMaxWidth)) }, []) const dataForCsv = useMemo( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 89e241d3ed1a..a0f87c30b96e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: specifiers: '@commitlint/cli': ^16.0.0 '@commitlint/config-conventional': ^16.0.0 - '@dimensiondev/eslint-plugin': ^0.0.1-20220116034522-fbb0696 + '@dimensiondev/eslint-plugin': ^0.0.1-20220116105305-d9a843f '@dimensiondev/kit': 0.0.0-20211215044858-27d964f '@dimensiondev/patch-package': ^6.5.0 '@emotion/cache': ^11.7.1 @@ -89,7 +89,7 @@ importers: devDependencies: '@commitlint/cli': 16.0.0 '@commitlint/config-conventional': 16.0.0 - '@dimensiondev/eslint-plugin': 0.0.1-20220116034522-fbb0696_7c4253b9684f61cbac963c815f3d723d + '@dimensiondev/eslint-plugin': 0.0.1-20220116105305-d9a843f_7c4253b9684f61cbac963c815f3d723d '@dimensiondev/patch-package': 6.5.0 '@jest/globals': 27.4.4 '@magic-works/i18n-codegen': 0.0.6_typescript@4.6.0-dev.20211202 @@ -3454,8 +3454,8 @@ packages: '@msgpack/msgpack': 1.12.2 dev: false - /@dimensiondev/eslint-plugin/0.0.1-20220116034522-fbb0696_7c4253b9684f61cbac963c815f3d723d: - resolution: {integrity: sha512-ZvWVbMAc9WYdekhIkRAxfe90vM2mhqb3idR5IoNbOOor3uwBjdSxpyJGeOOdq/Ye3jkCM5suMlVSkzFWXbGCSA==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220116034522-fbb0696/d140d86f6322b1b7d643c536c023fb2238d3739591bad4d06d80c4ef6d2e20cc} + /@dimensiondev/eslint-plugin/0.0.1-20220116105305-d9a843f_7c4253b9684f61cbac963c815f3d723d: + resolution: {integrity: sha512-M5t3G/gvib6w8KyufBLAna3KjKHEhPLWdqasNibQq7gRYy8RG4Gra7OGu2gNnw2eEnaG7RSTyZv/X8m4NysMOQ==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220116105305-d9a843f/c075fa7b0a2bade1b7ad4c7f2c2e3dfc9c7e2b29c714118160ccd58ac68e55b8} peerDependencies: eslint: '>= 8' dependencies: From 5d322fdb6540ccb52379380e8eec7f91c6e1f1ca Mon Sep 17 00:00:00 2001 From: Septs Date: Mon, 17 Jan 2022 09:08:20 +0800 Subject: [PATCH 5/8] fix: no-extra-boolean-cast --- package.json | 2 +- packages/.eslintrc.json | 5 +++-- packages/dashboard/src/pages/Personas/index.tsx | 2 +- .../pages/Wallets/components/Transfer/TransferERC20.tsx | 2 +- .../pages/Wallets/components/Transfer/TransferERC721.tsx | 2 +- .../src/extension/popups/components/PopupFrame/index.tsx | 2 +- .../popups/pages/Wallet/Transfer/Prior1559Transfer.tsx | 2 +- .../popups/pages/Wallet/Transfer/Transfer1559.tsx | 2 +- .../Wallet/components/ActivityList/ActivityListItem.tsx | 2 +- .../src/plugins/FindTruman/SNSAdaptor/OptionsCard.tsx | 2 +- .../mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx | 2 +- packages/mask/src/plugins/Trader/apis/uniswap/index.ts | 2 +- packages/mask/src/plugins/Trader/helpers/uniswap.ts | 2 +- .../UnlockProtocol/SNSAdaptor/UnlockProtocolInPost.tsx | 6 +++--- packages/mask/src/plugins/UnlockProtocol/Services.ts | 2 +- .../twitter.com/injection/MaskIcon.tsx | 2 +- .../src/web3/UI/EthereumERC721TokenApprovedBoundary.tsx | 4 ++-- .../shared/src/UI/components/ERC20TokenList/index.tsx | 2 +- pnpm-lock.yaml | 8 ++++---- 19 files changed, 27 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index b21090a8f21d..f8e0843d6f03 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@commitlint/cli": "^16.0.0", "@commitlint/config-conventional": "^16.0.0", - "@dimensiondev/eslint-plugin": "^0.0.1-20220116105305-d9a843f", + "@dimensiondev/eslint-plugin": "^0.0.1-20220117004654-4b20e8a", "@dimensiondev/patch-package": "^6.5.0", "@jest/globals": "^27.4.4", "@magic-works/i18n-codegen": "^0.0.6", diff --git a/packages/.eslintrc.json b/packages/.eslintrc.json index b2a43f04c3e8..24e21c27688f 100644 --- a/packages/.eslintrc.json +++ b/packages/.eslintrc.json @@ -26,10 +26,9 @@ "yoda": "error", "radix": "error", "eqeqeq": ["error", "always"], - "import/no-deprecated": "error", - "import/no-duplicates": "error", "no-cond-assign": "error", "no-constant-condition": "error", + "no-extra-boolean-cast": "error", "no-script-url": "error", "no-throw-literal": "error", "no-unmodified-loop-condition": "error", @@ -44,6 +43,8 @@ "react/self-closing-comp": ["warn", { "component": true, "html": true }], "react-hooks/exhaustive-deps": "off", "react-hooks/rules-of-hooks": "error", + "import/no-deprecated": "error", + "import/no-duplicates": "error", "unicorn/better-regex": "error", "unicorn/catch-error-name": ["error", { "ignore": ["^err$"] }], "unicorn/no-instanceof-array": "error", diff --git a/packages/dashboard/src/pages/Personas/index.tsx b/packages/dashboard/src/pages/Personas/index.tsx index 3b83aa19a179..2964f52df5a5 100644 --- a/packages/dashboard/src/pages/Personas/index.tsx +++ b/packages/dashboard/src/pages/Personas/index.tsx @@ -84,7 +84,7 @@ function Personas() { - setActiveTab(tab)}> + setActiveTab(tab)}> {definedSocialNetworks.map(({ networkIdentifier }) => ( (({ token }) => { InputProps={{ onClick: (event) => { if (!anchorEl.current) anchorEl.current = event.currentTarget - if (!!ensContent) setPopoverOpen(true) + if (ensContent) setPopoverOpen(true) setMinPopoverWidth(event.currentTarget.clientWidth) }, spellCheck: false, diff --git a/packages/dashboard/src/pages/Wallets/components/Transfer/TransferERC721.tsx b/packages/dashboard/src/pages/Wallets/components/Transfer/TransferERC721.tsx index cb3a2b906696..a3c7027de089 100644 --- a/packages/dashboard/src/pages/Wallets/components/Transfer/TransferERC721.tsx +++ b/packages/dashboard/src/pages/Wallets/components/Transfer/TransferERC721.tsx @@ -310,7 +310,7 @@ export const TransferERC721 = memo(() => { InputProps={{ onClick: (event) => { if (!anchorEl.current) anchorEl.current = event.currentTarget - if (!!ensContent) setPopoverOpen(true) + if (ensContent) setPopoverOpen(true) setMinPopoverWidth(event.currentTarget.clientWidth) }, spellCheck: false, diff --git a/packages/mask/src/extension/popups/components/PopupFrame/index.tsx b/packages/mask/src/extension/popups/components/PopupFrame/index.tsx index 0b54a94a17a5..73ccbf6d5952 100644 --- a/packages/mask/src/extension/popups/components/PopupFrame/index.tsx +++ b/packages/mask/src/extension/popups/components/PopupFrame/index.tsx @@ -120,7 +120,7 @@ export const PopupFrame = memo((props) => { )} - {!!excludePersonaPath ? null : ( + {excludePersonaPath ? null : ( {t('personas')} diff --git a/packages/mask/src/extension/popups/pages/Wallet/Transfer/Prior1559Transfer.tsx b/packages/mask/src/extension/popups/pages/Wallet/Transfer/Prior1559Transfer.tsx index c46180e820f2..ded58e27acb6 100644 --- a/packages/mask/src/extension/popups/pages/Wallet/Transfer/Prior1559Transfer.tsx +++ b/packages/mask/src/extension/popups/pages/Wallet/Transfer/Prior1559Transfer.tsx @@ -246,7 +246,7 @@ export const Prior1559Transfer = memo(({ selectedAsset, const { value: minGasLimit, error } = useGasLimit( selectedAsset?.token.type, selectedAsset?.token.address, - rightShift(!!amount ? amount : 0, selectedAsset?.token.decimals).toFixed(), + rightShift(amount ? amount : 0, selectedAsset?.token.decimals).toFixed(), EthereumAddress.isValid(address) ? address : '', ) //#endregion diff --git a/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx b/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx index a816eedccd76..b8cf1518b057 100644 --- a/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx +++ b/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx @@ -567,7 +567,7 @@ export const Transfer1559TransferUI = memo( ), onClick: (event) => { if (!anchorEl.current) anchorEl.current = event.currentTarget - if (!!popoverContent) setPopoverOpen(true) + if (popoverContent) setPopoverOpen(true) }, }} /> diff --git a/packages/mask/src/extension/popups/pages/Wallet/components/ActivityList/ActivityListItem.tsx b/packages/mask/src/extension/popups/pages/Wallet/components/ActivityList/ActivityListItem.tsx index 03dd3d758c3b..fa0227ff487f 100644 --- a/packages/mask/src/extension/popups/pages/Wallet/components/ActivityList/ActivityListItem.tsx +++ b/packages/mask/src/extension/popups/pages/Wallet/components/ActivityList/ActivityListItem.tsx @@ -101,7 +101,7 @@ export const ActivityListItem = memo( ) : ( {transaction.at ? `${formatDateTime(transaction.at, 'MMM dd')}. ` : null} - {!!toAddress + {toAddress ? t('popups_wallet_activity_to_address', { address: Utils?.formatDomainName?.(domain) || formatEthereumAddress(toAddress, 4), }) diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/OptionsCard.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/OptionsCard.tsx index 3721af1776b1..d8f7f2e93b34 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/OptionsCard.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/OptionsCard.tsx @@ -157,7 +157,7 @@ export default function OptionsCard(props: OptionsViewProps) { const count = userStatus.count ? userStatus.count.find((e) => e.choice === index)?.value || 0 : 0 const percent = (total > 0 ? (count * 100) / total : 0).toFixed(2) - return !!userStatus.count ? ( + return userStatus.count ? ( setOpen(true)}> {Boolean(power) && Boolean(account) ? t('plugin_snapshot_vote') : t('plugin_snapshot_no_power')} diff --git a/packages/mask/src/plugins/Trader/apis/uniswap/index.ts b/packages/mask/src/plugins/Trader/apis/uniswap/index.ts index db0ff0ecb54b..f3478f1fb8f5 100644 --- a/packages/mask/src/plugins/Trader/apis/uniswap/index.ts +++ b/packages/mask/src/plugins/Trader/apis/uniswap/index.ts @@ -277,7 +277,7 @@ export async function getCoinInfo(id: string) { price_change_percentage_1y_in_currency, price_change_percentage_1h_in_currency: price_change_percentage_1h, price_change_percentage_24h_in_currency: price_change_percentage_24h, - total_volume: new BigNumber(!!oneDayVolumeUSD ? oneDayVolumeUSD : oneDayVolumeUT).toNumber(), + total_volume: new BigNumber(oneDayVolumeUSD ? oneDayVolumeUSD : oneDayVolumeUT).toNumber(), }, tickersInfo: Object.entries(pairsData) .sort(([, a], [, z]) => { diff --git a/packages/mask/src/plugins/Trader/helpers/uniswap.ts b/packages/mask/src/plugins/Trader/helpers/uniswap.ts index de23cf1fd195..61a7ae439d6d 100644 --- a/packages/mask/src/plugins/Trader/helpers/uniswap.ts +++ b/packages/mask/src/plugins/Trader/helpers/uniswap.ts @@ -16,7 +16,7 @@ import { ONE_HUNDRED_PERCENT, WNATIVE, ZERO_PERCENT } from '../constants' export function swapErrorToUserReadableMessage(error: any): string { let reason: string | undefined - while (Boolean(error)) { + while (error) { reason = error.reason ?? error.message ?? reason error = error.error ?? error.data?.originalError } diff --git a/packages/mask/src/plugins/UnlockProtocol/SNSAdaptor/UnlockProtocolInPost.tsx b/packages/mask/src/plugins/UnlockProtocol/SNSAdaptor/UnlockProtocolInPost.tsx index 7dfae647e3fe..38062c903aa6 100644 --- a/packages/mask/src/plugins/UnlockProtocol/SNSAdaptor/UnlockProtocolInPost.tsx +++ b/packages/mask/src/plugins/UnlockProtocol/SNSAdaptor/UnlockProtocolInPost.tsx @@ -24,7 +24,7 @@ export default function UnlockProtocolInPost(props: UnlockProtocolInPostProps) { useEffect(() => { const metadata = UnlockProtocolMetadataReader(props.message.meta) if (metadata.ok) { - if (!!address) { + if (address) { const data: { locks: Record } = { locks: {} } metadata.val.unlockLocks.forEach((locks) => { PluginUnlockProtocolRPC.verifyPurchase(address, locks.unlocklock, locks.chainid).then((res) => { @@ -58,7 +58,7 @@ export default function UnlockProtocolInPost(props: UnlockProtocolInPostProps) { } } }, [chain, address]) - if (!!content) { + if (content) { const jsx = message ? renderWithUnlockProtocolMetadata(props.message.meta, (r) => { return ( @@ -74,7 +74,7 @@ export default function UnlockProtocolInPost(props: UnlockProtocolInPostProps) { : null return <>{jsx} - } else if (!!redirectUrl) { + } else if (redirectUrl) { const jsx = message ? renderWithUnlockProtocolMetadata(props.message.meta, (r) => { return ( diff --git a/packages/mask/src/plugins/UnlockProtocol/Services.ts b/packages/mask/src/plugins/UnlockProtocol/Services.ts index 865897bd2b93..8b1de158d263 100644 --- a/packages/mask/src/plugins/UnlockProtocol/Services.ts +++ b/packages/mask/src/plugins/UnlockProtocol/Services.ts @@ -79,7 +79,7 @@ export const verifyPurchase = async (_userAddress: String, _lockAddress: String, const data = await graphQLClients[_lockChain].request(query, variables) if (data.locks[0].owner === _userAddress.toLowerCase()) { flag = true - } else if (!!data.locks[0].keys.length) { + } else if (data.locks[0].keys.length) { data.locks[0].keys.forEach((key: { owner: { id: string } }) => { if (key.owner.id === _userAddress.toLowerCase()) flag = true }) diff --git a/packages/mask/src/social-network-adaptor/twitter.com/injection/MaskIcon.tsx b/packages/mask/src/social-network-adaptor/twitter.com/injection/MaskIcon.tsx index fe1df5eed79b..72a41a0bbf74 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/injection/MaskIcon.tsx +++ b/packages/mask/src/social-network-adaptor/twitter.com/injection/MaskIcon.tsx @@ -81,6 +81,6 @@ export function injectMaskIconToPostTwitter(post: PostInfo, signal: AbortSignal) } export const ifUsingMask = memoizePromise( (pid: ProfileIdentifier) => - Services.Identity.queryProfile(pid).then((x) => (!!x.linkedPersona ? Promise.resolve() : Promise.reject())), + Services.Identity.queryProfile(pid).then((x) => (x.linkedPersona ? Promise.resolve() : Promise.reject())), (pid: ProfileIdentifier) => pid.toText(), ) diff --git a/packages/mask/src/web3/UI/EthereumERC721TokenApprovedBoundary.tsx b/packages/mask/src/web3/UI/EthereumERC721TokenApprovedBoundary.tsx index 6f19c8f3eed2..f30417c61a95 100644 --- a/packages/mask/src/web3/UI/EthereumERC721TokenApprovedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumERC721TokenApprovedBoundary.tsx @@ -93,7 +93,7 @@ export function EthereumERC721TokenApprovedBoundary(props: EthereumERC712TokenAp return t('plugin_wallet_select_a_nft_contract') if (!owner || !EthereumAddress.isValid(owner)) return t('plugin_wallet_select_a_nft_owner') if (!operator || !EthereumAddress.isValid(operator)) return t('plugin_wallet_select_a_nft_operator') - if (!!_validationMessage) return _validationMessage + if (_validationMessage) return _validationMessage return '' }, [contractDetailed, owner, operator, _validationMessage]) @@ -110,7 +110,7 @@ export function EthereumERC721TokenApprovedBoundary(props: EthereumERC712TokenAp {t('plugin_wallet_nft_approving_all', { symbol: contractDetailed?.symbol })} ) - } else if (!!validationMessage) { + } else if (validationMessage) { return ( ((props) => { ? [...renderTokens] .sort(makeSortTokenFn(chainId, { isMaskBoost: true })) .map((token) => ({ token: token, balance: null })) - : !!keyword + : keyword ? assets : [...assets].sort(makeSortAssertFn(chainId, { isMaskBoost: true })) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0f87c30b96e..86152c831d1e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: specifiers: '@commitlint/cli': ^16.0.0 '@commitlint/config-conventional': ^16.0.0 - '@dimensiondev/eslint-plugin': ^0.0.1-20220116105305-d9a843f + '@dimensiondev/eslint-plugin': ^0.0.1-20220117004654-4b20e8a '@dimensiondev/kit': 0.0.0-20211215044858-27d964f '@dimensiondev/patch-package': ^6.5.0 '@emotion/cache': ^11.7.1 @@ -89,7 +89,7 @@ importers: devDependencies: '@commitlint/cli': 16.0.0 '@commitlint/config-conventional': 16.0.0 - '@dimensiondev/eslint-plugin': 0.0.1-20220116105305-d9a843f_7c4253b9684f61cbac963c815f3d723d + '@dimensiondev/eslint-plugin': 0.0.1-20220117004654-4b20e8a_7c4253b9684f61cbac963c815f3d723d '@dimensiondev/patch-package': 6.5.0 '@jest/globals': 27.4.4 '@magic-works/i18n-codegen': 0.0.6_typescript@4.6.0-dev.20211202 @@ -3454,8 +3454,8 @@ packages: '@msgpack/msgpack': 1.12.2 dev: false - /@dimensiondev/eslint-plugin/0.0.1-20220116105305-d9a843f_7c4253b9684f61cbac963c815f3d723d: - resolution: {integrity: sha512-M5t3G/gvib6w8KyufBLAna3KjKHEhPLWdqasNibQq7gRYy8RG4Gra7OGu2gNnw2eEnaG7RSTyZv/X8m4NysMOQ==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220116105305-d9a843f/c075fa7b0a2bade1b7ad4c7f2c2e3dfc9c7e2b29c714118160ccd58ac68e55b8} + /@dimensiondev/eslint-plugin/0.0.1-20220117004654-4b20e8a_7c4253b9684f61cbac963c815f3d723d: + resolution: {integrity: sha512-EUsKt/lsHP0Ep9nFq/66l6vsotDrbH/MlxIDP5m2tOoiy03436HEJEJ+ckYDmvlh2SGz8jtVFpj8nf5XjZOsQQ==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220117004654-4b20e8a/509bce90fce30411e1bfa29ba76fe303116fabb81bed64e6ae13248674a86ce0} peerDependencies: eslint: '>= 8' dependencies: From ea47913a2c495c725bcf14686d56f7d388a407cd Mon Sep 17 00:00:00 2001 From: Septs Date: Mon, 17 Jan 2022 11:31:53 +0800 Subject: [PATCH 6/8] chore: add no-loss-of-precision --- package.json | 2 +- packages/.eslintrc.json | 1 + pnpm-lock.yaml | 9 +++++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f8e0843d6f03..06f1a141a3f8 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@commitlint/cli": "^16.0.0", "@commitlint/config-conventional": "^16.0.0", - "@dimensiondev/eslint-plugin": "^0.0.1-20220117004654-4b20e8a", + "@dimensiondev/eslint-plugin": "^0.0.1-20220117031620-1df0264", "@dimensiondev/patch-package": "^6.5.0", "@jest/globals": "^27.4.4", "@magic-works/i18n-codegen": "^0.0.6", diff --git a/packages/.eslintrc.json b/packages/.eslintrc.json index 24e21c27688f..e8dd2e0c6e43 100644 --- a/packages/.eslintrc.json +++ b/packages/.eslintrc.json @@ -34,6 +34,7 @@ "no-unmodified-loop-condition": "error", "no-unneeded-ternary": "error", "no-useless-concat": "error", + "no-loss-of-precision": "error", "prefer-regex-literals": "error", "react/jsx-boolean-value": "error", "react/jsx-curly-brace-presence": ["warn", { "props": "never", "children": "never" }], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86152c831d1e..4726d028f762 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: specifiers: '@commitlint/cli': ^16.0.0 '@commitlint/config-conventional': ^16.0.0 - '@dimensiondev/eslint-plugin': ^0.0.1-20220117004654-4b20e8a + '@dimensiondev/eslint-plugin': ^0.0.1-20220117031620-1df0264 '@dimensiondev/kit': 0.0.0-20211215044858-27d964f '@dimensiondev/patch-package': ^6.5.0 '@emotion/cache': ^11.7.1 @@ -89,7 +89,7 @@ importers: devDependencies: '@commitlint/cli': 16.0.0 '@commitlint/config-conventional': 16.0.0 - '@dimensiondev/eslint-plugin': 0.0.1-20220117004654-4b20e8a_7c4253b9684f61cbac963c815f3d723d + '@dimensiondev/eslint-plugin': 0.0.1-20220117031620-1df0264_7c4253b9684f61cbac963c815f3d723d '@dimensiondev/patch-package': 6.5.0 '@jest/globals': 27.4.4 '@magic-works/i18n-codegen': 0.0.6_typescript@4.6.0-dev.20211202 @@ -3454,8 +3454,8 @@ packages: '@msgpack/msgpack': 1.12.2 dev: false - /@dimensiondev/eslint-plugin/0.0.1-20220117004654-4b20e8a_7c4253b9684f61cbac963c815f3d723d: - resolution: {integrity: sha512-EUsKt/lsHP0Ep9nFq/66l6vsotDrbH/MlxIDP5m2tOoiy03436HEJEJ+ckYDmvlh2SGz8jtVFpj8nf5XjZOsQQ==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220117004654-4b20e8a/509bce90fce30411e1bfa29ba76fe303116fabb81bed64e6ae13248674a86ce0} + /@dimensiondev/eslint-plugin/0.0.1-20220117031620-1df0264_7c4253b9684f61cbac963c815f3d723d: + resolution: {integrity: sha512-tiXJRPkteZa3WrulOlqhQWjtDDAJ+dfNLrFui31huBLen97dGKYHHKDifKlV6c93sLbG/uNcYt2vXSWj+pcYvg==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220117031620-1df0264/f51c18c986b4321d773aff05a84b07e6c251cddbcac39bd596568d6486c34994} peerDependencies: eslint: '>= 8' dependencies: @@ -8425,6 +8425,7 @@ packages: /@typescript-eslint/experimental-utils/5.8.0_7c4253b9684f61cbac963c815f3d723d: resolution: {integrity: sha512-KN5FvNH71bhZ8fKtL+lhW7bjm7cxs1nt+hrDZWIqb6ViCffQcWyLunGrgvISgkRojIDcXIsH+xlFfI4RCDA0xA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + requiresBuild: true peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: From 9d9521d4ea96f5ebd451edd3349c460fa9290352 Mon Sep 17 00:00:00 2001 From: Septs Date: Mon, 17 Jan 2022 13:40:08 +0800 Subject: [PATCH 7/8] fix: no-unneeded-to-string --- package.json | 2 +- packages/.eslintrc.json | 1 + .../popups/pages/Wallet/GasSetting/GasSetting1559.tsx | 7 ++----- .../popups/pages/Wallet/Transfer/Transfer1559.tsx | 2 +- .../src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx | 2 +- packages/mask/src/plugins/Snapshot/Worker/apis/index.ts | 2 +- .../plugins/Trader/SNSAdaptor/trader/Gas1559Settings.tsx | 4 ++-- .../plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx | 2 +- .../src/plugins/Trader/SNSAdaptor/trader/TraderInfo.tsx | 2 +- .../mask/src/plugins/Trader/trader/uniswap/usePairs.ts | 4 ++-- packages/mask/src/plugins/Wallet/services/tokenPrice.ts | 2 +- packages/mask/src/plugins/Wallet/services/wallet/index.ts | 4 ++-- pnpm-lock.yaml | 8 ++++---- 13 files changed, 20 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 06f1a141a3f8..1a23cc7df0d6 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@commitlint/cli": "^16.0.0", "@commitlint/config-conventional": "^16.0.0", - "@dimensiondev/eslint-plugin": "^0.0.1-20220117031620-1df0264", + "@dimensiondev/eslint-plugin": "^0.0.1-20220117052737-faa6835", "@dimensiondev/patch-package": "^6.5.0", "@jest/globals": "^27.4.4", "@magic-works/i18n-codegen": "^0.0.6", diff --git a/packages/.eslintrc.json b/packages/.eslintrc.json index e8dd2e0c6e43..a2413593c2b6 100644 --- a/packages/.eslintrc.json +++ b/packages/.eslintrc.json @@ -63,6 +63,7 @@ "@dimensiondev/no-number-constructor": "off", "@dimensiondev/no-simple-string-interpolation": "off", "@dimensiondev/no-simple-template-literal": "error", + "@dimensiondev/no-unneeded-to-string": "error", "@dimensiondev/prefer-early-return": "error", "@dimensiondev/prefer-location-assign": "error", "@dimensiondev/unicode-specific-set": "error", diff --git a/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx b/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx index 54f66a4583bd..481da3c42819 100644 --- a/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx +++ b/packages/mask/src/extension/popups/pages/Wallet/GasSetting/GasSetting1559.tsx @@ -241,14 +241,11 @@ export const GasSetting1559 = memo(() => { if (value?.computedPayload._tx.maxFeePerGas && value?.computedPayload._tx.maxPriorityFeePerGas) { setValue( 'maxPriorityFeePerGas', - fromWei( - new BigNumber(value.computedPayload._tx.maxPriorityFeePerGas).toString(), - 'gwei', - ).toString(), + fromWei(new BigNumber(value.computedPayload._tx.maxPriorityFeePerGas).toString(), 'gwei'), ) setValue( 'maxFeePerGas', - fromWei(new BigNumber(value.computedPayload._tx.maxFeePerGas).toFixed(), 'gwei').toString(), + fromWei(new BigNumber(value.computedPayload._tx.maxFeePerGas).toFixed(), 'gwei'), ) } else { setOption(1) diff --git a/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx b/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx index b8cf1518b057..38ce33084b8c 100644 --- a/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx +++ b/packages/mask/src/extension/popups/pages/Wallet/Transfer/Transfer1559.tsx @@ -345,7 +345,7 @@ export const Transfer1559 = memo(({ selectedAsset, openAssetM const gasFee = formatGweiToWei(maxFeePerGas ?? 0).multipliedBy(MIN_GAS_LIMIT) let amount_ = new BigNumber(tokenBalance ?? 0) amount_ = selectedAsset?.token.type === EthereumTokenType.Native ? amount_.minus(gasFee) : amount_ - return formatBalance(amount_.toFixed(), selectedAsset?.token.decimals).toString() + return formatBalance(amount_.toFixed(), selectedAsset?.token.decimals) }, [selectedAsset, maxFeePerGas, minGasLimit, tokenBalance]) //#region set default gasLimit diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx index 9383d4856d29..ec910f7fa819 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx @@ -110,7 +110,7 @@ export function RedPacket(props: RedPacketProps) { if (state.type === TransactionStateType.CONFIRMED) { setTransactionDialog({ open: true, - shareLink: shareLink!.toString(), + shareLink: shareLink!, state, summary: canClaim ? t('plugin_red_packet_claiming_from', { name: payload.sender.name }) diff --git a/packages/mask/src/plugins/Snapshot/Worker/apis/index.ts b/packages/mask/src/plugins/Snapshot/Worker/apis/index.ts index 0d8e70a20681..9c7590b443a8 100644 --- a/packages/mask/src/plugins/Snapshot/Worker/apis/index.ts +++ b/packages/mask/src/plugins/Snapshot/Worker/apis/index.ts @@ -123,7 +123,7 @@ export async function getScores( ) return scores.map((score) => transform(score, function (result: { [key in string]: number }, val, key: string) { - result[key.toString().toLowerCase()] = val + result[key.toLowerCase()] = val }), ) } diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Gas1559Settings.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Gas1559Settings.tsx index 2f8e3c85d054..7fbc1c5c3c20 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Gas1559Settings.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Gas1559Settings.tsx @@ -246,8 +246,8 @@ export const Gas1559Settings = memo(({ onCancel, onSave: o if (!(gasConfig?.maxPriorityFeePerGas && gasConfig?.maxFeePerGas)) return const { maxFeePerGas, maxPriorityFeePerGas } = gasConfig setOption(null) - setValue('maxFeePerGas', fromWei(maxFeePerGas.toString(), 'gwei').toString()) - setValue('maxPriorityFeePerGas', fromWei(maxPriorityFeePerGas.toString(), 'gwei').toString()) + setValue('maxFeePerGas', fromWei(maxFeePerGas.toString(), 'gwei')) + setValue('maxPriorityFeePerGas', fromWei(maxPriorityFeePerGas.toString(), 'gwei')) }, [gasConfig, setValue]) return ( diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx index 7a47aace6378..98039c62f37f 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/InputTokenPanel.tsx @@ -121,7 +121,7 @@ export const InputTokenPanel = memo( ) const tokenValueUSD = useMemo( - () => (amount ? new BigNumber(amount).times(tokenPrice).toFixed(2).toString() : '0'), + () => (amount ? new BigNumber(amount).times(tokenPrice).toFixed(2) : '0'), [amount, tokenPrice], ) diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TraderInfo.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TraderInfo.tsx index 8cf10d3021c3..04a329b4ff01 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TraderInfo.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TraderInfo.tsx @@ -92,7 +92,7 @@ export const TraderInfo = memo(({ trade, gasPrice, isBest, onCl }, [trade.gas?.value, gasPrice]) const feeValueUSD = useMemo( - () => (gasFee ? new BigNumber(formatWeiToEther(gasFee).times(tokenPrice).toFixed(2).toString()) : '0'), + () => (gasFee ? new BigNumber(formatWeiToEther(gasFee).times(tokenPrice).toFixed(2)) : '0'), [gasFee, tokenPrice], ) diff --git a/packages/mask/src/plugins/Trader/trader/uniswap/usePairs.ts b/packages/mask/src/plugins/Trader/trader/uniswap/usePairs.ts index b05d63ce55e7..3f754d0aecf7 100644 --- a/packages/mask/src/plugins/Trader/trader/uniswap/usePairs.ts +++ b/packages/mask/src/plugins/Trader/trader/uniswap/usePairs.ts @@ -86,8 +86,8 @@ export function usePairs(tradeProvider: TradeProvider, tokenPairs: readonly Toke return [ PairState.EXISTS, new Pair( - CurrencyAmount.fromRawAmount(token0, reserve0.toString()), - CurrencyAmount.fromRawAmount(token1, reserve1.toString()), + CurrencyAmount.fromRawAmount(token0, reserve0), + CurrencyAmount.fromRawAmount(token1, reserve1), ), ] as const }) diff --git a/packages/mask/src/plugins/Wallet/services/tokenPrice.ts b/packages/mask/src/plugins/Wallet/services/tokenPrice.ts index 8ad4b4328cdb..45dd820c0502 100644 --- a/packages/mask/src/plugins/Wallet/services/tokenPrice.ts +++ b/packages/mask/src/plugins/Wallet/services/tokenPrice.ts @@ -31,7 +31,7 @@ export function kickToUpdateTokenPrices() { const trackingContracts: Record = Object.create(null) export function trackContract(platform: string, address: string) { - trackingContracts[platform] = uniq([...(trackingContracts[platform] ?? []), address.toString()]) + trackingContracts[platform] = uniq([...(trackingContracts[platform] ?? []), address]) } export async function updateTokenPrices() { diff --git a/packages/mask/src/plugins/Wallet/services/wallet/index.ts b/packages/mask/src/plugins/Wallet/services/wallet/index.ts index b1e91ce2a32a..5a3a381e5b01 100644 --- a/packages/mask/src/plugins/Wallet/services/wallet/index.ts +++ b/packages/mask/src/plugins/Wallet/services/wallet/index.ts @@ -154,8 +154,8 @@ export async function signTransaction( gas_limit: config.gas?.toString() ?? '0x0', gas_price: config.gasPrice?.toString() ?? '0x0', chain_id: config.chainId ? toHex(config.chainId?.toString()) : '0x1', - max_fee_per_gas: config.maxFeePerGas?.toString() ?? '0x0', - max_inclusion_fee_per_gas: config.maxFeePerGas?.toString() ?? '0x0', + max_fee_per_gas: config.maxFeePerGas ?? '0x0', + max_inclusion_fee_per_gas: config.maxFeePerGas ?? '0x0', nonce: config.nonce ? toHex(config.nonce) : '0x0', to_address: config.to, payload: config.data ? encodeText(config.data) : new Uint8Array(), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4726d028f762..f82e13a8ea6f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: specifiers: '@commitlint/cli': ^16.0.0 '@commitlint/config-conventional': ^16.0.0 - '@dimensiondev/eslint-plugin': ^0.0.1-20220117031620-1df0264 + '@dimensiondev/eslint-plugin': ^0.0.1-20220117052737-faa6835 '@dimensiondev/kit': 0.0.0-20211215044858-27d964f '@dimensiondev/patch-package': ^6.5.0 '@emotion/cache': ^11.7.1 @@ -89,7 +89,7 @@ importers: devDependencies: '@commitlint/cli': 16.0.0 '@commitlint/config-conventional': 16.0.0 - '@dimensiondev/eslint-plugin': 0.0.1-20220117031620-1df0264_7c4253b9684f61cbac963c815f3d723d + '@dimensiondev/eslint-plugin': 0.0.1-20220117052737-faa6835_7c4253b9684f61cbac963c815f3d723d '@dimensiondev/patch-package': 6.5.0 '@jest/globals': 27.4.4 '@magic-works/i18n-codegen': 0.0.6_typescript@4.6.0-dev.20211202 @@ -3454,8 +3454,8 @@ packages: '@msgpack/msgpack': 1.12.2 dev: false - /@dimensiondev/eslint-plugin/0.0.1-20220117031620-1df0264_7c4253b9684f61cbac963c815f3d723d: - resolution: {integrity: sha512-tiXJRPkteZa3WrulOlqhQWjtDDAJ+dfNLrFui31huBLen97dGKYHHKDifKlV6c93sLbG/uNcYt2vXSWj+pcYvg==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220117031620-1df0264/f51c18c986b4321d773aff05a84b07e6c251cddbcac39bd596568d6486c34994} + /@dimensiondev/eslint-plugin/0.0.1-20220117052737-faa6835_7c4253b9684f61cbac963c815f3d723d: + resolution: {integrity: sha512-j8YwvYje+8DwJ2BK4Rcwm5163O/Z0wFyzw7ZOg4nrk1Y19vwdcr9XjoJBIdbf6zhmaMMouNTyMEAqypS1nuepw==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220117052737-faa6835/371cbf5d4bbe72bc1fcded6a0d43d32d76fc2ed0aba9e65834ac4375090f9bbd} peerDependencies: eslint: '>= 8' dependencies: From 425c19f1ee87f6b0bbf9fd3a7e2d786ddd773c62 Mon Sep 17 00:00:00 2001 From: Septs Date: Mon, 17 Jan 2022 14:31:46 +0800 Subject: [PATCH 8/8] chore: improve no-bigint rule --- package.json | 2 +- .../mask/src/plugins/Trader/constants/uniswap.ts | 1 - .../mask/src/plugins/Trader/helpers/uniswap.ts | 1 - .../Trader/trader/uniswap/useTradeBreakdown.ts | 1 - .../Trader/trader/uniswap/useTradeParameters.ts | 1 - pnpm-lock.yaml | 14 +++++--------- 6 files changed, 6 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 1a23cc7df0d6..7e7635cfd17a 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@commitlint/cli": "^16.0.0", "@commitlint/config-conventional": "^16.0.0", - "@dimensiondev/eslint-plugin": "^0.0.1-20220117052737-faa6835", + "@dimensiondev/eslint-plugin": "^0.0.1-20220117062517-fd3cb01", "@dimensiondev/patch-package": "^6.5.0", "@jest/globals": "^27.4.4", "@magic-works/i18n-codegen": "^0.0.6", diff --git a/packages/mask/src/plugins/Trader/constants/uniswap.ts b/packages/mask/src/plugins/Trader/constants/uniswap.ts index 29999265966e..ae337d9f65e2 100644 --- a/packages/mask/src/plugins/Trader/constants/uniswap.ts +++ b/packages/mask/src/plugins/Trader/constants/uniswap.ts @@ -1,4 +1,3 @@ -/* eslint-disable @dimensiondev/no-bigint */ import { ChainId } from '@masknet/web3-shared-evm' import { Percent } from '@uniswap/sdk-core' import JSBI from 'jsbi' diff --git a/packages/mask/src/plugins/Trader/helpers/uniswap.ts b/packages/mask/src/plugins/Trader/helpers/uniswap.ts index 61a7ae439d6d..f54a547482bd 100644 --- a/packages/mask/src/plugins/Trader/helpers/uniswap.ts +++ b/packages/mask/src/plugins/Trader/helpers/uniswap.ts @@ -1,4 +1,3 @@ -/* eslint-disable @dimensiondev/no-bigint */ import JSBI from 'jsbi' import { memoize } from 'lodash-unified' import BigNumber from 'bignumber.js' diff --git a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts index e6ac31173246..c76d2998fc88 100644 --- a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts +++ b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeBreakdown.ts @@ -1,4 +1,3 @@ -/* eslint-disable @dimensiondev/no-bigint */ import { useMemo } from 'react' import JSBI from 'jsbi' import { Trade as V2Trade } from '@uniswap/v2-sdk' diff --git a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts index af6771d359c9..74fbf4abe697 100644 --- a/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts +++ b/packages/mask/src/plugins/Trader/trader/uniswap/useTradeParameters.ts @@ -1,4 +1,3 @@ -/* eslint-disable @dimensiondev/no-bigint */ import { useMemo } from 'react' import JSBI from 'jsbi' import { Percent, TradeType } from '@uniswap/sdk-core' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f82e13a8ea6f..e2dfaa52d509 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: specifiers: '@commitlint/cli': ^16.0.0 '@commitlint/config-conventional': ^16.0.0 - '@dimensiondev/eslint-plugin': ^0.0.1-20220117052737-faa6835 + '@dimensiondev/eslint-plugin': ^0.0.1-20220117062517-fd3cb01 '@dimensiondev/kit': 0.0.0-20211215044858-27d964f '@dimensiondev/patch-package': ^6.5.0 '@emotion/cache': ^11.7.1 @@ -89,7 +89,7 @@ importers: devDependencies: '@commitlint/cli': 16.0.0 '@commitlint/config-conventional': 16.0.0 - '@dimensiondev/eslint-plugin': 0.0.1-20220117052737-faa6835_7c4253b9684f61cbac963c815f3d723d + '@dimensiondev/eslint-plugin': 0.0.1-20220117062517-fd3cb01_eslint@8.5.0 '@dimensiondev/patch-package': 6.5.0 '@jest/globals': 27.4.4 '@magic-works/i18n-codegen': 0.0.6_typescript@4.6.0-dev.20211202 @@ -3454,17 +3454,13 @@ packages: '@msgpack/msgpack': 1.12.2 dev: false - /@dimensiondev/eslint-plugin/0.0.1-20220117052737-faa6835_7c4253b9684f61cbac963c815f3d723d: - resolution: {integrity: sha512-j8YwvYje+8DwJ2BK4Rcwm5163O/Z0wFyzw7ZOg4nrk1Y19vwdcr9XjoJBIdbf6zhmaMMouNTyMEAqypS1nuepw==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220117052737-faa6835/371cbf5d4bbe72bc1fcded6a0d43d32d76fc2ed0aba9e65834ac4375090f9bbd} + /@dimensiondev/eslint-plugin/0.0.1-20220117062517-fd3cb01_eslint@8.5.0: + resolution: {integrity: sha512-WtUberb1MC1s554Lm3C3mno3Nf/TdVJP80htgpNWiGOcIk+WYwQi+gWqi5IlnqGd71bYRZPYpYs2MH+GS+dbuw==, tarball: download/@dimensiondev/eslint-plugin/0.0.1-20220117062517-fd3cb01/8298f20d707432bcb777cd5084173fc894362a3496e8f8bc6a5c85070adb77cf} peerDependencies: + '@typescript-eslint/experimental-utils': '*' eslint: '>= 8' dependencies: eslint: 8.5.0 - optionalDependencies: - '@typescript-eslint/experimental-utils': 5.8.0_7c4253b9684f61cbac963c815f3d723d - transitivePeerDependencies: - - supports-color - - typescript dev: true /@dimensiondev/holoflows-kit/0.9.0-20210902104757-7c3d0d0: