From 636f2ffff83c4af86952751c8167903a4c6b8b83 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sun, 10 Sep 2023 17:46:20 -1000 Subject: [PATCH] Fix ESLint --- .eslintrc.cjs | 14 ++++++++++++ .eslintrc.js | 7 ------ bun.lockb | Bin 71225 -> 72184 bytes index.ts | 13 +++++++---- package.json | 34 +++++++++++++++------------- types/entities/account.ts | 8 +++---- types/entities/activity.ts | 4 ++-- types/entities/announcement.ts | 26 ++++++++++----------- types/entities/application.ts | 4 ++-- types/entities/async_attachment.ts | 4 ++-- types/entities/attachment.ts | 16 ++++++------- types/entities/card.ts | 4 ++-- types/entities/context.ts | 8 +++---- types/entities/conversation.ts | 6 ++--- types/entities/emoji.ts | 4 ++-- types/entities/featured_tag.ts | 4 ++-- types/entities/field.ts | 4 ++-- types/entities/filter.ts | 6 ++--- types/entities/history.ts | 4 ++-- types/entities/identity_proof.ts | 4 ++-- types/entities/instance.ts | 14 ++++++------ types/entities/list.ts | 4 ++-- types/entities/marker.ts | 4 ++-- types/entities/mention.ts | 4 ++-- types/entities/notification.ts | 22 ++++++++---------- types/entities/poll.ts | 6 ++--- types/entities/poll_option.ts | 4 ++-- types/entities/preferences.ts | 4 ++-- types/entities/push_subscription.ts | 8 +++---- types/entities/relationship.ts | 6 ++--- types/entities/report.ts | 8 +++---- types/entities/results.ts | 10 ++++---- types/entities/role.ts | 4 ++-- types/entities/scheduled_status.ts | 6 ++--- types/entities/source.ts | 6 ++--- types/entities/stats.ts | 4 ++-- types/entities/status.ts | 14 ++++++------ types/entities/status_params.ts | 6 ++--- types/entities/status_source.ts | 4 ++-- types/entities/tag.ts | 6 ++--- types/entities/token.ts | 4 ++-- types/entities/urls.ts | 4 ++-- utils/config.ts | 4 ++-- utils/response.ts | 2 +- 44 files changed, 171 insertions(+), 161 deletions(-) create mode 100644 .eslintrc.cjs delete mode 100644 .eslintrc.js diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 00000000..ad661a7a --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,14 @@ +module.exports = { + extends: [ + "eslint:recommended", + "plugin:@typescript-eslint/strict-type-checked", + "plugin:@typescript-eslint/stylistic", + ], + parser: "@typescript-eslint/parser", + parserOptions: { + project: "./tsconfig.json", + }, + ignorePatterns: ["node_modules/", "dist/", ".eslintrc.cjs"], + plugins: ["@typescript-eslint"], + root: true, +}; diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 2eae3cbc..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: [ - "eslint:strict", - "plugin:@typescript-eslint/strict-type-checked", - "plugin:@typescript-eslint/stylistic", - ], -}; diff --git a/bun.lockb b/bun.lockb index 80d18dfd82ccea5c9e97288c0d2c9498372c1335..86abf0f9510f9621e6857dbd45762f43c83d7bf1 100755 GIT binary patch delta 13734 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 delta 13078 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 H#Qoy$s3-; } else { - const response = new Response(undefined, { + return new Response(undefined, { status: 404, statusText: "Route not found", }); } }, }); + +console.log("[+] FediProject started!") diff --git a/package.json b/package.json index 27596bb7..75e85fd0 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,19 @@ { - "name": "fedi-project", - "module": "index.ts", - "type": "module", - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^6.6.0", - "bun-types": "latest", - "eslint": "^8.49.0" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "dependencies": { - "pg": "^8.11.3", - "typeorm": "^0.3.17" - } -} \ No newline at end of file + "name": "fedi-project", + "module": "index.ts", + "type": "module", + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^6.6.0", + "@typescript-eslint/parser": "^6.6.0", + "bun-types": "latest", + "eslint": "^8.49.0", + "typescript": "^5.2.2" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "dependencies": { + "pg": "^8.11.3", + "typeorm": "^0.3.17" + } +} diff --git a/types/entities/account.ts b/types/entities/account.ts index cf663eda..52a5e532 100644 --- a/types/entities/account.ts +++ b/types/entities/account.ts @@ -3,7 +3,7 @@ import { Field } from "./field"; import { Role } from "./role"; import { Source } from "./source"; -export type Account = { +export interface Account { id: string; username: string; acct: string; @@ -24,11 +24,11 @@ export type Account = { avatar_static: string; header: string; header_static: string; - emojis: Array; + emojis: Emoji[]; moved: Account | null; - fields: Array; + fields: Field[]; bot: boolean; source?: Source; role?: Role; mute_expires_at?: string; -}; +} diff --git a/types/entities/activity.ts b/types/entities/activity.ts index 47647ffd..5e1b4d10 100644 --- a/types/entities/activity.ts +++ b/types/entities/activity.ts @@ -1,6 +1,6 @@ -export type Activity = { +export interface Activity { week: string; statuses: string; logins: string; registrations: string; -}; +} diff --git a/types/entities/announcement.ts b/types/entities/announcement.ts index d954ff82..953c3eb7 100644 --- a/types/entities/announcement.ts +++ b/types/entities/announcement.ts @@ -1,7 +1,7 @@ import { Emoji } from "./emoji"; import { StatusTag } from "./status"; -export type Announcement = { +export interface Announcement { id: string; content: string; starts_at: string | null; @@ -11,29 +11,29 @@ export type Announcement = { published_at: string; updated_at: string; read: boolean | null; - mentions: Array; - statuses: Array; - tags: Array; - emojis: Array; - reactions: Array; -}; + mentions: AnnouncementAccount[]; + statuses: AnnouncementStatus[]; + tags: StatusTag[]; + emojis: Emoji[]; + reactions: AnnouncementReaction[]; +} -export type AnnouncementAccount = { +export interface AnnouncementAccount { id: string; username: string; url: string; acct: string; -}; +} -export type AnnouncementStatus = { +export interface AnnouncementStatus { id: string; url: string; -}; +} -export type AnnouncementReaction = { +export interface AnnouncementReaction { name: string; count: number; me: boolean | null; url: string | null; static_url: string | null; -}; +} diff --git a/types/entities/application.ts b/types/entities/application.ts index 0d17d205..f95d6630 100644 --- a/types/entities/application.ts +++ b/types/entities/application.ts @@ -1,5 +1,5 @@ -export type Application = { +export interface Application { name: string; website?: string | null; vapid_key?: string | null; -}; +} diff --git a/types/entities/async_attachment.ts b/types/entities/async_attachment.ts index f822ab08..71817c1b 100644 --- a/types/entities/async_attachment.ts +++ b/types/entities/async_attachment.ts @@ -1,6 +1,6 @@ import { Meta } from "./attachment"; -export type AsyncAttachment = { +export interface AsyncAttachment { id: string; type: "unknown" | "image" | "gifv" | "video" | "audio"; url: string | null; @@ -10,4 +10,4 @@ export type AsyncAttachment = { meta: Meta | null; description: string | null; blurhash: string | null; -}; +} diff --git a/types/entities/attachment.ts b/types/entities/attachment.ts index e7c40115..2933fd6c 100644 --- a/types/entities/attachment.ts +++ b/types/entities/attachment.ts @@ -1,4 +1,4 @@ -export type Sub = { +export interface Sub { // For Image, Gifv, and Video width?: number; height?: number; @@ -11,14 +11,14 @@ export type Sub = { // For Audio, Gifv, and Video duration?: number; bitrate?: number; -}; +} -export type Focus = { +export interface Focus { x: number; y: number; -}; +} -export type Meta = { +export interface Meta { original?: Sub; small?: Sub; focus?: Focus; @@ -32,9 +32,9 @@ export type Meta = { audio_encode?: string; audio_bitrate?: string; audio_channel?: string; -}; +} -export type Attachment = { +export interface Attachment { id: string; type: "unknown" | "image" | "gifv" | "video" | "audio"; url: string; @@ -44,4 +44,4 @@ export type Attachment = { meta: Meta | null; description: string | null; blurhash: string | null; -}; +} diff --git a/types/entities/card.ts b/types/entities/card.ts index f6513a71..bd496cd9 100644 --- a/types/entities/card.ts +++ b/types/entities/card.ts @@ -1,4 +1,4 @@ -export type Card = { +export interface Card { url: string; title: string; description: string; @@ -13,4 +13,4 @@ export type Card = { height: number; embed_url: string; blurhash: string | null; -}; +} diff --git a/types/entities/context.ts b/types/entities/context.ts index 623a11e0..e73a0180 100644 --- a/types/entities/context.ts +++ b/types/entities/context.ts @@ -1,6 +1,6 @@ import { Status } from "./status"; -export type Context = { - ancestors: Array; - descendants: Array; -}; +export interface Context { + ancestors: Status[]; + descendants: Status[]; +} diff --git a/types/entities/conversation.ts b/types/entities/conversation.ts index fd372f43..d8eeeda3 100644 --- a/types/entities/conversation.ts +++ b/types/entities/conversation.ts @@ -1,9 +1,9 @@ import { Account } from "./account"; import { Status } from "./status"; -export type Conversation = { +export interface Conversation { id: string; - accounts: Array; + accounts: Account[]; last_status: Status | null; unread: boolean; -}; +} diff --git a/types/entities/emoji.ts b/types/entities/emoji.ts index d41b2ab5..32e4437f 100644 --- a/types/entities/emoji.ts +++ b/types/entities/emoji.ts @@ -1,7 +1,7 @@ -export type Emoji = { +export interface Emoji { shortcode: string; static_url: string; url: string; visible_in_picker: boolean; category?: string; -}; +} diff --git a/types/entities/featured_tag.ts b/types/entities/featured_tag.ts index b3479069..765acb0b 100644 --- a/types/entities/featured_tag.ts +++ b/types/entities/featured_tag.ts @@ -1,6 +1,6 @@ -export type FeaturedTag = { +export interface FeaturedTag { id: string; name: string; statuses_count: number; last_status_at: string; -}; +} diff --git a/types/entities/field.ts b/types/entities/field.ts index 44664c08..f5e5cb83 100644 --- a/types/entities/field.ts +++ b/types/entities/field.ts @@ -1,5 +1,5 @@ -export type Field = { +export interface Field { name: string; value: string; verified_at: string | null; -}; +} diff --git a/types/entities/filter.ts b/types/entities/filter.ts index 8e68343c..496dfe4e 100644 --- a/types/entities/filter.ts +++ b/types/entities/filter.ts @@ -1,10 +1,10 @@ -export type Filter = { +export interface Filter { id: string; phrase: string; - context: Array; + context: FilterContext[]; expires_at: string | null; irreversible: boolean; whole_word: boolean; -}; +} export type FilterContext = string; diff --git a/types/entities/history.ts b/types/entities/history.ts index 442e6dc7..4c9d55d3 100644 --- a/types/entities/history.ts +++ b/types/entities/history.ts @@ -1,5 +1,5 @@ -export type History = { +export interface History { day: string; uses: number; accounts: number; -}; +} diff --git a/types/entities/identity_proof.ts b/types/entities/identity_proof.ts index bdf601af..a7aff6e1 100644 --- a/types/entities/identity_proof.ts +++ b/types/entities/identity_proof.ts @@ -1,7 +1,7 @@ -export type IdentityProof = { +export interface IdentityProof { provider: string; provider_username: string; updated_at: string; proof_url: string; profile_url: string; -}; +} \ No newline at end of file diff --git a/types/entities/instance.ts b/types/entities/instance.ts index e3e91ef3..f111c4c5 100644 --- a/types/entities/instance.ts +++ b/types/entities/instance.ts @@ -2,7 +2,7 @@ import { Account } from "./account"; import { Stats } from "./stats"; import { URLs } from "./urls"; -export type Instance = { +export interface Instance { uri: string; title: string; description: string; @@ -11,7 +11,7 @@ export type Instance = { thumbnail: string | null; urls: URLs; stats: Stats; - languages: Array; + languages: string[]; registrations: boolean; approval_required: boolean; invites_enabled: boolean; @@ -23,7 +23,7 @@ export type Instance = { characters_reserved_per_url: number; }; media_attachments: { - supported_mime_types: Array; + supported_mime_types: string[]; image_size_limit: number; image_matrix_limit: number; video_size_limit: number; @@ -38,10 +38,10 @@ export type Instance = { }; }; contact_account: Account; - rules: Array; -}; + rules: InstanceRule[]; +} -export type InstanceRule = { +export interface InstanceRule { id: string; text: string; -}; +} diff --git a/types/entities/list.ts b/types/entities/list.ts index b3119da1..d61ccb53 100644 --- a/types/entities/list.ts +++ b/types/entities/list.ts @@ -1,7 +1,7 @@ -export type List = { +export interface List { id: string; title: string; replies_policy: RepliesPolicy; -}; +} export type RepliesPolicy = "followed" | "list" | "none"; diff --git a/types/entities/marker.ts b/types/entities/marker.ts index 01c4118f..8668487c 100644 --- a/types/entities/marker.ts +++ b/types/entities/marker.ts @@ -1,4 +1,4 @@ -export type Marker = { +export interface Marker { home: { last_read_id: string; version: number; @@ -9,4 +9,4 @@ export type Marker = { version: number; updated_at: string; }; -}; +} diff --git a/types/entities/mention.ts b/types/entities/mention.ts index 496e6d0d..b323e149 100644 --- a/types/entities/mention.ts +++ b/types/entities/mention.ts @@ -1,6 +1,6 @@ -export type Mention = { +export interface Mention { id: string; username: string; url: string; acct: string; -}; +} diff --git a/types/entities/notification.ts b/types/entities/notification.ts index 860acd24..cca7fbba 100644 --- a/types/entities/notification.ts +++ b/types/entities/notification.ts @@ -1,14 +1,12 @@ -import { Account } from "./account" -import { Status } from "./status" +import { Account } from "./account"; +import { Status } from "./status"; -namespace MastodonEntity { - export type Notification = { - account: Account - created_at: string - id: string - status?: Status - type: NotificationType - } - - export type NotificationType = string +export interface Notification { + account: Account; + created_at: string; + id: string; + status?: Status; + type: NotificationType; } + +export type NotificationType = string; diff --git a/types/entities/poll.ts b/types/entities/poll.ts index 29e5f6e0..efa3e357 100644 --- a/types/entities/poll.ts +++ b/types/entities/poll.ts @@ -1,11 +1,11 @@ import { PollOption } from "./poll_option"; -export type Poll = { +export interface Poll { id: string; expires_at: string | null; expired: boolean; multiple: boolean; votes_count: number; - options: Array; + options: PollOption[]; voted: boolean; -}; +} diff --git a/types/entities/poll_option.ts b/types/entities/poll_option.ts index 36230998..89375a56 100644 --- a/types/entities/poll_option.ts +++ b/types/entities/poll_option.ts @@ -1,4 +1,4 @@ -export type PollOption = { +export interface PollOption { title: string; votes_count: number | null; -}; +} diff --git a/types/entities/preferences.ts b/types/entities/preferences.ts index 44b1f0a1..eb144ab6 100644 --- a/types/entities/preferences.ts +++ b/types/entities/preferences.ts @@ -1,7 +1,7 @@ -export type Preferences = { +export interface Preferences { "posting:default:visibility": "public" | "unlisted" | "private" | "direct"; "posting:default:sensitive": boolean; "posting:default:language": string | null; "reading:expand:media": "default" | "show_all" | "hide_all"; "reading:expand:spoilers": boolean; -}; +} diff --git a/types/entities/push_subscription.ts b/types/entities/push_subscription.ts index e5df43c3..907a996e 100644 --- a/types/entities/push_subscription.ts +++ b/types/entities/push_subscription.ts @@ -1,14 +1,14 @@ -export type Alerts = { +export interface Alerts { follow: boolean; favourite: boolean; mention: boolean; reblog: boolean; poll: boolean; -}; +} -export type PushSubscription = { +export interface PushSubscription { id: string; endpoint: string; server_key: string; alerts: Alerts; -}; +} diff --git a/types/entities/relationship.ts b/types/entities/relationship.ts index bcc6cf99..330a7f17 100644 --- a/types/entities/relationship.ts +++ b/types/entities/relationship.ts @@ -1,4 +1,4 @@ -export type Relationship = { +export interface Relationship { id: string; following: boolean; followed_by: boolean; @@ -12,5 +12,5 @@ export type Relationship = { endorsed: boolean; notifying: boolean; note: string; - languages: Array; -}; + languages: string[]; +} diff --git a/types/entities/report.ts b/types/entities/report.ts index e1ef7641..487fd7b0 100644 --- a/types/entities/report.ts +++ b/types/entities/report.ts @@ -1,15 +1,15 @@ import { Account } from "./account"; -export type Report = { +export interface Report { id: string; action_taken: boolean; action_taken_at: string | null; category: Category; comment: string; forwarded: boolean; - status_ids: Array | null; - rule_ids: Array | null; + status_ids: string[] | null; + rule_ids: string[] | null; target_account: Account; -}; +} export type Category = "spam" | "violation" | "other"; diff --git a/types/entities/results.ts b/types/entities/results.ts index 42cd4c09..ba10872d 100644 --- a/types/entities/results.ts +++ b/types/entities/results.ts @@ -2,8 +2,8 @@ import { Account } from "./account"; import { Status } from "./status"; import { Tag } from "./tag"; -export type Results = { - accounts: Array; - statuses: Array; - hashtags: Array; -}; +export interface Results { + accounts: Account[]; + statuses: Status[]; + hashtags: Tag[]; +} diff --git a/types/entities/role.ts b/types/entities/role.ts index 85251115..4566feac 100644 --- a/types/entities/role.ts +++ b/types/entities/role.ts @@ -1,3 +1,3 @@ -export type Role = { +export interface Role { name: string; -}; +} diff --git a/types/entities/scheduled_status.ts b/types/entities/scheduled_status.ts index 1e4d9b7b..58330967 100644 --- a/types/entities/scheduled_status.ts +++ b/types/entities/scheduled_status.ts @@ -1,9 +1,9 @@ import { Attachment } from "./attachment"; import { StatusParams } from "./status_params"; -export type ScheduledStatus = { +export interface ScheduledStatus { id: string; scheduled_at: string; params: StatusParams; - media_attachments: Array; -}; + media_attachments: Attachment[]; +} diff --git a/types/entities/source.ts b/types/entities/source.ts index e8352d65..b11c0b33 100644 --- a/types/entities/source.ts +++ b/types/entities/source.ts @@ -1,9 +1,9 @@ import { Field } from "./field"; -export type Source = { +export interface Source { privacy: string | null; sensitive: boolean | null; language: string | null; note: string; - fields: Array; -}; + fields: Field[]; +} diff --git a/types/entities/stats.ts b/types/entities/stats.ts index 3baf0639..4f3e825d 100644 --- a/types/entities/stats.ts +++ b/types/entities/stats.ts @@ -1,5 +1,5 @@ -export type Stats = { +export interface Stats { user_count: number; status_count: number; domain_count: number; -}; +} diff --git a/types/entities/status.ts b/types/entities/status.ts index 6c1e60d8..4a0eb2a9 100644 --- a/types/entities/status.ts +++ b/types/entities/status.ts @@ -6,7 +6,7 @@ import { Emoji } from "./emoji"; import { Mention } from "./mention"; import { Poll } from "./poll"; -export type Status = { +export interface Status { id: string; uri: string; url: string; @@ -26,9 +26,9 @@ export type Status = { sensitive: boolean; spoiler_text: string; visibility: "public" | "unlisted" | "private" | "direct"; - media_attachments: Array; - mentions: Array; - tags: Array; + media_attachments: Attachment[]; + mentions: Mention[]; + tags: StatusTag[]; card: Card | null; poll: Poll | null; application: Application | null; @@ -38,9 +38,9 @@ export type Status = { // These parameters are unique parameters in fedibird.com for quote. quote_id?: string; quote?: Status | null; -}; +} -export type StatusTag = { +export interface StatusTag { name: string; url: string; -}; +} diff --git a/types/entities/status_params.ts b/types/entities/status_params.ts index 5b638efe..3f67a6c0 100644 --- a/types/entities/status_params.ts +++ b/types/entities/status_params.ts @@ -1,10 +1,10 @@ -export type StatusParams = { +export interface StatusParams { text: string; in_reply_to_id: string | null; - media_ids: Array | null; + media_ids: string[] | null; sensitive: boolean | null; spoiler_text: string | null; visibility: "public" | "unlisted" | "private" | "direct" | null; scheduled_at: string | null; application_id: number; -}; +} diff --git a/types/entities/status_source.ts b/types/entities/status_source.ts index 82fea66d..095d4682 100644 --- a/types/entities/status_source.ts +++ b/types/entities/status_source.ts @@ -1,5 +1,5 @@ -export type StatusSource = { +export interface StatusSource { id: string; text: string; spoiler_text: string; -}; +} diff --git a/types/entities/tag.ts b/types/entities/tag.ts index 59db622f..7022eccb 100644 --- a/types/entities/tag.ts +++ b/types/entities/tag.ts @@ -1,8 +1,8 @@ import { History } from "./history"; -export type Tag = { +export interface Tag { name: string; url: string; - history: Array; + history: History[]; following?: boolean; -}; +} diff --git a/types/entities/token.ts b/types/entities/token.ts index cbe9e0a0..90b94280 100644 --- a/types/entities/token.ts +++ b/types/entities/token.ts @@ -1,6 +1,6 @@ -export type Token = { +export interface Token { access_token: string; token_type: string; scope: string; created_at: number; -}; +} diff --git a/types/entities/urls.ts b/types/entities/urls.ts index 3c28faea..1f877fe2 100644 --- a/types/entities/urls.ts +++ b/types/entities/urls.ts @@ -1,3 +1,3 @@ -export type URLs = { +export interface URLs { streaming_api: string; -}; +} diff --git a/utils/config.ts b/utils/config.ts index f8f13eac..d5f4c076 100644 --- a/utils/config.ts +++ b/utils/config.ts @@ -1,6 +1,6 @@ import data from "../config/config.toml"; -export type ConfigType = { +export interface ConfigType { database: { host: string; port: number; @@ -8,7 +8,7 @@ export type ConfigType = { password: string; database: string; } - [ key: string ]: any; + [ key: string ]: unknown; } export const getConfig = () => { diff --git a/utils/response.ts b/utils/response.ts index 1a961acf..eb820d94 100644 --- a/utils/response.ts +++ b/utils/response.ts @@ -1,4 +1,4 @@ -export const jsonResponse = (data: object, status: number = 200) => { +export const jsonResponse = (data: object, status = 200) => { return new Response(JSON.stringify(data), { headers: { "Content-Type": "application/json"