From 7f6f4aecd8940f00a3153d38603518bd23382170 Mon Sep 17 00:00:00 2001 From: dafuga Date: Mon, 20 Jan 2025 14:56:49 -0800 Subject: [PATCH] chore: added eslint --- bun.lockb | Bin 84160 -> 121721 bytes package.json | 6 ++++++ src/app.d.ts | 2 +- src/lib/lookup.ts | 8 +++++--- src/lib/utils/logger.ts | 6 ++++++ src/routes/+server.ts | 3 +-- src/routes/lookup/[publicKey]/+server.ts | 5 +++-- tests/index.test.ts | 1 - 8 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 src/lib/utils/logger.ts diff --git a/bun.lockb b/bun.lockb index a143a70cbb550e5feeb5047d7987f3a99a5e25df..d82c5dac200384147a29c5d148af904d137505d2 100755 GIT binary patch delta 36335 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 KvH84p2aO+y0k?tx delta 12949 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 diff --git a/package.json b/package.json index 56549fb..33b39a8 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,14 @@ "@sveltejs/vite-plugin-svelte": "^4.0.0", "@types/chai": "^4.3.11", "@types/mocha": "^10.0.6", + "@typescript-eslint/eslint-plugin": "^7.0.0", + "@typescript-eslint/parser": "^7.0.0", "chai": "^4.3.10", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", "mocha": "^10.2.0", + "prettier": "^3.2.5", "svelte": "^5.0.0", "svelte-check": "^4.0.0", "ts-node": "^10.9.2", diff --git a/src/app.d.ts b/src/app.d.ts index da08e6d..4e661d5 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -10,4 +10,4 @@ declare global { } } -export {}; +export {} diff --git a/src/lib/lookup.ts b/src/lib/lookup.ts index aae736e..18dd5ea 100644 --- a/src/lib/lookup.ts +++ b/src/lib/lookup.ts @@ -1,6 +1,8 @@ -import {APIClient, API, PublicKey} from '@wharfkit/antelope' +import {APIClient} from '@wharfkit/antelope' +import type {API, PublicKey} from '@wharfkit/antelope' import type {PermissionLevelType} from '@wharfkit/antelope' import type {Chain} from './chains' +import {logger} from './utils/logger' export const networkRequest = ( publicKey: PublicKey, @@ -38,7 +40,7 @@ export const lookupNetwork = async (publicKey: PublicKey, chain: Chain, apiClien const accounts = await networkRequest(publicKey, chain, apiClient) return {chain, accounts} } catch (error) { - console.warn(`Lookup error on ${chain.name}: ${error}`) - return {chain, accounts: []} + logger.warn(`Lookup error on ${chain.name}: ${error}`) + return {chain, accounts: [], error: `Lookup error: ${error}`} } } diff --git a/src/lib/utils/logger.ts b/src/lib/utils/logger.ts new file mode 100644 index 0000000..38bcd9b --- /dev/null +++ b/src/lib/utils/logger.ts @@ -0,0 +1,6 @@ +/* eslint-disable no-console */ +export const logger = { + warn: (message: string) => { + console.warn(message) + }, +} diff --git a/src/routes/+server.ts b/src/routes/+server.ts index 0784db7..6f858f6 100644 --- a/src/routes/+server.ts +++ b/src/routes/+server.ts @@ -1,7 +1,6 @@ import {json} from '@sveltejs/kit' -import type {RequestEvent} from '@sveltejs/kit' -export const GET = async ({}: RequestEvent) => { +export const GET = async () => { return json({ message: '💡🏠 Lighthouse API', endpoints: { diff --git a/src/routes/lookup/[publicKey]/+server.ts b/src/routes/lookup/[publicKey]/+server.ts index e7a1f7b..a88cf83 100644 --- a/src/routes/lookup/[publicKey]/+server.ts +++ b/src/routes/lookup/[publicKey]/+server.ts @@ -42,7 +42,8 @@ export const GET = async ({params, url, fetch}: RequestEvent) => { return json(networkAccounts) } catch (err) { - console.error(err) - throw error(400, {message: 'Invalid public key'}) + // Handle both invalid public key format and lookup errors + const message = err instanceof Error ? err.message : 'Invalid public key' + throw error(400, {message}) } } diff --git a/tests/index.test.ts b/tests/index.test.ts index 58cb87d..cd0a4b0 100644 --- a/tests/index.test.ts +++ b/tests/index.test.ts @@ -6,7 +6,6 @@ import {makeClient} from '@wharfkit/mock-data' const PUBLIC_KEY = 'EOS65BFgzcH8uZW837HqadGcREfNViBV6Fqc1LsmwcWdfUCayHQzf' const NON_EXISTENT_PUBLIC_KEY = 'EOS8hiZaTNknE75KH2UmBNqcVFN4u3vgJ8PcytevjygaJ6aGWfb7U' -const BAD_PUBLIC_KEY = 'EOS6KybFkAb54UMSvHoj4BMGTKPd21GEw3HUCoB5uc1vabasasqYrV' const mockClient = makeClient('https://jungle4.greymass.com')