diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 17e9e14a554..5e8b4852cb1 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -122,7 +122,7 @@ const preview: Preview = { locale, }, }, - state as Record, + state, stateFnState, argsState, ); diff --git a/app/javascript/mastodon/actions/streaming.js b/app/javascript/mastodon/actions/streaming.js index 34d094f519c..62accd632e9 100644 --- a/app/javascript/mastodon/actions/streaming.js +++ b/app/javascript/mastodon/actions/streaming.js @@ -36,7 +36,7 @@ const randomUpTo = max => * @typedef {import('mastodon/store').AppDispatch} Dispatch * @typedef {import('mastodon/store').GetState} GetState * @typedef {import('redux').UnknownAction} UnknownAction - * @typedef {function(Dispatch, GetState): Promise} FallbackFunction + * @typedef {(dispatch: Dispatch, getState: GetState) => Promise} FallbackFunction */ /** @@ -45,9 +45,9 @@ const randomUpTo = max => * @param {Object.} params * @param {Object} options * @param {FallbackFunction} [options.fallback] - * @param {function(): UnknownAction} [options.fillGaps] - * @param {function(object): boolean} [options.accept] - * @returns {function(): void} + * @param {() => UnknownAction} [options.fillGaps] + * @param {(status: object) => boolean} [options.accept] + * @returns {() => void} */ export const connectTimelineStream = (timelineId, channelName, params = {}, options = {}) => { const { messages } = getLocale(); @@ -159,7 +159,7 @@ async function refreshHomeTimelineAndNotification(dispatch) { } /** - * @returns {function(): void} + * @returns {() => void} */ export const connectUserStream = () => connectTimelineStream('home', 'user', {}, { @@ -171,7 +171,7 @@ export const connectUserStream = () => /** * @param {Object} options * @param {boolean} [options.onlyMedia] - * @returns {function(): void} + * @returns {() => void} */ export const connectCommunityStream = ({ onlyMedia } = {}) => connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`, {}, { @@ -183,7 +183,7 @@ export const connectCommunityStream = ({ onlyMedia } = {}) => * @param {Object} options * @param {boolean} [options.onlyMedia] * @param {boolean} [options.onlyRemote] - * @returns {function(): void} + * @returns {() => void} */ export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, {}, { @@ -195,21 +195,21 @@ export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => * @param {string} columnId * @param {string} tagName * @param {boolean} onlyLocal - * @param {function(object): boolean} accept - * @returns {function(): void} + * @param {(status: object) => boolean} accept + * @returns {() => void} */ export const connectHashtagStream = (columnId, tagName, onlyLocal, accept) => connectTimelineStream(`hashtag:${columnId}${onlyLocal ? ':local' : ''}`, `hashtag${onlyLocal ? ':local' : ''}`, { tag: tagName }, { accept }); /** - * @returns {function(): void} + * @returns {() => void} */ export const connectDirectStream = () => connectTimelineStream('direct', 'direct'); /** * @param {string} listId - * @returns {function(): void} + * @returns {() => void} */ export const connectListStream = listId => connectTimelineStream(`list:${listId}`, 'list', { list: listId }, { diff --git a/app/javascript/mastodon/components/account_header/buttons.tsx b/app/javascript/mastodon/components/account_header/buttons.tsx index 7d7f6e7d8b6..af937d284da 100644 --- a/app/javascript/mastodon/components/account_header/buttons.tsx +++ b/app/javascript/mastodon/components/account_header/buttons.tsx @@ -69,6 +69,7 @@ const AccountButtonsOther: FC< const dispatch = useAppDispatch(); const handleNotifyToggle = useCallback(() => { if (account) { + // @ts-expect-error this action is not typed yet dispatch(followAccount(account.id, { notify: !relationship?.notifying })); } }, [dispatch, account, relationship]); diff --git a/app/javascript/mastodon/components/account_header/menu.tsx b/app/javascript/mastodon/components/account_header/menu.tsx index 8619a1c45fc..50ad637fe05 100644 --- a/app/javascript/mastodon/components/account_header/menu.tsx +++ b/app/javascript/mastodon/components/account_header/menu.tsx @@ -395,6 +395,7 @@ function getMenuItems({ ), action: () => { dispatch( + // @ts-expect-error this action is not typed yet followAccount(account.id, { reblogs: !relationship.showing_reblogs, }), diff --git a/app/javascript/mastodon/components/edited_timestamp/index.tsx b/app/javascript/mastodon/components/edited_timestamp/index.tsx index 9b7fec1849b..3490b374869 100644 --- a/app/javascript/mastodon/components/edited_timestamp/index.tsx +++ b/app/javascript/mastodon/components/edited_timestamp/index.tsx @@ -62,9 +62,7 @@ export const EditedTimestamp: React.FC<{ const formattedDate = ( ); - const formattedName = ( - - ); + const formattedName = ; const label = (item.get('original') as boolean) ? ( = ({ accountId }) => { accountId ? state.accounts.get(accountId) : undefined, ); const domain = account?.acct ? account.acct.split('@')[1] : undefined; - if ( - !account || - !account.url || - account.acct !== account.username || - !domain - ) { + if (!account?.url || account.acct !== account.username || !domain) { return null; } diff --git a/app/javascript/mastodon/features/directory/components/account_card.tsx b/app/javascript/mastodon/features/directory/components/account_card.tsx index 562a72b4e8b..9ed13cfb05c 100644 --- a/app/javascript/mastodon/features/directory/components/account_card.tsx +++ b/app/javascript/mastodon/features/directory/components/account_card.tsx @@ -33,7 +33,7 @@ export const AccountCard: React.FC<{ accountId: string }> = ({ accountId }) => {
- +
diff --git a/app/javascript/mastodon/hooks/useSearchTags.ts b/app/javascript/mastodon/hooks/useSearchTags.ts index b55ad21c1ef..c5038a1557c 100644 --- a/app/javascript/mastodon/hooks/useSearchTags.ts +++ b/app/javascript/mastodon/hooks/useSearchTags.ts @@ -89,10 +89,10 @@ export function useSearchTags({ }, []); // Add dedicated item for adding the current query - const tags = useMemo(() => { + const tags = useMemo((): TagSearchResult[] => { const trimmedQuery = query ? trimHashFromStart(query.trim()) : ''; if (!trimmedQuery) { - return fetchedTags as TagSearchResult[]; + return fetchedTags; } const results: TagSearchResult[] = [...fetchedTags]; // Make array mutable diff --git a/app/javascript/mastodon/models/poll.ts b/app/javascript/mastodon/models/poll.ts index 154788700c7..13c06882686 100644 --- a/app/javascript/mastodon/models/poll.ts +++ b/app/javascript/mastodon/models/poll.ts @@ -18,11 +18,11 @@ export interface PollOption extends ApiPollOptionJSON { export function createPollOptionTranslationFromServerJSON(translation: { title: string; -}) { +}): PollOptionTranslation { return { ...translation, titleHtml: escapeTextContentForBrowser(translation.title), - } as PollOptionTranslation; + }; } export interface Poll extends Omit< diff --git a/app/javascript/mastodon/reducers/notification_groups.ts b/app/javascript/mastodon/reducers/notification_groups.ts index ec743796022..87b8e84bb46 100644 --- a/app/javascript/mastodon/reducers/notification_groups.ts +++ b/app/javascript/mastodon/reducers/notification_groups.ts @@ -371,7 +371,7 @@ function fillNotificationsGap( type: 'gap', maxId: notifications.at(-1)?.page_max_id, sinceId, - } as NotificationGap); + } satisfies NotificationGap); } // Remove older groups covered by the API diff --git a/app/javascript/mastodon/reducers/slices/annual_report.ts b/app/javascript/mastodon/reducers/slices/annual_report.ts index 798fe7cc9b0..88f949ec666 100644 --- a/app/javascript/mastodon/reducers/slices/annual_report.ts +++ b/app/javascript/mastodon/reducers/slices/annual_report.ts @@ -24,12 +24,14 @@ interface AnnualReportState { report?: AnnualReport; } +const initialState: AnnualReportState = { + year: wrapstodon?.year, + state: wrapstodon?.state, +}; + const annualReportSlice = createSlice({ name: 'annualReport', - initialState: { - year: wrapstodon?.year, - state: wrapstodon?.state, - } as AnnualReportState, + initialState, reducers: { setReport(state, action: PayloadAction) { state.report = action.payload; diff --git a/app/javascript/mastodon/reducers/slices/emojis.ts b/app/javascript/mastodon/reducers/slices/emojis.ts index 28e9430c40c..6863fb2cd53 100644 --- a/app/javascript/mastodon/reducers/slices/emojis.ts +++ b/app/javascript/mastodon/reducers/slices/emojis.ts @@ -14,14 +14,16 @@ interface EmojisState { localesLoaded: Locale[]; } +const initialState: EmojisState = { + custom: {}, + customCategories: {}, + customLoaded: false, + localesLoaded: [], +}; + const emojisSlice = createSlice({ name: 'emojis', - initialState: { - custom: {}, - customCategories: {}, - customLoaded: false, - localesLoaded: [], - } as EmojisState, + initialState, reducers: { loadLocale(state, action: PayloadAction) { const locale = toSupportedLocale(action.payload); diff --git a/app/javascript/mastodon/stream.js b/app/javascript/mastodon/stream.js index 27fbc25ba5e..d66332083fc 100644 --- a/app/javascript/mastodon/stream.js +++ b/app/javascript/mastodon/stream.js @@ -13,9 +13,9 @@ let sharedConnection; * @typedef Subscription * @property {string} channelName * @property {Object.} params - * @property {function(): void} onConnect - * @property {function(StreamEvent): void} onReceive - * @property {function(): void} onDisconnect + * @property {() => void} onConnect + * @property {(event: StreamEvent) => void} onReceive + * @property {() => void} onDisconnect */ /** @@ -146,8 +146,8 @@ const channelNameWithInlineParams = (channelName, params) => { /** * @param {string} channelName * @param {Object.} params - * @param {function(Dispatch, GetState): { onConnect: (function(): void), onReceive: (function(StreamEvent): void), onDisconnect: (function(): void) }} callbacks - * @returns {function(): void} + * @param {(dispatch: Dispatch, getState: GetState) => { onConnect: () => void, onReceive: (event: StreamEvent) => void, onDisconnect: () => void }} callbacks + * @returns {() => void} */ // @ts-expect-error export const connectStream = (channelName, params, callbacks) => (dispatch, getState) => { @@ -221,7 +221,7 @@ const KNOWN_EVENT_TYPES = [ /** * @param {MessageEvent} e - * @param {function(StreamEvent): void} received + * @param {(event: StreamEvent) => void} received */ const handleEventSourceMessage = (e, received) => { received({ @@ -234,7 +234,7 @@ const handleEventSourceMessage = (e, received) => { * @param {string} streamingAPIBaseURL * @param {string} accessToken * @param {string} channelName - * @param {{ connected: function(): void, received: function(StreamEvent): void, disconnected: function(): void, reconnected: function(): void }} callbacks + * @param {{ connected: () => void, received: (event: StreamEvent) => void, disconnected: () => void, reconnected: () => void }} callbacks * @returns {WebSocketClient | EventSource} */ const createConnection = (streamingAPIBaseURL, accessToken, channelName, { connected, received, disconnected, reconnected }) => { @@ -274,7 +274,7 @@ const createConnection = (streamingAPIBaseURL, accessToken, channelName, { conne es.addEventListener(type, e => handleEventSourceMessage(/** @type {MessageEvent} */(e), received)); }); - es.onerror = /** @type {function(): void} */ (disconnected); + es.onerror = /** @type {() => void} */ (disconnected); return es; }; diff --git a/lint-staged.config.js b/lint-staged.config.js index 60ec3079808..2056cc2bf85 100644 --- a/lint-staged.config.js +++ b/lint-staged.config.js @@ -4,7 +4,7 @@ const config = { '*.{js,jsx,ts,tsx}': 'eslint --fix', '*.{css,scss}': 'stylelint --fix', '*.haml': 'bin/haml-lint -a', - '**/*.ts?(x)': () => 'tsc -p tsconfig.json --noEmit', + '**/*.ts?(x)': () => 'yarn tsc -p tsconfig.json --noEmit', 'app/javascript/**/*.{js,jsx,ts,tsx}': () => [ `yarn i18n:extract`, 'git diff --exit-code app/javascript/mastodon/locales/en.json', diff --git a/package.json b/package.json index 8906e31ad91..03603fa25f3 100644 --- a/package.json +++ b/package.json @@ -152,8 +152,9 @@ "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "@types/react-sparklines": "^1.7.2", - "@types/redux-immutable": "^4.0.3", + "@types/redux-immutable": "^4.0.6", "@types/requestidlecallback": "^0.3.5", + "@typescript/native": "npm:typescript@^7.0.2", "@vitest/browser": "^4.1.0", "@vitest/browser-playwright": "^4.1.10", "@vitest/coverage-v8": "^4.1.0", @@ -181,8 +182,8 @@ "stylelint": "^17.0.0", "stylelint-config-standard-scss": "^17.0.0", "type-fest": "^5.7.0", - "typescript": "~6.0.0", - "typescript-eslint": "^8.55.0", + "typescript": "npm:@typescript/typescript6@^6.0.2", + "typescript-eslint": "^8.65.0", "typescript-plugin-css-modules": "^5.2.0", "vitest": "^4.1.10" }, diff --git a/streaming/package.json b/streaming/package.json index 8909e0462a2..3a26116c247 100644 --- a/streaming/package.json +++ b/streaming/package.json @@ -36,10 +36,11 @@ "@types/express": "^5.0.5", "@types/pg": "^8.6.6", "@types/ws": "^8.5.9", + "@typescript/native": "npm:typescript@^7.0.2", "globals": "^17.3.0", "pino-pretty": "^13.0.0", - "typescript": "~6.0.0", - "typescript-eslint": "^8.55.0" + "typescript": "npm:@typescript/typescript6@^6.0.2", + "typescript-eslint": "^8.65.0" }, "optionalDependencies": { "bufferutil": "^4.0.7", diff --git a/yarn.lock b/yarn.lock index 9608d87f03c..99a9fa458a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2934,8 +2934,9 @@ __metadata: "@types/react-router": "npm:^5.1.20" "@types/react-router-dom": "npm:^5.3.3" "@types/react-sparklines": "npm:^1.7.2" - "@types/redux-immutable": "npm:^4.0.3" + "@types/redux-immutable": "npm:^4.0.6" "@types/requestidlecallback": "npm:^0.3.5" + "@typescript/native": "npm:typescript@^7.0.2" "@unhead/react": "npm:^3.1.0" "@use-gesture/react": "npm:^10.3.1" "@vitejs/plugin-legacy": "npm:^8.0.0" @@ -3028,8 +3029,8 @@ __metadata: tiny-queue: "npm:^0.2.1" twitter-text: "npm:3.1.0" type-fest: "npm:^5.7.0" - typescript: "npm:~6.0.0" - typescript-eslint: "npm:^8.55.0" + typescript: "npm:@typescript/typescript6@^6.0.2" + typescript-eslint: "npm:^8.65.0" typescript-plugin-css-modules: "npm:^5.2.0" use-debounce: "npm:^10.0.0" vite: "npm:^8.0.0" @@ -3056,6 +3057,7 @@ __metadata: "@types/express": "npm:^5.0.5" "@types/pg": "npm:^8.6.6" "@types/ws": "npm:^8.5.9" + "@typescript/native": "npm:typescript@^7.0.2" bufferutil: "npm:^4.0.7" cors: "npm:^2.8.5" dotenv: "npm:^17.0.0" @@ -3069,8 +3071,8 @@ __metadata: pino-http: "npm:^11.0.0" pino-pretty: "npm:^13.0.0" prom-client: "npm:^15.0.0" - typescript: "npm:~6.0.0" - typescript-eslint: "npm:^8.55.0" + typescript: "npm:@typescript/typescript6@^6.0.2" + typescript-eslint: "npm:^8.65.0" utf-8-validate: "npm:^6.0.3" uuid: "npm:^14.0.0" ws: "npm:^8.12.1" @@ -4720,7 +4722,7 @@ __metadata: languageName: node linkType: hard -"@types/redux-immutable@npm:^4.0.3": +"@types/redux-immutable@npm:^4.0.6": version: 4.0.6 resolution: "@types/redux-immutable@npm:4.0.6" dependencies: @@ -4787,145 +4789,359 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.55.0" +"@typescript-eslint/eslint-plugin@npm:8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.65.0" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/type-utils": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" + "@typescript-eslint/scope-manager": "npm:8.65.0" + "@typescript-eslint/type-utils": "npm:8.65.0" + "@typescript-eslint/utils": "npm:8.65.0" + "@typescript-eslint/visitor-keys": "npm:8.65.0" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.4.0" + ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.55.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/e15973dfc822f6a455142433fa393ea2dd9fd4ba443e0d2fb68c6be7cd9a36e13412f061ccfe436a2c90fa070c4538bdd50985d374e85606c98800d372c17eb9 + "@typescript-eslint/parser": ^8.65.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/1d9ddad417b43037c35c91a7c30bfc0015ccc40da57fe9faadae97fbaee6031a539a35265a9933d3bb946f307c397b7a00953806339576a721d619695a972079 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/parser@npm:8.55.0" +"@typescript-eslint/parser@npm:8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/parser@npm:8.65.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" + "@typescript-eslint/scope-manager": "npm:8.65.0" + "@typescript-eslint/types": "npm:8.65.0" + "@typescript-eslint/typescript-estree": "npm:8.65.0" + "@typescript-eslint/visitor-keys": "npm:8.65.0" debug: "npm:^4.4.3" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8b8f8caf64a43b98bff8e7bb99cd62d7c72daeee44e80e0a5f693dd376d9c898997e0b9fd5521604d1445bcb24552f54aed5cae022072f8c354a2baf2a452284 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/b3f5333abe5dfb08b53b89c824d045d96d5eb5798fab45eeedfaab72e4ce133a82fb4ebbc1acf79098aac9b08f7acc119fe0edd63ac2f91d80c98f5ca87c41e0 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/project-service@npm:8.55.0" +"@typescript-eslint/project-service@npm:8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/project-service@npm:8.65.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.55.0" - "@typescript-eslint/types": "npm:^8.55.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.65.0" + "@typescript-eslint/types": "npm:^8.65.0" debug: "npm:^4.4.3" peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/f35273a63635d2de84409f68dfcea901ed2cd3f08206abb825d742b929c8fce66e0a6a32524d87ce895a7c4c2549e4388baa08644c0a5244c9708151b0f62f52 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/56d8f598f1bb6ca892ff79320bd1aa134eefa05cf0bad4932c44518475a8bccf0c9027ae2177b3c1761496c8107236b81dd93f67d09093c2242f07f3f2063c1f languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/scope-manager@npm:8.55.0" +"@typescript-eslint/scope-manager@npm:8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/scope-manager@npm:8.65.0" dependencies: - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" - checksum: 10c0/c42bd6b8e4936cac8bee3adbc2f707e3aee5f16af3dd18c1d095f4a1b881471b58de73abc0ad176db98654683a808946902e51d86efff39dc7610d29152c3078 + "@typescript-eslint/types": "npm:8.65.0" + "@typescript-eslint/visitor-keys": "npm:8.65.0" + checksum: 10c0/303bae83a2243e742fcf86bef0b67615dc8915d2dd40268b796e2f49a40057b05de41608846aa362ad77e2d6976ec3cf30f1cdf245c1e39d18fd8ce91ae38c5c languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.55.0, @typescript-eslint/tsconfig-utils@npm:^8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.55.0" +"@typescript-eslint/tsconfig-utils@npm:8.65.0, @typescript-eslint/tsconfig-utils@npm:^8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.65.0" peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/77b9a0d0b1d6ab0ce26c81394bb1aa969649016d2857e5f915a15b88012ac3dccec9fc5ff65535e1cc373434e1462513f7964e416a8d7a695f7277dcd39ec2af + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/5b897bbba4584ee67c7a0bc0b4b6cbf8db2cb5997d5ab8f07fae692315dd51cabcc7116c609a94a162747dd267118b7a0f1c8fb29d71210ad38549e4b8b6adb1 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/type-utils@npm:8.55.0" +"@typescript-eslint/type-utils@npm:8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/type-utils@npm:8.65.0" dependencies: - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" + "@typescript-eslint/types": "npm:8.65.0" + "@typescript-eslint/typescript-estree": "npm:8.65.0" + "@typescript-eslint/utils": "npm:8.65.0" debug: "npm:^4.4.3" - ts-api-utils: "npm:^2.4.0" + ts-api-utils: "npm:^2.5.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/4987440d6e1ee2ae8024259796381612ab2fc81821ff93c45400f803726ea4894a25d07afa5f80cdf3081a189d99dc83a3a8dcd94ff9a4cab81461fe28ab9aef + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/05a1a1283020f63eac3cb6202afd08459531a4522a85ceb0f5789f2902df7c180565f65f217cc780127888b7113b1c8c34aa6bfd7020d568f01a17f290216e9b languageName: node linkType: hard -"@typescript-eslint/types@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/types@npm:8.55.0" - checksum: 10c0/dc572f55966e2f0fee149e5d5e42a91cedcdeac451bff29704eb701f9336f123bbc7d7abcfbda717f9e1ef6b402fa24679908bc6032e67513287403037ef345f +"@typescript-eslint/types@npm:8.65.0, @typescript-eslint/types@npm:^8.58.0, @typescript-eslint/types@npm:^8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/types@npm:8.65.0" + checksum: 10c0/919b6d96111ea26f09c6cb1121fbba915147761be3fbf9c4de5b200faa2891087ebdcfd2f4a1f27a4c6153daeefc7448147c651a074b3ec70440f3f8c1092a81 languageName: node linkType: hard -"@typescript-eslint/types@npm:^8.55.0, @typescript-eslint/types@npm:^8.58.0": - version: 8.60.0 - resolution: "@typescript-eslint/types@npm:8.60.0" - checksum: 10c0/d2b6d46081a6521f204fda30e8f03712480b788d80b62b311e0f33764752d3db3bd415dd4e1f8d28495931316da1dfb5ee259e40c5de970367fbaa1efe97223f - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.55.0" +"@typescript-eslint/typescript-estree@npm:8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.65.0" dependencies: - "@typescript-eslint/project-service": "npm:8.55.0" - "@typescript-eslint/tsconfig-utils": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/visitor-keys": "npm:8.55.0" + "@typescript-eslint/project-service": "npm:8.65.0" + "@typescript-eslint/tsconfig-utils": "npm:8.65.0" + "@typescript-eslint/types": "npm:8.65.0" + "@typescript-eslint/visitor-keys": "npm:8.65.0" debug: "npm:^4.4.3" - minimatch: "npm:^9.0.5" + minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.4.0" + ts-api-utils: "npm:^2.5.0" peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/2db3ff9489945ad04508b14009eb0f6b2b7c6c2469805327fa09ffa460af354cd181ff2e8153f9008bd60254efb54a004a59ccacbdbc9c963956e2c2c1189dbc + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/578ff5247f17865277badfe13362a82ba82c8bb11aaa78323933895e0ba0fc02788ae6aa9bd84bc8287660004a76231341977a3188b399c776b7e713c5054239 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.55.0, @typescript-eslint/utils@npm:^8.48.0": - version: 8.55.0 - resolution: "@typescript-eslint/utils@npm:8.55.0" +"@typescript-eslint/utils@npm:8.65.0, @typescript-eslint/utils@npm:^8.48.0": + version: 8.65.0 + resolution: "@typescript-eslint/utils@npm:8.65.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.55.0" - "@typescript-eslint/types": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" + "@typescript-eslint/scope-manager": "npm:8.65.0" + "@typescript-eslint/types": "npm:8.65.0" + "@typescript-eslint/typescript-estree": "npm:8.65.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/b57b86ac531e433c8057279805e6c903250460bc937cea46ec3b9284181a38f23b7c1ef092e8a1e37179432b39bd587c33db7f031b4243b1207ef37f23e4f24f + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/258775532bb23bfeccb7ef25369a62b5fcf48f633af178830113d5aea6d0e968ad67a63b3371206151eb6a8dca0a3381f7efa07958fd8063505e1a53e470a439 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.55.0": - version: 8.55.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.55.0" +"@typescript-eslint/visitor-keys@npm:8.65.0": + version: 8.65.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.65.0" dependencies: - "@typescript-eslint/types": "npm:8.55.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/995c5ca91f7c7c1f3c4fdb4f98654abdff55efa570076b9b012da4cc203ebe7e2aee57ba83208ae51c2aef496c45cb8f6909560349131b779f31ce6f8758da23 + "@typescript-eslint/types": "npm:8.65.0" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10c0/f50cf2da4077f8eebfd56658ede17dfbf2e39875dc53562f5c1bc6e9835a0b4b00e0e0255e2dc3488234aca1f783d89beb084c417b22027520bf015a7b59ffb8 + languageName: node + linkType: hard + +"@typescript/native@npm:typescript@^7.0.2": + version: 7.0.2 + resolution: "typescript@npm:7.0.2" + dependencies: + "@typescript/typescript-aix-ppc64": "npm:7.0.2" + "@typescript/typescript-darwin-arm64": "npm:7.0.2" + "@typescript/typescript-darwin-x64": "npm:7.0.2" + "@typescript/typescript-freebsd-arm64": "npm:7.0.2" + "@typescript/typescript-freebsd-x64": "npm:7.0.2" + "@typescript/typescript-linux-arm": "npm:7.0.2" + "@typescript/typescript-linux-arm64": "npm:7.0.2" + "@typescript/typescript-linux-loong64": "npm:7.0.2" + "@typescript/typescript-linux-mips64el": "npm:7.0.2" + "@typescript/typescript-linux-ppc64": "npm:7.0.2" + "@typescript/typescript-linux-riscv64": "npm:7.0.2" + "@typescript/typescript-linux-s390x": "npm:7.0.2" + "@typescript/typescript-linux-x64": "npm:7.0.2" + "@typescript/typescript-netbsd-arm64": "npm:7.0.2" + "@typescript/typescript-netbsd-x64": "npm:7.0.2" + "@typescript/typescript-openbsd-arm64": "npm:7.0.2" + "@typescript/typescript-openbsd-x64": "npm:7.0.2" + "@typescript/typescript-sunos-x64": "npm:7.0.2" + "@typescript/typescript-win32-arm64": "npm:7.0.2" + "@typescript/typescript-win32-x64": "npm:7.0.2" + dependenciesMeta: + "@typescript/typescript-aix-ppc64": + optional: true + "@typescript/typescript-darwin-arm64": + optional: true + "@typescript/typescript-darwin-x64": + optional: true + "@typescript/typescript-freebsd-arm64": + optional: true + "@typescript/typescript-freebsd-x64": + optional: true + "@typescript/typescript-linux-arm": + optional: true + "@typescript/typescript-linux-arm64": + optional: true + "@typescript/typescript-linux-loong64": + optional: true + "@typescript/typescript-linux-mips64el": + optional: true + "@typescript/typescript-linux-ppc64": + optional: true + "@typescript/typescript-linux-riscv64": + optional: true + "@typescript/typescript-linux-s390x": + optional: true + "@typescript/typescript-linux-x64": + optional: true + "@typescript/typescript-netbsd-arm64": + optional: true + "@typescript/typescript-netbsd-x64": + optional: true + "@typescript/typescript-openbsd-arm64": + optional: true + "@typescript/typescript-openbsd-x64": + optional: true + "@typescript/typescript-sunos-x64": + optional: true + "@typescript/typescript-win32-arm64": + optional: true + "@typescript/typescript-win32-x64": + optional: true + bin: + tsc: bin/tsc + checksum: 10c0/3dcee51ec8c332492325bcdbf7df48b66668751f127e622ae7d41b6c716eb19184424a45e14f7750f50f340232388b69e6287859155f06a5ce2df76f12cb31cf + languageName: node + linkType: hard + +"@typescript/old@npm:typescript@^6, typescript@npm:^5.6 || 6": + version: 6.0.3 + resolution: "typescript@npm:6.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 + languageName: node + linkType: hard + +"@typescript/typescript-aix-ppc64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-aix-ppc64@npm:7.0.2" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@typescript/typescript-darwin-arm64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-darwin-arm64@npm:7.0.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-darwin-x64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-darwin-x64@npm:7.0.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-freebsd-arm64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-freebsd-arm64@npm:7.0.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-freebsd-x64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-freebsd-x64@npm:7.0.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-arm64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-arm64@npm:7.0.2" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-arm@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-arm@npm:7.0.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@typescript/typescript-linux-loong64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-loong64@npm:7.0.2" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-mips64el@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-mips64el@npm:7.0.2" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@typescript/typescript-linux-ppc64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-ppc64@npm:7.0.2" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-riscv64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-riscv64@npm:7.0.2" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@typescript/typescript-linux-s390x@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-s390x@npm:7.0.2" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@typescript/typescript-linux-x64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-linux-x64@npm:7.0.2" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-netbsd-arm64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-netbsd-arm64@npm:7.0.2" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-netbsd-x64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-netbsd-x64@npm:7.0.2" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-openbsd-arm64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-openbsd-arm64@npm:7.0.2" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-openbsd-x64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-openbsd-x64@npm:7.0.2" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-sunos-x64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-sunos-x64@npm:7.0.2" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@typescript/typescript-win32-arm64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-win32-arm64@npm:7.0.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/typescript-win32-x64@npm:7.0.2": + version: 7.0.2 + resolution: "@typescript/typescript-win32-x64@npm:7.0.2" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7557,7 +7773,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^5.0.1": +"eslint-visitor-keys@npm:^5.0.0, eslint-visitor-keys@npm:^5.0.1": version: 5.0.1 resolution: "eslint-visitor-keys@npm:5.0.1" checksum: 10c0/16190bdf2cbae40a1109384c94450c526a79b0b9c3cb21e544256ed85ac48a4b84db66b74a6561d20fe6ab77447f150d711c2ad5ad74df4fcc133736bce99678 @@ -9970,7 +10186,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": +"minimatch@npm:^9.0.4": version: 9.0.9 resolution: "minimatch@npm:9.0.9" dependencies: @@ -13679,12 +13895,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.4.0": - version: 2.4.0 - resolution: "ts-api-utils@npm:2.4.0" +"ts-api-utils@npm:^2.5.0": + version: 2.5.0 + resolution: "ts-api-utils@npm:2.5.0" peerDependencies: typescript: ">=4.8.4" - checksum: 10c0/ed185861aef4e7124366a3f6561113557a57504267d4d452a51e0ba516a9b6e713b56b4aeaab9fa13de9db9ab755c65c8c13a777dba9133c214632cb7b65c083 + checksum: 10c0/767849383c114e7f1971fa976b20e73ac28fd0c70d8d65c0004790bf4d8f89888c7e4cf6d5949f9c1beae9bc3c64835bef77bbe27fddf45a3c7b60cebcf85c8c languageName: node linkType: hard @@ -13833,18 +14049,18 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.55.0": - version: 8.55.0 - resolution: "typescript-eslint@npm:8.55.0" +"typescript-eslint@npm:^8.65.0": + version: 8.65.0 + resolution: "typescript-eslint@npm:8.65.0" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.55.0" - "@typescript-eslint/parser": "npm:8.55.0" - "@typescript-eslint/typescript-estree": "npm:8.55.0" - "@typescript-eslint/utils": "npm:8.55.0" + "@typescript-eslint/eslint-plugin": "npm:8.65.0" + "@typescript-eslint/parser": "npm:8.65.0" + "@typescript-eslint/typescript-estree": "npm:8.65.0" + "@typescript-eslint/utils": "npm:8.65.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/92e3e058a57bb29be7498093fd72f875e010170e1ca19214ae1bd1a1c9454354f71613ac9a6981f1e7e1d9e8b52df8888a1f42d0f2809dd5aeaf27f502787fda + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/d1f5eede08c6d0d500aa605a1de2a4e721c00e8f56f632581e082aac6d1d2b9d365ce692cf5e0e212ea78271a032c8785e0fc58aee276c7930f92fff6a3358c8 languageName: node linkType: hard @@ -13877,13 +14093,14 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.6 || 6, typescript@npm:~6.0.0": - version: 6.0.3 - resolution: "typescript@npm:6.0.3" +"typescript@npm:@typescript/typescript6@^6.0.2": + version: 6.0.2 + resolution: "@typescript/typescript6@npm:6.0.2" + dependencies: + "@typescript/old": "npm:typescript@^6" bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 + tsc6: bin/tsc6 + checksum: 10c0/0c6e5c1c3a61b79f2bc61506feb82f8ce54275b2af1aebc3dd9310d7f57b1de2aca40256d018cf736c524152ae4a731f5810ff7cd028d565158d53368e681af2 languageName: node linkType: hard @@ -13897,7 +14114,18 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.6 || 6#optional!builtin, typescript@patch:typescript@npm%3A~6.0.0#optional!builtin": +"typescript@patch:typescript@npm%3A@typescript/typescript6@^6.0.2#optional!builtin": + version: 6.0.2 + resolution: "typescript@patch:@typescript/typescript6@npm%3A6.0.2#optional!builtin::version=6.0.2&hash=5786d5" + dependencies: + "@typescript/old": "npm:typescript@^6" + bin: + tsc6: bin/tsc6 + checksum: 10c0/ba91bd03aaf52617b757d8f186f5559587159f7984cc188f51435cf0cd36b7fc750825409db62d7f62ab22e292c41422e2c25b4b763b6a05e1dbde8c2ba93c3f + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.6 || 6#optional!builtin": version: 6.0.3 resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" bin: