diff --git a/package-lock.json b/package-lock.json index 2f15a304..fe03468d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,6 +45,7 @@ "@tailwindcss/postcss": "^4.1.14", "@types/react": "^18.2.43", "@types/react-dom": "^18.2.17", + "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^6.14.0", "@vitejs/plugin-react": "^4.2.1", @@ -3603,6 +3604,16 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", diff --git a/package.json b/package.json index 9a4d467e..c9173de5 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "@tailwindcss/postcss": "^4.1.14", "@types/react": "^18.2.43", "@types/react-dom": "^18.2.17", + "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^6.14.0", "@vitejs/plugin-react": "^4.2.1", @@ -103,6 +104,19 @@ "@typescript-eslint/no-explicit-any": "warn", "prefer-const": "error", "no-var": "error" - } + }, + "overrides": [ + { + "files": [ + "api/**/*.ts", + "src/services/ogStore.ts", + "src/services/articleMeta.ts" + ], + "env": { + "node": true, + "browser": false + } + } + ] } } diff --git a/src/services/articleMeta.ts b/src/services/articleMeta.ts index da90c823..9ca92930 100644 --- a/src/services/articleMeta.ts +++ b/src/services/articleMeta.ts @@ -1,11 +1,11 @@ import WebSocket from 'ws' -;(globalThis as any).WebSocket ??= WebSocket as any +;(globalThis as unknown as { WebSocket?: typeof WebSocket }).WebSocket ??= WebSocket import { RelayPool } from 'applesauce-relay' import { nip19 } from 'nostr-tools' import { AddressPointer } from 'nostr-tools/nip19' import { NostrEvent, Filter } from 'nostr-tools' import { Helpers } from 'applesauce-core' -import { extractProfileDisplayName } from '../lib/profile' +import { extractProfileDisplayName } from '../../lib/profile' import { RELAYS } from '../config/relays' import type { ArticleMetadata } from './ogStore'