chore: migrate linting and formatting to Oxc

This commit is contained in:
2026-09-28 20:08:38 +09:00
parent 8085ad2f90
commit 0bab009984
27 changed files with 1550 additions and 1510 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -89,14 +89,14 @@ The server input has two valid states:
```ts
type InitialThreadInput = {
tweetId: string
}
tweetId: string;
};
type ContinuedThreadInput = {
tweetId: string
conversationId: string
cursor: string
}
tweetId: string;
conversationId: string;
cursor: string;
};
```
All IDs must be decimal strings. Cursor values are opaque non-empty strings.
@@ -106,11 +106,11 @@ The successful page shape is:
```ts
type ThreadPage = {
tweets: Post[]
focalPost?: Post
conversationId: string
nextCursor?: string
}
tweets: Post[];
focalPost?: Post;
conversationId: string;
nextCursor?: string;
};
```
`focalPost` is present only on the initial page. All returned posts pass through
@@ -137,7 +137,7 @@ cannot rediscover the conversation root if the cursor page omits that reply.
1. Validate the supplied `tweetId`, `conversationId`, and cursor.
2. Call `getThreadPaged(conversationId, {
cursor, maxPages: 1, pageDelayMs: 0 })` once.
cursor, maxPages: 1, pageDelayMs: 0 })` once.
3. Return the sanitized tweets with the same conversation ID and new cursor.
The original `tweetId` remains part of the query identity and validation
@@ -149,7 +149,10 @@ continuation requests.
Extend the existing feed request union with:
```ts
{ kind: 'thread'; tweetId: string }
{
kind: "thread";
tweetId: string;
}
```
The thread query key includes the focal tweet ID. Its initial page parameter is
@@ -68,16 +68,16 @@ Work spans two repositories and the Gitea package registry:
Bird currently hard-codes `product: 'Latest'` in SearchTimeline requests. Add the following public contract:
```ts
export type SearchProduct = 'Top' | 'Latest'
export type SearchProduct = "Top" | "Latest";
export interface SearchFetchOptions {
includeRaw?: boolean
product?: SearchProduct
includeRaw?: boolean;
product?: SearchProduct;
}
export interface SearchPaginationOptions extends SearchFetchOptions {
maxPages?: number
cursor?: string
maxPages?: number;
cursor?: string;
}
```
@@ -126,7 +126,7 @@ new TwitterClient({
relayBaseUrl: process.env.TWITTER_RELAY_BASE_URL,
profileName: process.env.BIRD_PROFILE_NAME,
timeoutMs: 20_000,
})
});
```
`TWITTER_RELAY_BASE_URL` is required. `BIRD_PROFILE_NAME` is optional but must be passed explicitly because the Bird library does not read that environment variable itself.