summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-03-29 16:09:27 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-03-29 16:09:27 +0900
commitd9d796b204881fc14196b89230daa84564f599cf (patch)
treefbf60d910d5934399963b356061df01217c8a0e9 /packages/frontend/src
parentrefactor(frontend): use symbol for di (diff)
downloadmisskey-d9d796b204881fc14196b89230daa84564f599cf.tar.gz
misskey-d9d796b204881fc14196b89230daa84564f599cf.tar.bz2
misskey-d9d796b204881fc14196b89230daa84564f599cf.zip
lint fixes
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/components/MkChannelFollowButton.stories.impl.ts8
-rw-r--r--packages/frontend/src/components/MkClickerGame.stories.impl.ts8
-rw-r--r--packages/frontend/src/components/MkEmojiPickerDialog.vue2
-rw-r--r--packages/frontend/src/components/MkMediaVideo.vue2
-rw-r--r--packages/frontend/src/components/MkPullToRefresh.vue4
-rw-r--r--packages/frontend/src/components/global/MkPageHeader.stories.impl.ts7
-rw-r--r--packages/frontend/src/components/global/MkPageHeader.tabs.vue2
-rw-r--r--packages/frontend/src/components/grid/MkGrid.vue15
-rw-r--r--packages/frontend/src/pages/reversi/game.board.vue8
-rw-r--r--packages/frontend/src/pages/settings/preferences.vue2
-rw-r--r--packages/frontend/src/utility/achievements.ts2
-rw-r--r--packages/frontend/src/utility/confetti.ts4
-rw-r--r--packages/frontend/src/utility/hotkey.ts4
-rw-r--r--packages/frontend/src/utility/idle-render.ts4
-rw-r--r--packages/frontend/src/utility/sound.ts6
-rw-r--r--packages/frontend/src/utility/test-utils.ts2
16 files changed, 37 insertions, 43 deletions
diff --git a/packages/frontend/src/components/MkChannelFollowButton.stories.impl.ts b/packages/frontend/src/components/MkChannelFollowButton.stories.impl.ts
index a42e80c27a..4304c2e2b7 100644
--- a/packages/frontend/src/components/MkChannelFollowButton.stories.impl.ts
+++ b/packages/frontend/src/components/MkChannelFollowButton.stories.impl.ts
@@ -2,20 +2,18 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
-
-/* eslint-disable @typescript-eslint/explicit-function-return-type */
-/* eslint-disable import/no-default-export */
-import type { StoryObj } from '@storybook/vue3';
+
import { HttpResponse, http } from 'msw';
import { action } from '@storybook/addon-actions';
import { expect, userEvent, within } from '@storybook/test';
import { channel } from '../../.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js';
import MkChannelFollowButton from './MkChannelFollowButton.vue';
+import type { StoryObj } from '@storybook/vue3';
import { i18n } from '@/i18n.js';
function sleep(ms: number) {
- return new Promise(resolve => setTimeout(resolve, ms));
+ return new Promise(resolve => window.setTimeout(resolve, ms));
}
export const Default = {
diff --git a/packages/frontend/src/components/MkClickerGame.stories.impl.ts b/packages/frontend/src/components/MkClickerGame.stories.impl.ts
index eb7e61f294..6e1eb13d61 100644
--- a/packages/frontend/src/components/MkClickerGame.stories.impl.ts
+++ b/packages/frontend/src/components/MkClickerGame.stories.impl.ts
@@ -2,18 +2,16 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
-
-/* eslint-disable @typescript-eslint/explicit-function-return-type */
-/* eslint-disable import/no-default-export */
-import type { StoryObj } from '@storybook/vue3';
+
import { HttpResponse, http } from 'msw';
import { action } from '@storybook/addon-actions';
import { expect, userEvent, within } from '@storybook/test';
import { commonHandlers } from '../../.storybook/mocks.js';
import MkClickerGame from './MkClickerGame.vue';
+import type { StoryObj } from '@storybook/vue3';
function sleep(ms: number) {
- return new Promise(resolve => setTimeout(resolve, ms));
+ return new Promise(resolve => window.setTimeout(resolve, ms));
}
export const Default = {
diff --git a/packages/frontend/src/components/MkEmojiPickerDialog.vue b/packages/frontend/src/components/MkEmojiPickerDialog.vue
index 4978933f73..662e2a118d 100644
--- a/packages/frontend/src/components/MkEmojiPickerDialog.vue
+++ b/packages/frontend/src/components/MkEmojiPickerDialog.vue
@@ -79,7 +79,7 @@ function opening() {
picker.value?.focus();
// 何故かちょっと待たないとフォーカスされない
- setTimeout(() => {
+ window.setTimeout(() => {
picker.value?.focus();
}, 10);
}
diff --git a/packages/frontend/src/components/MkMediaVideo.vue b/packages/frontend/src/components/MkMediaVideo.vue
index 629679a971..1cd88fb1ab 100644
--- a/packages/frontend/src/components/MkMediaVideo.vue
+++ b/packages/frontend/src/components/MkMediaVideo.vue
@@ -339,7 +339,7 @@ const bufferedDataRatio = computed(() => {
// MediaControl Events
function onMouseOver() {
if (controlStateTimer) {
- clearTimeout(controlStateTimer);
+ window.clearTimeout(controlStateTimer);
}
isHoverring.value = true;
}
diff --git a/packages/frontend/src/components/MkPullToRefresh.vue b/packages/frontend/src/components/MkPullToRefresh.vue
index 1fbf00d212..b1df282514 100644
--- a/packages/frontend/src/components/MkPullToRefresh.vue
+++ b/packages/frontend/src/components/MkPullToRefresh.vue
@@ -82,11 +82,11 @@ function moveBySystem(to: number): Promise<void> {
return;
}
const startTime = Date.now();
- let intervalId = setInterval(() => {
+ let intervalId = window.setInterval(() => {
const time = Date.now() - startTime;
if (time > RELEASE_TRANSITION_DURATION) {
pullDistance.value = to;
- clearInterval(intervalId);
+ window.clearInterval(intervalId);
r();
return;
}
diff --git a/packages/frontend/src/components/global/MkPageHeader.stories.impl.ts b/packages/frontend/src/components/global/MkPageHeader.stories.impl.ts
index c9af5f4ea4..15938d0495 100644
--- a/packages/frontend/src/components/global/MkPageHeader.stories.impl.ts
+++ b/packages/frontend/src/components/global/MkPageHeader.stories.impl.ts
@@ -2,11 +2,10 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
-
-/* eslint-disable @typescript-eslint/explicit-function-return-type */
+
import { waitFor } from '@storybook/test';
-import type { StoryObj } from '@storybook/vue3';
import MkPageHeader from './MkPageHeader.vue';
+import type { StoryObj } from '@storybook/vue3';
export const Empty = {
render(args) {
return {
@@ -29,7 +28,7 @@ export const Empty = {
};
},
async play() {
- const wait = new Promise((resolve) => setTimeout(resolve, 800));
+ const wait = new Promise((resolve) => window.setTimeout(resolve, 800));
await waitFor(async () => await wait);
},
args: {
diff --git a/packages/frontend/src/components/global/MkPageHeader.tabs.vue b/packages/frontend/src/components/global/MkPageHeader.tabs.vue
index 358a17d3e8..255fca8f86 100644
--- a/packages/frontend/src/components/global/MkPageHeader.tabs.vue
+++ b/packages/frontend/src/components/global/MkPageHeader.tabs.vue
@@ -133,7 +133,7 @@ async function enter(el: Element) {
entering = false;
});
- setTimeout(renderTab, 170);
+ window.setTimeout(renderTab, 170);
}
function afterEnter(el: Element) {
diff --git a/packages/frontend/src/components/grid/MkGrid.vue b/packages/frontend/src/components/grid/MkGrid.vue
index 94f4f3dab1..c37f3df0d3 100644
--- a/packages/frontend/src/components/grid/MkGrid.vue
+++ b/packages/frontend/src/components/grid/MkGrid.vue
@@ -50,6 +50,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<script setup lang="ts">
import { computed, onMounted, ref, toRefs, watch } from 'vue';
+import type { DataSource, GridSetting, GridState, Size } from '@/components/grid/grid.js';
+import type { CellAddress, CellValue, GridCell } from '@/components/grid/cell.js';
+import type { GridContext, GridEvent } from '@/components/grid/grid-event.js';
+import type { GridColumn } from '@/components/grid/column.js';
+import type { GridRow, GridRowSetting } from '@/components/grid/row.js';
+import type { MenuItem } from '@/types/menu.js';
import { GridEventEmitter } from '@/components/grid/grid.js';
import MkDataRow from '@/components/grid/MkDataRow.vue';
import MkHeaderRow from '@/components/grid/MkHeaderRow.vue';
@@ -68,13 +74,6 @@ import { createColumn } from '@/components/grid/column.js';
import { createRow, defaultGridRowSetting, resetRow } from '@/components/grid/row.js';
import { handleKeyEvent } from '@/utility/key-event.js';
-import type { DataSource, GridSetting, GridState, Size } from '@/components/grid/grid.js';
-import type { CellAddress, CellValue, GridCell } from '@/components/grid/cell.js';
-import type { GridContext, GridEvent } from '@/components/grid/grid-event.js';
-import type { GridColumn } from '@/components/grid/column.js';
-import type { GridRow, GridRowSetting } from '@/components/grid/row.js';
-import type { MenuItem } from '@/types/menu.js';
-
type RowHolder = {
row: GridRow,
cells: GridCell[],
@@ -130,7 +129,7 @@ const bus = new GridEventEmitter();
*
* @see {@link onResize}
*/
-const resizeObserver = new ResizeObserver((entries) => setTimeout(() => onResize(entries)));
+const resizeObserver = new ResizeObserver((entries) => window.setTimeout(() => onResize(entries)));
const rootEl = ref<InstanceType<typeof HTMLTableElement>>();
/**
diff --git a/packages/frontend/src/pages/reversi/game.board.vue b/packages/frontend/src/pages/reversi/game.board.vue
index 403a760521..b7434bff9f 100644
--- a/packages/frontend/src/pages/reversi/game.board.vue
+++ b/packages/frontend/src/pages/reversi/game.board.vue
@@ -145,13 +145,13 @@ SPDX-License-Identifier: AGPL-3.0-only
import { computed, onActivated, onDeactivated, onMounted, onUnmounted, ref, shallowRef, triggerRef, watch } from 'vue';
import * as Misskey from 'misskey-js';
import * as Reversi from 'misskey-reversi';
+import { useInterval } from '@@/js/use-interval.js';
+import { url } from '@@/js/config.js';
import MkButton from '@/components/MkButton.vue';
import MkFolder from '@/components/MkFolder.vue';
import MkSwitch from '@/components/MkSwitch.vue';
import { deepClone } from '@/utility/clone.js';
-import { useInterval } from '@@/js/use-interval.js';
import { ensureSignin } from '@/i.js';
-import { url } from '@@/js/config.js';
import { i18n } from '@/i18n.js';
import { misskeyApi } from '@/utility/misskey-api.js';
import { userPage } from '@/filters/user.js';
@@ -301,7 +301,7 @@ if (!props.game.isEnded) {
if (iAmPlayer.value) {
if ((isMyTurn.value && myTurnTimerRmain.value === 0) || (!isMyTurn.value && opTurnTimerRmain.value === 0)) {
- props.connection!.send('claimTimeIsUp', {});
+ props.connection!.send('claimTimeIsUp', {});
}
}
}, TIMER_INTERVAL_SEC * 1000, { immediate: false, afterMounted: true });
@@ -424,7 +424,7 @@ function autoplay() {
const tick = () => {
const log = logs[i];
const time = log.time - previousLog.time;
- setTimeout(() => {
+ window.setTimeout(() => {
i++;
logPos.value++;
previousLog = log;
diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue
index 816f8d7435..6fe5a50e19 100644
--- a/packages/frontend/src/pages/settings/preferences.vue
+++ b/packages/frontend/src/pages/settings/preferences.vue
@@ -786,7 +786,7 @@ function testNotification(): void {
smashCount = 0;
}
if (smashTimer) {
- clearTimeout(smashTimer);
+ window.clearTimeout(smashTimer);
}
smashTimer = window.setTimeout(() => {
smashCount = 0;
diff --git a/packages/frontend/src/utility/achievements.ts b/packages/frontend/src/utility/achievements.ts
index f6ab587ae1..06b445ab0d 100644
--- a/packages/frontend/src/utility/achievements.ts
+++ b/packages/frontend/src/utility/achievements.ts
@@ -497,7 +497,7 @@ export async function claimAchievement(type: typeof ACHIEVEMENT_TYPES[number]) {
if (claimedAchievements.includes(type)) return;
claimingQueue.add(type);
claimedAchievements.push(type);
- await new Promise(resolve => setTimeout(resolve, (claimingQueue.size - 1) * 500));
+ await new Promise(resolve => window.setTimeout(resolve, (claimingQueue.size - 1) * 500));
window.setTimeout(() => {
claimingQueue.delete(type);
}, 500);
diff --git a/packages/frontend/src/utility/confetti.ts b/packages/frontend/src/utility/confetti.ts
index 8e53a6ceeb..c19149875f 100644
--- a/packages/frontend/src/utility/confetti.ts
+++ b/packages/frontend/src/utility/confetti.ts
@@ -15,11 +15,11 @@ export function confetti(options: { duration?: number; } = {}) {
return Math.random() * (max - min) + min;
}
- const interval = setInterval(() => {
+ const interval = window.setInterval(() => {
const timeLeft = animationEnd - Date.now();
if (timeLeft <= 0) {
- return clearInterval(interval);
+ return window.clearInterval(interval);
}
const particleCount = 50 * (timeLeft / duration);
diff --git a/packages/frontend/src/utility/hotkey.ts b/packages/frontend/src/utility/hotkey.ts
index 81fc28d7c8..d728cdfcb0 100644
--- a/packages/frontend/src/utility/hotkey.ts
+++ b/packages/frontend/src/utility/hotkey.ts
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
-import { getHTMLElementOrNull } from "@/utility/get-dom-node-or-null.js";
+import { getHTMLElementOrNull } from '@/utility/get-dom-node-or-null.js';
//#region types
export type Keymap = Record<string, CallbackFunction | CallbackObject>;
@@ -136,7 +136,7 @@ let lastHotKeyStoreTimer: number | null = null;
const storePattern = (ev: KeyboardEvent, callback: CallbackFunction) => {
if (lastHotKeyStoreTimer != null) {
- clearTimeout(lastHotKeyStoreTimer);
+ window.clearTimeout(lastHotKeyStoreTimer);
}
latestHotkey = {
diff --git a/packages/frontend/src/utility/idle-render.ts b/packages/frontend/src/utility/idle-render.ts
index 6adfedcb9f..32daa1df02 100644
--- a/packages/frontend/src/utility/idle-render.ts
+++ b/packages/frontend/src/utility/idle-render.ts
@@ -5,7 +5,7 @@
const requestIdleCallback: typeof globalThis.requestIdleCallback = globalThis.requestIdleCallback ?? ((callback) => {
const start = performance.now();
- const timeoutId = setTimeout(() => {
+ const timeoutId = window.setTimeout(() => {
callback({
didTimeout: false, // polyfill でタイムアウト発火することはない
timeRemaining() {
@@ -17,7 +17,7 @@ const requestIdleCallback: typeof globalThis.requestIdleCallback = globalThis.re
return timeoutId;
});
const cancelIdleCallback: typeof globalThis.cancelIdleCallback = globalThis.cancelIdleCallback ?? ((timeoutId) => {
- clearTimeout(timeoutId);
+ window.clearTimeout(timeoutId);
});
class IdlingRenderScheduler {
diff --git a/packages/frontend/src/utility/sound.ts b/packages/frontend/src/utility/sound.ts
index f217bdfcd5..d3f82a37f2 100644
--- a/packages/frontend/src/utility/sound.ts
+++ b/packages/frontend/src/utility/sound.ts
@@ -158,7 +158,7 @@ export async function playMisskeySfxFile(soundStore: SoundStore): Promise<boolea
canPlay = false;
return await playMisskeySfxFileInternal(soundStore).finally(() => {
// ごく短時間に音が重複しないように
- setTimeout(() => {
+ window.setTimeout(() => {
canPlay = true;
}, 25);
});
@@ -230,10 +230,10 @@ export async function getSoundDuration(file: string): Promise<number> {
const audioEl = window.document.createElement('audio');
audioEl.src = file;
return new Promise((resolve) => {
- const si = setInterval(() => {
+ const si = window.setInterval(() => {
if (audioEl.readyState > 0) {
resolve(audioEl.duration * 1000);
- clearInterval(si);
+ window.clearInterval(si);
audioEl.remove();
}
}, 100);
diff --git a/packages/frontend/src/utility/test-utils.ts b/packages/frontend/src/utility/test-utils.ts
index 52bb2d94e0..54742c1a9e 100644
--- a/packages/frontend/src/utility/test-utils.ts
+++ b/packages/frontend/src/utility/test-utils.ts
@@ -5,5 +5,5 @@
export async function tick(): Promise<void> {
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
- await new Promise((globalThis.requestIdleCallback ?? setTimeout) as never);
+ await new Promise((globalThis.requestIdleCallback ?? window.setTimeout) as never);
}