summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2026-01-08 11:49:12 +0900
committerGitHub <noreply@github.com>2026-01-08 11:49:12 +0900
commit666f78e676e29abd48b351c58270b3f721f03573 (patch)
treee5f661d81c94981c32dfb6c8ea9ed2763b761986
parentchore(deps): update pnpm to v10.27.0 [security] (#17082) (diff)
downloadmisskey-666f78e676e29abd48b351c58270b3f721f03573.tar.gz
misskey-666f78e676e29abd48b351c58270b3f721f03573.tar.bz2
misskey-666f78e676e29abd48b351c58270b3f721f03573.zip
enable and fix no-unused-vars and no-async-promise-executor (#17070)
* dev: set --no-bail for lint task * lint: enable no-async-promise-executor lint and fix them * lint: enable no-unused-vars with allowing _ prefix * lint: fix semi
-rw-r--r--package.json2
-rw-r--r--packages/backend/assets/misc/bios.js2
-rw-r--r--packages/backend/eslint.config.js1
-rw-r--r--packages/backend/scripts/check_connect.js22
-rw-r--r--packages/backend/src/boot/master.ts2
-rw-r--r--packages/backend/src/config.ts2
-rw-r--r--packages/backend/src/core/AccountMoveService.ts2
-rw-r--r--packages/backend/src/core/AnnouncementService.ts2
-rw-r--r--packages/backend/src/core/AvatarDecorationService.ts2
-rw-r--r--packages/backend/src/core/EmailService.ts2
-rw-r--r--packages/backend/src/core/FileInfoService.ts28
-rw-r--r--packages/backend/src/core/MfmService.ts8
-rw-r--r--packages/backend/src/core/NoteDraftService.ts4
-rw-r--r--packages/backend/src/core/RoleService.ts2
-rw-r--r--packages/backend/src/core/SearchService.ts3
-rw-r--r--packages/backend/src/core/UserSuspendService.ts6
-rw-r--r--packages/backend/src/core/UtilityService.ts2
-rw-r--r--packages/backend/src/core/activitypub/ApRendererService.ts2
-rw-r--r--packages/backend/src/core/activitypub/ApRequestService.ts2
-rw-r--r--packages/backend/src/core/entities/ChatEntityService.ts2
-rw-r--r--packages/backend/src/core/entities/MetaEntityService.ts4
-rw-r--r--packages/backend/src/core/entities/NoteReactionEntityService.ts4
-rw-r--r--packages/backend/src/misc/check-word-mute.ts2
-rw-r--r--packages/backend/src/misc/get-ip-hash.ts2
-rw-r--r--packages/backend/src/misc/i18n.ts2
-rw-r--r--packages/backend/src/misc/json-schema.ts2
-rw-r--r--packages/backend/src/models/AbuseReportNotificationRecipient.ts6
-rw-r--r--packages/backend/src/models/AbuseUserReport.ts6
-rw-r--r--packages/backend/src/models/AccessToken.ts4
-rw-r--r--packages/backend/src/models/Announcement.ts2
-rw-r--r--packages/backend/src/models/AnnouncementRead.ts4
-rw-r--r--packages/backend/src/models/Antenna.ts4
-rw-r--r--packages/backend/src/models/App.ts2
-rw-r--r--packages/backend/src/models/AuthSession.ts4
-rw-r--r--packages/backend/src/models/Blocking.ts4
-rw-r--r--packages/backend/src/models/BubbleGameRecord.ts2
-rw-r--r--packages/backend/src/models/Channel.ts4
-rw-r--r--packages/backend/src/models/ChannelFavorite.ts4
-rw-r--r--packages/backend/src/models/ChannelFollowing.ts4
-rw-r--r--packages/backend/src/models/ChannelMuting.ts4
-rw-r--r--packages/backend/src/models/ChatApproval.ts4
-rw-r--r--packages/backend/src/models/ChatMessage.ts8
-rw-r--r--packages/backend/src/models/ChatRoom.ts2
-rw-r--r--packages/backend/src/models/ChatRoomInvitation.ts4
-rw-r--r--packages/backend/src/models/ChatRoomMembership.ts4
-rw-r--r--packages/backend/src/models/Clip.ts2
-rw-r--r--packages/backend/src/models/ClipFavorite.ts4
-rw-r--r--packages/backend/src/models/ClipNote.ts4
-rw-r--r--packages/backend/src/models/DriveFile.ts4
-rw-r--r--packages/backend/src/models/DriveFolder.ts4
-rw-r--r--packages/backend/src/models/Flash.ts2
-rw-r--r--packages/backend/src/models/FlashLike.ts4
-rw-r--r--packages/backend/src/models/FollowRequest.ts4
-rw-r--r--packages/backend/src/models/Following.ts4
-rw-r--r--packages/backend/src/models/GalleryLike.ts4
-rw-r--r--packages/backend/src/models/GalleryPost.ts2
-rw-r--r--packages/backend/src/models/Meta.ts2
-rw-r--r--packages/backend/src/models/ModerationLog.ts2
-rw-r--r--packages/backend/src/models/Muting.ts4
-rw-r--r--packages/backend/src/models/Note.ts8
-rw-r--r--packages/backend/src/models/NoteDraft.ts8
-rw-r--r--packages/backend/src/models/NoteFavorite.ts4
-rw-r--r--packages/backend/src/models/NoteReaction.ts4
-rw-r--r--packages/backend/src/models/NoteThreadMuting.ts2
-rw-r--r--packages/backend/src/models/Page.ts4
-rw-r--r--packages/backend/src/models/PageLike.ts4
-rw-r--r--packages/backend/src/models/PasswordResetRequest.ts2
-rw-r--r--packages/backend/src/models/Poll.ts2
-rw-r--r--packages/backend/src/models/PollVote.ts4
-rw-r--r--packages/backend/src/models/PromoNote.ts2
-rw-r--r--packages/backend/src/models/PromoRead.ts4
-rw-r--r--packages/backend/src/models/RegistrationTicket.ts4
-rw-r--r--packages/backend/src/models/RegistryItem.ts2
-rw-r--r--packages/backend/src/models/RenoteMuting.ts4
-rw-r--r--packages/backend/src/models/ReversiGame.ts4
-rw-r--r--packages/backend/src/models/RoleAssignment.ts4
-rw-r--r--packages/backend/src/models/Signin.ts2
-rw-r--r--packages/backend/src/models/SwSubscription.ts2
-rw-r--r--packages/backend/src/models/SystemAccount.ts2
-rw-r--r--packages/backend/src/models/User.ts4
-rw-r--r--packages/backend/src/models/UserKeypair.ts2
-rw-r--r--packages/backend/src/models/UserList.ts2
-rw-r--r--packages/backend/src/models/UserListFavorite.ts4
-rw-r--r--packages/backend/src/models/UserListMembership.ts4
-rw-r--r--packages/backend/src/models/UserMemo.ts4
-rw-r--r--packages/backend/src/models/UserNotePining.ts4
-rw-r--r--packages/backend/src/models/UserProfile.ts4
-rw-r--r--packages/backend/src/models/UserPublickey.ts2
-rw-r--r--packages/backend/src/models/UserSecurityKey.ts2
-rw-r--r--packages/backend/src/models/Webhook.ts2
-rw-r--r--packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts4
-rw-r--r--packages/backend/src/queue/processors/PostScheduledNoteProcessorService.ts2
-rw-r--r--packages/backend/src/server/ActivityPubServerService.ts2
-rw-r--r--packages/backend/src/server/NodeinfoServerService.ts2
-rw-r--r--packages/backend/src/server/api/ApiCallService.ts2
-rw-r--r--packages/backend/src/server/api/SigninApiService.ts2
-rw-r--r--packages/backend/src/server/api/SigninWithPasskeyApiService.ts2
-rw-r--r--packages/backend/src/server/api/SignupApiService.ts2
-rw-r--r--packages/backend/src/server/api/StreamingApiServerService.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/announcements/create.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/copy.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/update.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/ap/show.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/2fa/key-done.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/2fa/register-key.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/2fa/register.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/2fa/remove-key.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/2fa/unregister.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/change-password.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/delete-account.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/notifications-grouped.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/update-email.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/update.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/users/following.ts2
-rw-r--r--packages/backend/src/server/api/openapi/schemas.ts5
-rw-r--r--packages/backend/src/server/api/stream/Connection.ts2
-rw-r--r--packages/backend/src/server/web/ClientServerService.ts3
-rw-r--r--packages/backend/test-federation/test/utils.ts75
-rw-r--r--packages/backend/test/utils.ts43
-rw-r--r--packages/frontend-builder/eslint.config.js1
-rw-r--r--packages/frontend-embed/eslint.config.js1
-rw-r--r--packages/frontend-shared/eslint.config.js1
-rw-r--r--packages/frontend/eslint.config.js1
-rw-r--r--packages/frontend/src/components/MkSystemWebhookEditor.impl.ts2
-rw-r--r--packages/frontend/src/os.ts9
-rw-r--r--packages/frontend/src/plugin.ts11
-rw-r--r--packages/frontend/src/preferences/manager.ts2
-rw-r--r--packages/frontend/src/theme.ts2
-rw-r--r--packages/frontend/src/utility/admin-lookup.ts2
-rw-r--r--packages/frontend/src/utility/check-word-mute.ts2
-rw-r--r--packages/frontend/src/utility/drive.ts14
-rw-r--r--packages/frontend/src/utility/file-drop.ts22
-rw-r--r--packages/frontend/src/utility/get-drive-file-menu.ts2
-rw-r--r--packages/frontend/src/utility/get-note-menu.ts2
-rw-r--r--packages/frontend/src/utility/image-frame-renderer/ImageFrameRenderer.ts2
-rw-r--r--packages/frontend/src/utility/paginator.ts6
-rw-r--r--packages/frontend/src/utility/sound.ts2
-rw-r--r--packages/frontend/src/utility/timeline-date-separate.ts2
-rw-r--r--packages/frontend/src/utility/tour.ts2
-rw-r--r--packages/frontend/test/scroll.test.ts4
-rw-r--r--packages/misskey-js/src/consts.ts1
-rw-r--r--packages/shared/eslint.config.js16
-rw-r--r--packages/sw/src/scripts/create-notification.ts46
144 files changed, 324 insertions, 354 deletions
diff --git a/package.json b/package.json
index b2a0f86ee1..3c2a7a1eef 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,7 @@
"migrateandstart": "pnpm migrate && pnpm start",
"watch": "pnpm dev",
"dev": "node scripts/dev.mjs",
- "lint": "pnpm -r lint",
+ "lint": "pnpm --no-bail -r lint",
"cy:open": "pnpm cypress open --config-file=cypress.config.ts",
"cy:run": "pnpm cypress run",
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
diff --git a/packages/backend/assets/misc/bios.js b/packages/backend/assets/misc/bios.js
index 9ff5dca72a..f9716d8f00 100644
--- a/packages/backend/assets/misc/bios.js
+++ b/packages/backend/assets/misc/bios.js
@@ -9,7 +9,7 @@ window.onload = async () => {
const account = JSON.parse(localStorage.getItem('account'));
const i = account.token;
- const api = (endpoint, data = {}) => {
+ const _api = (endpoint, data = {}) => {
const promise = new Promise((resolve, reject) => {
// Append a credential
if (i) data.i = i;
diff --git a/packages/backend/eslint.config.js b/packages/backend/eslint.config.js
index ba7c705def..d15a703ba2 100644
--- a/packages/backend/eslint.config.js
+++ b/packages/backend/eslint.config.js
@@ -25,7 +25,6 @@ export default [
},
},
rules: {
- '@typescript-eslint/no-unused-vars': 'off',
'import/order': ['warn', {
groups: [
'builtin',
diff --git a/packages/backend/scripts/check_connect.js b/packages/backend/scripts/check_connect.js
index d2f38aedb3..a1cb839303 100644
--- a/packages/backend/scripts/check_connect.js
+++ b/packages/backend/scripts/check_connect.js
@@ -16,24 +16,22 @@ async function connectToPostgres() {
}
async function connectToRedis(redisOptions) {
- return await new Promise(async (resolve, reject) => {
- const redis = new Redis({
+ let redis;
+ try {
+ redis = new Redis({
...redisOptions,
lazyConnect: true,
reconnectOnError: false,
showFriendlyErrorStack: true,
});
- redis.on('error', e => reject(e));
- try {
- await redis.connect();
- resolve();
- } catch (e) {
- reject(e);
- } finally {
- redis.disconnect(false);
- }
- });
+ await Promise.race([
+ new Promise((_, reject) => redis.on('error', e => reject(e))),
+ redis.connect(),
+ ]);
+ } finally {
+ redis.disconnect(false);
+ }
}
// If not all of these are defined, the default one gets reused.
diff --git a/packages/backend/src/boot/master.ts b/packages/backend/src/boot/master.ts
index f392f2f671..041f58e509 100644
--- a/packages/backend/src/boot/master.ts
+++ b/packages/backend/src/boot/master.ts
@@ -58,7 +58,7 @@ export async function masterMain() {
//await connectDb();
if (config.pidFile) fs.writeFileSync(config.pidFile, process.pid.toString());
} catch (e) {
- bootLogger.error('Fatal error occurred during initialization', null, true);
+ bootLogger.error('Fatal error occurred during initialization: ' + e, null, true);
process.exit(1);
}
diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts
index 069b7c9661..4cd82bed87 100644
--- a/packages/backend/src/config.ts
+++ b/packages/backend/src/config.ts
@@ -352,7 +352,7 @@ export function loadConfig(): Config {
function tryCreateUrl(url: string) {
try {
return new URL(url);
- } catch (e) {
+ } catch (_) {
throw new Error(`url="${url}" is not a valid URL.`);
}
}
diff --git a/packages/backend/src/core/AccountMoveService.ts b/packages/backend/src/core/AccountMoveService.ts
index f8e3eaf01f..5d668bc582 100644
--- a/packages/backend/src/core/AccountMoveService.ts
+++ b/packages/backend/src/core/AccountMoveService.ts
@@ -75,7 +75,7 @@ export class AccountMoveService {
*/
@bindThis
public async moveFromLocal(src: MiLocalUser, dst: MiLocalUser | MiRemoteUser): Promise<unknown> {
- const srcUri = this.userEntityService.getUserUri(src);
+ const _srcUri = this.userEntityService.getUserUri(src);
const dstUri = this.userEntityService.getUserUri(dst);
// add movedToUri to indicate that the user has moved
diff --git a/packages/backend/src/core/AnnouncementService.ts b/packages/backend/src/core/AnnouncementService.ts
index a9f6731977..f750ca212a 100644
--- a/packages/backend/src/core/AnnouncementService.ts
+++ b/packages/backend/src/core/AnnouncementService.ts
@@ -205,7 +205,7 @@ export class AnnouncementService {
announcementId: announcementId,
userId: user.id,
});
- } catch (e) {
+ } catch (_) {
return;
}
diff --git a/packages/backend/src/core/AvatarDecorationService.ts b/packages/backend/src/core/AvatarDecorationService.ts
index 4efd6122b1..70a50a0175 100644
--- a/packages/backend/src/core/AvatarDecorationService.ts
+++ b/packages/backend/src/core/AvatarDecorationService.ts
@@ -39,7 +39,7 @@ export class AvatarDecorationService implements OnApplicationShutdown {
const obj = JSON.parse(data);
if (obj.channel === 'internal') {
- const { type, body } = obj.message as GlobalEvents['internal']['payload'];
+ const { type, body: _ } = obj.message as GlobalEvents['internal']['payload'];
switch (type) {
case 'avatarDecorationCreated':
case 'avatarDecorationUpdated':
diff --git a/packages/backend/src/core/EmailService.ts b/packages/backend/src/core/EmailService.ts
index c7be0f7843..384704b252 100644
--- a/packages/backend/src/core/EmailService.ts
+++ b/packages/backend/src/core/EmailService.ts
@@ -366,7 +366,7 @@ export class EmailService {
valid: true,
reason: null,
};
- } catch (error) {
+ } catch (_) {
return {
valid: false,
reason: 'network',
diff --git a/packages/backend/src/core/FileInfoService.ts b/packages/backend/src/core/FileInfoService.ts
index af4d0b8c6b..c7c9f8037d 100644
--- a/packages/backend/src/core/FileInfoService.ts
+++ b/packages/backend/src/core/FileInfoService.ts
@@ -484,25 +484,13 @@ export class FileInfoService {
* Calculate blurhash string of image
*/
@bindThis
- private getBlurhash(path: string, type: string): Promise<string> {
- return new Promise(async (resolve, reject) => {
- (await sharpBmp(path, type))
- .raw()
- .ensureAlpha()
- .resize(64, 64, { fit: 'inside' })
- .toBuffer((err, buffer, info) => {
- if (err) return reject(err);
-
- let hash;
-
- try {
- hash = blurhash.encode(new Uint8ClampedArray(buffer), info.width, info.height, 5, 5);
- } catch (e) {
- return reject(e);
- }
-
- resolve(hash);
- });
- });
+ private async getBlurhash(path: string, type: string): Promise<string> {
+ const sharp = await sharpBmp(path, type);
+ const { data: buffer, info } = await sharp
+ .raw()
+ .ensureAlpha()
+ .resize(64, 64, { fit: 'inside' })
+ .toBuffer({ resolveWithObject: true });
+ return blurhash.encode(new Uint8ClampedArray(buffer), info.width, info.height, 5, 5);
}
}
diff --git a/packages/backend/src/core/MfmService.ts b/packages/backend/src/core/MfmService.ts
index b9f1c62d9d..274966d921 100644
--- a/packages/backend/src/core/MfmService.ts
+++ b/packages/backend/src/core/MfmService.ts
@@ -308,7 +308,7 @@ export class MfmService {
try {
const date = new Date(parseInt(text, 10) * 1000);
return `<time datetime="${escapeHtml(date.toISOString())}">${escapeHtml(date.toISOString())}</time>`;
- } catch (err) {
+ } catch (_) {
return fnDefault(node);
}
}
@@ -376,7 +376,7 @@ export class MfmService {
try {
const url = new URL(node.props.url);
return `<a href="${escapeHtml(url.href)}">${toHtml(node.children)}</a>`;
- } catch (err) {
+ } catch (_) {
return `[${toHtml(node.children)}](${escapeHtml(node.props.url)})`;
}
},
@@ -390,7 +390,7 @@ export class MfmService {
try {
const url = new URL(href);
return `<a href="${escapeHtml(url.href)}" class="u-url mention">${escapeHtml(acct)}</a>`;
- } catch (err) {
+ } catch (_) {
return escapeHtml(acct);
}
},
@@ -419,7 +419,7 @@ export class MfmService {
try {
const url = new URL(node.props.url);
return `<a href="${escapeHtml(url.href)}">${escapeHtml(node.props.url)}</a>`;
- } catch (err) {
+ } catch (_) {
return escapeHtml(node.props.url);
}
},
diff --git a/packages/backend/src/core/NoteDraftService.ts b/packages/backend/src/core/NoteDraftService.ts
index a346ff7618..e144138c2c 100644
--- a/packages/backend/src/core/NoteDraftService.ts
+++ b/packages/backend/src/core/NoteDraftService.ts
@@ -187,9 +187,9 @@ export class NoteDraftService {
}
//#region visibleUsers
- let visibleUsers: MiUser[] = [];
+ let _visibleUsers: MiUser[] = [];
if (data.visibleUserIds != null && data.visibleUserIds.length > 0) {
- visibleUsers = await this.usersRepository.findBy({
+ _visibleUsers = await this.usersRepository.findBy({
id: In(data.visibleUserIds),
});
}
diff --git a/packages/backend/src/core/RoleService.ts b/packages/backend/src/core/RoleService.ts
index f2f7480dfa..2ffee69c21 100644
--- a/packages/backend/src/core/RoleService.ts
+++ b/packages/backend/src/core/RoleService.ts
@@ -314,7 +314,7 @@ export class RoleService implements OnApplicationShutdown, OnModuleInit {
default:
return false;
}
- } catch (err) {
+ } catch (_) {
// TODO: log error
return false;
}
diff --git a/packages/backend/src/core/SearchService.ts b/packages/backend/src/core/SearchService.ts
index 71dc718916..87097ada93 100644
--- a/packages/backend/src/core/SearchService.ts
+++ b/packages/backend/src/core/SearchService.ts
@@ -190,8 +190,7 @@ export class SearchService {
return this.searchNoteByMeiliSearch(q, me, opts, pagination);
}
default: {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- const typeCheck: never = this.provider;
+ const _: never = this.provider;
return [];
}
}
diff --git a/packages/backend/src/core/UserSuspendService.ts b/packages/backend/src/core/UserSuspendService.ts
index 7920e58e36..3ecb912a64 100644
--- a/packages/backend/src/core/UserSuspendService.ts
+++ b/packages/backend/src/core/UserSuspendService.ts
@@ -49,8 +49,8 @@ export class UserSuspendService {
});
(async () => {
- await this.postSuspend(user).catch(e => {});
- await this.unFollowAll(user).catch(e => {});
+ await this.postSuspend(user).catch(_ => {});
+ await this.unFollowAll(user).catch(_ => {});
})();
}
@@ -67,7 +67,7 @@ export class UserSuspendService {
});
(async () => {
- await this.postUnsuspend(user).catch(e => {});
+ await this.postUnsuspend(user).catch(_ => {});
})();
}
diff --git a/packages/backend/src/core/UtilityService.ts b/packages/backend/src/core/UtilityService.ts
index 21ea9b9983..e3ceebccae 100644
--- a/packages/backend/src/core/UtilityService.ts
+++ b/packages/backend/src/core/UtilityService.ts
@@ -98,7 +98,7 @@ export class UtilityService {
try {
// TODO: RE2インスタンスをキャッシュ
return new RE2(regexp[1], regexp[2]).test(text);
- } catch (err) {
+ } catch (_) {
// This should never happen due to input sanitisation.
return false;
}
diff --git a/packages/backend/src/core/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts
index 4570977c5d..8c461b6031 100644
--- a/packages/backend/src/core/activitypub/ApRendererService.ts
+++ b/packages/backend/src/core/activitypub/ApRendererService.ts
@@ -515,7 +515,7 @@ export class ApRendererService {
const restPart = maybeUrl.slice(match[0].length);
return `<a href="${urlPartParsed.href}" rel="me nofollow noopener" target="_blank">${urlPart}</a>${restPart}`;
- } catch (e) {
+ } catch (_) {
return maybeUrl;
}
};
diff --git a/packages/backend/src/core/activitypub/ApRequestService.ts b/packages/backend/src/core/activitypub/ApRequestService.ts
index 49298a1d22..d14b82dc92 100644
--- a/packages/backend/src/core/activitypub/ApRequestService.ts
+++ b/packages/backend/src/core/activitypub/ApRequestService.ts
@@ -226,7 +226,7 @@ export class ApRequestService {
return await this.signedGet(href, user, allowSoftfail, false);
}
}
- } catch (e) {
+ } catch (_) {
// something went wrong parsing the HTML, ignore the whole thing
}
}
diff --git a/packages/backend/src/core/entities/ChatEntityService.ts b/packages/backend/src/core/entities/ChatEntityService.ts
index cfa983e766..f69a484398 100644
--- a/packages/backend/src/core/entities/ChatEntityService.ts
+++ b/packages/backend/src/core/entities/ChatEntityService.ts
@@ -138,7 +138,7 @@ export class ChatEntityService {
const reactions: { reaction: string; }[] = [];
for (const record of message.reactions) {
- const [userId, reaction] = record.split('/');
+ const [, reaction] = record.split('/');
reactions.push({
reaction,
});
diff --git a/packages/backend/src/core/entities/MetaEntityService.ts b/packages/backend/src/core/entities/MetaEntityService.ts
index 2da614a120..8e56ddbc02 100644
--- a/packages/backend/src/core/entities/MetaEntityService.ts
+++ b/packages/backend/src/core/entities/MetaEntityService.ts
@@ -55,13 +55,13 @@ export class MetaEntityService {
if (instance.defaultLightTheme) {
try {
defaultLightTheme = JSON.stringify(JSON5.parse(instance.defaultLightTheme));
- } catch (e) {
+ } catch (_) {
}
}
if (instance.defaultDarkTheme) {
try {
defaultDarkTheme = JSON.stringify(JSON5.parse(instance.defaultDarkTheme));
- } catch (e) {
+ } catch (_) {
}
}
diff --git a/packages/backend/src/core/entities/NoteReactionEntityService.ts b/packages/backend/src/core/entities/NoteReactionEntityService.ts
index 54ce4d472a..fe4926bfe3 100644
--- a/packages/backend/src/core/entities/NoteReactionEntityService.ts
+++ b/packages/backend/src/core/entities/NoteReactionEntityService.ts
@@ -54,7 +54,7 @@ export class NoteReactionEntityService implements OnModuleInit {
packedUser?: Packed<'UserLite'>
},
): Promise<Packed<'NoteReaction'>> {
- const opts = Object.assign({
+ const _opts = Object.assign({
}, options);
const reaction = typeof src === 'object' ? src : await this.noteReactionsRepository.findOneByOrFail({ id: src });
@@ -90,7 +90,7 @@ export class NoteReactionEntityService implements OnModuleInit {
packedUser?: Packed<'UserLite'>
},
): Promise<Packed<'NoteReactionWithNote'>> {
- const opts = Object.assign({
+ const _opts = Object.assign({
}, options);
const reaction = typeof src === 'object' ? src : await this.noteReactionsRepository.findOneByOrFail({ id: src });
diff --git a/packages/backend/src/misc/check-word-mute.ts b/packages/backend/src/misc/check-word-mute.ts
index c50f2b723c..0d1c7ee46e 100644
--- a/packages/backend/src/misc/check-word-mute.ts
+++ b/packages/backend/src/misc/check-word-mute.ts
@@ -56,7 +56,7 @@ export async function checkWordMute(note: NoteLike, me: UserLike | null | undefi
try {
return new RE2(regexp[1], regexp[2]).test(text);
- } catch (err) {
+ } catch (_) {
// This should never happen due to input sanitisation.
return false;
}
diff --git a/packages/backend/src/misc/get-ip-hash.ts b/packages/backend/src/misc/get-ip-hash.ts
index e132fa8f31..571996973b 100644
--- a/packages/backend/src/misc/get-ip-hash.ts
+++ b/packages/backend/src/misc/get-ip-hash.ts
@@ -12,7 +12,7 @@ export function getIpHash(ip: string): string {
// (this means for IPv4 the entire address is used)
const prefix = IPCIDR.createAddress(ip).mask(64);
return 'ip-' + BigInt('0b' + prefix).toString(36);
- } catch (e) {
+ } catch (_) {
const prefix = IPCIDR.createAddress(ip.replace(/:[0-9]+$/, '')).mask(64);
return 'ip-' + BigInt('0b' + prefix).toString(36);
}
diff --git a/packages/backend/src/misc/i18n.ts b/packages/backend/src/misc/i18n.ts
index 6cbbdef74c..40067cacf5 100644
--- a/packages/backend/src/misc/i18n.ts
+++ b/packages/backend/src/misc/i18n.ts
@@ -26,7 +26,7 @@ export class I18n<T extends Record<string, any>> {
}
}
return str;
- } catch (e) {
+ } catch (_) {
console.warn(`missing localization '${key}'`);
return key;
}
diff --git a/packages/backend/src/misc/json-schema.ts b/packages/backend/src/misc/json-schema.ts
index ed7d5bfc3a..3fa49e3cd1 100644
--- a/packages/backend/src/misc/json-schema.ts
+++ b/packages/backend/src/misc/json-schema.ts
@@ -262,8 +262,6 @@ type ObjectSchemaTypeDef<p extends Schema> =
never :
any;
-type ObjectSchemaType<p extends Schema> = NullOrUndefined<p, ObjectSchemaTypeDef<p>>;
-
export type SchemaTypeDef<p extends Schema> =
p['type'] extends 'null' ? null :
p['type'] extends 'integer' ? number :
diff --git a/packages/backend/src/models/AbuseReportNotificationRecipient.ts b/packages/backend/src/models/AbuseReportNotificationRecipient.ts
index 17ec6abed5..daed81c174 100644
--- a/packages/backend/src/models/AbuseReportNotificationRecipient.ts
+++ b/packages/backend/src/models/AbuseReportNotificationRecipient.ts
@@ -67,7 +67,7 @@ export class MiAbuseReportNotificationRecipient {
/**
* 通知先のユーザ.
*/
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn({ name: 'userId', referencedColumnName: 'id', foreignKeyConstraintName: 'FK_abuse_report_notification_recipient_userId1' })
@@ -76,7 +76,7 @@ export class MiAbuseReportNotificationRecipient {
/**
* 通知先のユーザプロフィール.
*/
- @ManyToOne(type => MiUserProfile, {
+ @ManyToOne(() => MiUserProfile, {
onDelete: 'CASCADE',
})
@JoinColumn({ name: 'userId', referencedColumnName: 'userId', foreignKeyConstraintName: 'FK_abuse_report_notification_recipient_userId2' })
@@ -96,7 +96,7 @@ export class MiAbuseReportNotificationRecipient {
/**
* 通知先のシステムWebhook.
*/
- @ManyToOne(type => MiSystemWebhook, {
+ @ManyToOne(() => MiSystemWebhook, {
onDelete: 'CASCADE',
})
@JoinColumn({ name: 'systemWebhookId', referencedColumnName: 'id', foreignKeyConstraintName: 'FK_abuse_report_notification_recipient_systemWebhookId' })
diff --git a/packages/backend/src/models/AbuseUserReport.ts b/packages/backend/src/models/AbuseUserReport.ts
index d43ebf9342..cd49fcddfe 100644
--- a/packages/backend/src/models/AbuseUserReport.ts
+++ b/packages/backend/src/models/AbuseUserReport.ts
@@ -18,7 +18,7 @@ export class MiAbuseUserReport {
@Column(id())
public targetUserId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -28,7 +28,7 @@ export class MiAbuseUserReport {
@Column(id())
public reporterId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -40,7 +40,7 @@ export class MiAbuseUserReport {
})
public assigneeId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/AccessToken.ts b/packages/backend/src/models/AccessToken.ts
index 6f98c14ec1..a853dcc6cb 100644
--- a/packages/backend/src/models/AccessToken.ts
+++ b/packages/backend/src/models/AccessToken.ts
@@ -41,7 +41,7 @@ export class MiAccessToken {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -53,7 +53,7 @@ export class MiAccessToken {
})
public appId: MiApp['id'] | null;
- @ManyToOne(type => MiApp, {
+ @ManyToOne(() => MiApp, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Announcement.ts b/packages/backend/src/models/Announcement.ts
index d0c59fff50..f664c75262 100644
--- a/packages/backend/src/models/Announcement.ts
+++ b/packages/backend/src/models/Announcement.ts
@@ -79,7 +79,7 @@ export class MiAnnouncement {
})
public userId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/AnnouncementRead.ts b/packages/backend/src/models/AnnouncementRead.ts
index 47de8dd180..2133cff140 100644
--- a/packages/backend/src/models/AnnouncementRead.ts
+++ b/packages/backend/src/models/AnnouncementRead.ts
@@ -18,7 +18,7 @@ export class MiAnnouncementRead {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -28,7 +28,7 @@ export class MiAnnouncementRead {
@Column(id())
public announcementId: MiAnnouncement['id'];
- @ManyToOne(type => MiAnnouncement, {
+ @ManyToOne(() => MiAnnouncement, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Antenna.ts b/packages/backend/src/models/Antenna.ts
index ccc8823703..3433cf20af 100644
--- a/packages/backend/src/models/Antenna.ts
+++ b/packages/backend/src/models/Antenna.ts
@@ -24,7 +24,7 @@ export class MiAntenna {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -45,7 +45,7 @@ export class MiAntenna {
})
public userListId: MiUserList['id'] | null;
- @ManyToOne(type => MiUserList, {
+ @ManyToOne(() => MiUserList, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/App.ts b/packages/backend/src/models/App.ts
index 0185e2995c..bbb80b99ef 100644
--- a/packages/backend/src/models/App.ts
+++ b/packages/backend/src/models/App.ts
@@ -20,7 +20,7 @@ export class MiApp {
})
public userId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'SET NULL',
nullable: true,
})
diff --git a/packages/backend/src/models/AuthSession.ts b/packages/backend/src/models/AuthSession.ts
index 03050ba955..a7273e63bf 100644
--- a/packages/backend/src/models/AuthSession.ts
+++ b/packages/backend/src/models/AuthSession.ts
@@ -25,7 +25,7 @@ export class MiAuthSession {
})
public userId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
nullable: true,
})
@@ -35,7 +35,7 @@ export class MiAuthSession {
@Column(id())
public appId: MiApp['id'];
- @ManyToOne(type => MiApp, {
+ @ManyToOne(() => MiApp, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Blocking.ts b/packages/backend/src/models/Blocking.ts
index 34a6efe5a6..49b584f509 100644
--- a/packages/backend/src/models/Blocking.ts
+++ b/packages/backend/src/models/Blocking.ts
@@ -20,7 +20,7 @@ export class MiBlocking {
})
public blockeeId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -33,7 +33,7 @@ export class MiBlocking {
})
public blockerId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/BubbleGameRecord.ts b/packages/backend/src/models/BubbleGameRecord.ts
index 686e39c118..5dd7009fc6 100644
--- a/packages/backend/src/models/BubbleGameRecord.ts
+++ b/packages/backend/src/models/BubbleGameRecord.ts
@@ -18,7 +18,7 @@ export class MiBubbleGameRecord {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Channel.ts b/packages/backend/src/models/Channel.ts
index f5e9b17e3e..5a5b914eb1 100644
--- a/packages/backend/src/models/Channel.ts
+++ b/packages/backend/src/models/Channel.ts
@@ -27,7 +27,7 @@ export class MiChannel {
})
public userId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'SET NULL',
})
@JoinColumn()
@@ -52,7 +52,7 @@ export class MiChannel {
})
public bannerId: MiDriveFile['id'] | null;
- @ManyToOne(type => MiDriveFile, {
+ @ManyToOne(() => MiDriveFile, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChannelFavorite.ts b/packages/backend/src/models/ChannelFavorite.ts
index 167f41cf16..4f49468598 100644
--- a/packages/backend/src/models/ChannelFavorite.ts
+++ b/packages/backend/src/models/ChannelFavorite.ts
@@ -20,7 +20,7 @@ export class MiChannelFavorite {
})
public channelId: MiChannel['id'];
- @ManyToOne(type => MiChannel, {
+ @ManyToOne(() => MiChannel, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -32,7 +32,7 @@ export class MiChannelFavorite {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChannelFollowing.ts b/packages/backend/src/models/ChannelFollowing.ts
index c7afdd05b0..7597e704a8 100644
--- a/packages/backend/src/models/ChannelFollowing.ts
+++ b/packages/backend/src/models/ChannelFollowing.ts
@@ -21,7 +21,7 @@ export class MiChannelFollowing {
})
public followeeId: MiChannel['id'];
- @ManyToOne(type => MiChannel, {
+ @ManyToOne(() => MiChannel, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -34,7 +34,7 @@ export class MiChannelFollowing {
})
public followerId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChannelMuting.ts b/packages/backend/src/models/ChannelMuting.ts
index 11ac7e5cef..b7054c9c5f 100644
--- a/packages/backend/src/models/ChannelMuting.ts
+++ b/packages/backend/src/models/ChannelMuting.ts
@@ -20,7 +20,7 @@ export class MiChannelMuting {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -32,7 +32,7 @@ export class MiChannelMuting {
})
public channelId: MiChannel['id'];
- @ManyToOne(type => MiChannel, {
+ @ManyToOne(() => MiChannel, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChatApproval.ts b/packages/backend/src/models/ChatApproval.ts
index 55c9f07e9a..bd2509b67f 100644
--- a/packages/backend/src/models/ChatApproval.ts
+++ b/packages/backend/src/models/ChatApproval.ts
@@ -19,7 +19,7 @@ export class MiChatApproval {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -31,7 +31,7 @@ export class MiChatApproval {
})
public otherId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChatMessage.ts b/packages/backend/src/models/ChatMessage.ts
index 3d2b64268e..530ef9b842 100644
--- a/packages/backend/src/models/ChatMessage.ts
+++ b/packages/backend/src/models/ChatMessage.ts
@@ -20,7 +20,7 @@ export class MiChatMessage {
})
public fromUserId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -32,7 +32,7 @@ export class MiChatMessage {
})
public toUserId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -44,7 +44,7 @@ export class MiChatMessage {
})
public toRoomId: MiChatRoom['id'] | null;
- @ManyToOne(type => MiChatRoom, {
+ @ManyToOne(() => MiChatRoom, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -72,7 +72,7 @@ export class MiChatMessage {
})
public fileId: MiDriveFile['id'] | null;
- @ManyToOne(type => MiDriveFile, {
+ @ManyToOne(() => MiDriveFile, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChatRoom.ts b/packages/backend/src/models/ChatRoom.ts
index ad2a910b78..c148b16af8 100644
--- a/packages/backend/src/models/ChatRoom.ts
+++ b/packages/backend/src/models/ChatRoom.ts
@@ -23,7 +23,7 @@ export class MiChatRoom {
})
public ownerId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChatRoomInvitation.ts b/packages/backend/src/models/ChatRoomInvitation.ts
index 36ce12bc92..5827d0401d 100644
--- a/packages/backend/src/models/ChatRoomInvitation.ts
+++ b/packages/backend/src/models/ChatRoomInvitation.ts
@@ -20,7 +20,7 @@ export class MiChatRoomInvitation {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -32,7 +32,7 @@ export class MiChatRoomInvitation {
})
public roomId: MiChatRoom['id'];
- @ManyToOne(type => MiChatRoom, {
+ @ManyToOne(() => MiChatRoom, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ChatRoomMembership.ts b/packages/backend/src/models/ChatRoomMembership.ts
index 3cb5524859..d59b4426df 100644
--- a/packages/backend/src/models/ChatRoomMembership.ts
+++ b/packages/backend/src/models/ChatRoomMembership.ts
@@ -20,7 +20,7 @@ export class MiChatRoomMembership {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -32,7 +32,7 @@ export class MiChatRoomMembership {
})
public roomId: MiChatRoom['id'];
- @ManyToOne(type => MiChatRoom, {
+ @ManyToOne(() => MiChatRoom, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Clip.ts b/packages/backend/src/models/Clip.ts
index 6295a329fb..ddd0298f44 100644
--- a/packages/backend/src/models/Clip.ts
+++ b/packages/backend/src/models/Clip.ts
@@ -25,7 +25,7 @@ export class MiClip {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ClipFavorite.ts b/packages/backend/src/models/ClipFavorite.ts
index 40bdb9f4aa..2d46fd0f0e 100644
--- a/packages/backend/src/models/ClipFavorite.ts
+++ b/packages/backend/src/models/ClipFavorite.ts
@@ -18,7 +18,7 @@ export class MiClipFavorite {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiClipFavorite {
@Column(id())
public clipId: MiClip['id'];
- @ManyToOne(type => MiClip, {
+ @ManyToOne(() => MiClip, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ClipNote.ts b/packages/backend/src/models/ClipNote.ts
index 6e1d2bec4c..23df66c4e0 100644
--- a/packages/backend/src/models/ClipNote.ts
+++ b/packages/backend/src/models/ClipNote.ts
@@ -21,7 +21,7 @@ export class MiClipNote {
})
public noteId: MiNote['id'];
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -34,7 +34,7 @@ export class MiClipNote {
})
public clipId: MiClip['id'];
- @ManyToOne(type => MiClip, {
+ @ManyToOne(() => MiClip, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/DriveFile.ts b/packages/backend/src/models/DriveFile.ts
index 7b03e3e494..79189b10eb 100644
--- a/packages/backend/src/models/DriveFile.ts
+++ b/packages/backend/src/models/DriveFile.ts
@@ -22,7 +22,7 @@ export class MiDriveFile {
})
public userId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'SET NULL',
})
@JoinColumn()
@@ -142,7 +142,7 @@ export class MiDriveFile {
})
public folderId: MiDriveFolder['id'] | null;
- @ManyToOne(type => MiDriveFolder, {
+ @ManyToOne(() => MiDriveFolder, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/DriveFolder.ts b/packages/backend/src/models/DriveFolder.ts
index 07046d6e11..7e34c07f46 100644
--- a/packages/backend/src/models/DriveFolder.ts
+++ b/packages/backend/src/models/DriveFolder.ts
@@ -26,7 +26,7 @@ export class MiDriveFolder {
})
public userId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -40,7 +40,7 @@ export class MiDriveFolder {
})
public parentId: MiDriveFolder['id'] | null;
- @ManyToOne(type => MiDriveFolder, {
+ @ManyToOne(() => MiDriveFolder, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Flash.ts b/packages/backend/src/models/Flash.ts
index 5db7dca992..ed677a9de3 100644
--- a/packages/backend/src/models/Flash.ts
+++ b/packages/backend/src/models/Flash.ts
@@ -38,7 +38,7 @@ export class MiFlash {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/FlashLike.ts b/packages/backend/src/models/FlashLike.ts
index a9fb48123e..0d99c2a9ae 100644
--- a/packages/backend/src/models/FlashLike.ts
+++ b/packages/backend/src/models/FlashLike.ts
@@ -18,7 +18,7 @@ export class MiFlashLike {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiFlashLike {
@Column(id())
public flashId: MiFlash['id'];
- @ManyToOne(type => MiFlash, {
+ @ManyToOne(() => MiFlash, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/FollowRequest.ts b/packages/backend/src/models/FollowRequest.ts
index 3ff5e7a478..468829b7e8 100644
--- a/packages/backend/src/models/FollowRequest.ts
+++ b/packages/backend/src/models/FollowRequest.ts
@@ -20,7 +20,7 @@ export class MiFollowRequest {
})
public followeeId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -33,7 +33,7 @@ export class MiFollowRequest {
})
public followerId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Following.ts b/packages/backend/src/models/Following.ts
index 62cbc29f26..fe62166287 100644
--- a/packages/backend/src/models/Following.ts
+++ b/packages/backend/src/models/Following.ts
@@ -21,7 +21,7 @@ export class MiFollowing {
})
public followeeId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -34,7 +34,7 @@ export class MiFollowing {
})
public followerId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/GalleryLike.ts b/packages/backend/src/models/GalleryLike.ts
index ed0963122d..787b38e46d 100644
--- a/packages/backend/src/models/GalleryLike.ts
+++ b/packages/backend/src/models/GalleryLike.ts
@@ -18,7 +18,7 @@ export class MiGalleryLike {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiGalleryLike {
@Column(id())
public postId: MiGalleryPost['id'];
- @ManyToOne(type => MiGalleryPost, {
+ @ManyToOne(() => MiGalleryPost, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/GalleryPost.ts b/packages/backend/src/models/GalleryPost.ts
index 04d8823e37..f66956628b 100644
--- a/packages/backend/src/models/GalleryPost.ts
+++ b/packages/backend/src/models/GalleryPost.ts
@@ -36,7 +36,7 @@ export class MiGalleryPost {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts
index 205c9eeb89..a6f68194c5 100644
--- a/packages/backend/src/models/Meta.ts
+++ b/packages/backend/src/models/Meta.ts
@@ -21,7 +21,7 @@ export class MiMeta {
})
public rootUserId: MiUser['id'] | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'SET NULL',
nullable: true,
})
diff --git a/packages/backend/src/models/ModerationLog.ts b/packages/backend/src/models/ModerationLog.ts
index edde315fdf..c22114a36d 100644
--- a/packages/backend/src/models/ModerationLog.ts
+++ b/packages/backend/src/models/ModerationLog.ts
@@ -16,7 +16,7 @@ export class MiModerationLog {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Muting.ts b/packages/backend/src/models/Muting.ts
index e1240b9c4e..9406b97a62 100644
--- a/packages/backend/src/models/Muting.ts
+++ b/packages/backend/src/models/Muting.ts
@@ -26,7 +26,7 @@ export class MiMuting {
})
public muteeId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -39,7 +39,7 @@ export class MiMuting {
})
public muterId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Note.ts b/packages/backend/src/models/Note.ts
index 23e5960b60..089fe8f188 100644
--- a/packages/backend/src/models/Note.ts
+++ b/packages/backend/src/models/Note.ts
@@ -35,7 +35,7 @@ export class MiNote {
})
public replyId: MiNote['id'] | null;
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
createForeignKeyConstraints: false,
})
@JoinColumn()
@@ -49,7 +49,7 @@ export class MiNote {
})
public renoteId: MiNote['id'] | null;
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
createForeignKeyConstraints: false,
})
@JoinColumn()
@@ -83,7 +83,7 @@ export class MiNote {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -208,7 +208,7 @@ export class MiNote {
})
public channelId: MiChannel['id'] | null;
- @ManyToOne(type => MiChannel, {
+ @ManyToOne(() => MiChannel, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/NoteDraft.ts b/packages/backend/src/models/NoteDraft.ts
index f078e8c21b..5bfd9699fe 100644
--- a/packages/backend/src/models/NoteDraft.ts
+++ b/packages/backend/src/models/NoteDraft.ts
@@ -27,7 +27,7 @@ export class MiNoteDraft {
public replyId: MiNote['id'] | null;
// There is a possibility that replyId is not null but reply is null when the reply note is deleted.
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
createForeignKeyConstraints: false,
})
@JoinColumn()
@@ -42,7 +42,7 @@ export class MiNoteDraft {
public renoteId: MiNote['id'] | null;
// There is a possibility that renoteId is not null but renote is null when the renote note is deleted.
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
createForeignKeyConstraints: false,
})
@JoinColumn()
@@ -66,7 +66,7 @@ export class MiNoteDraft {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -120,7 +120,7 @@ export class MiNoteDraft {
// There is a possibility that channelId is not null but channel is null when the channel is deleted.
// (deleting channel is not implemented so it's not happening now but may happen in the future)
- @ManyToOne(type => MiChannel, {
+ @ManyToOne(() => MiChannel, {
createForeignKeyConstraints: false,
})
@JoinColumn()
diff --git a/packages/backend/src/models/NoteFavorite.ts b/packages/backend/src/models/NoteFavorite.ts
index cf76c767b0..0e498eb70d 100644
--- a/packages/backend/src/models/NoteFavorite.ts
+++ b/packages/backend/src/models/NoteFavorite.ts
@@ -18,7 +18,7 @@ export class MiNoteFavorite {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiNoteFavorite {
@Column(id())
public noteId: MiNote['id'];
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/NoteReaction.ts b/packages/backend/src/models/NoteReaction.ts
index 42dfcaa9ad..98263081ab 100644
--- a/packages/backend/src/models/NoteReaction.ts
+++ b/packages/backend/src/models/NoteReaction.ts
@@ -18,7 +18,7 @@ export class MiNoteReaction {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -28,7 +28,7 @@ export class MiNoteReaction {
@Column(id())
public noteId: MiNote['id'];
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/NoteThreadMuting.ts b/packages/backend/src/models/NoteThreadMuting.ts
index e7bd39f348..32bb829c0b 100644
--- a/packages/backend/src/models/NoteThreadMuting.ts
+++ b/packages/backend/src/models/NoteThreadMuting.ts
@@ -19,7 +19,7 @@ export class MiNoteThreadMuting {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Page.ts b/packages/backend/src/models/Page.ts
index d46f6e9d16..8811200801 100644
--- a/packages/backend/src/models/Page.ts
+++ b/packages/backend/src/models/Page.ts
@@ -56,7 +56,7 @@ export class MiPage {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -68,7 +68,7 @@ export class MiPage {
})
public eyeCatchingImageId: MiDriveFile['id'] | null;
- @ManyToOne(type => MiDriveFile, {
+ @ManyToOne(() => MiDriveFile, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/PageLike.ts b/packages/backend/src/models/PageLike.ts
index 05ca22cf2c..cf3025ae1c 100644
--- a/packages/backend/src/models/PageLike.ts
+++ b/packages/backend/src/models/PageLike.ts
@@ -18,7 +18,7 @@ export class MiPageLike {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiPageLike {
@Column(id())
public pageId: MiPage['id'];
- @ManyToOne(type => MiPage, {
+ @ManyToOne(() => MiPage, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/PasswordResetRequest.ts b/packages/backend/src/models/PasswordResetRequest.ts
index fdaf21056b..3379b540ee 100644
--- a/packages/backend/src/models/PasswordResetRequest.ts
+++ b/packages/backend/src/models/PasswordResetRequest.ts
@@ -24,7 +24,7 @@ export class MiPasswordResetRequest {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Poll.ts b/packages/backend/src/models/Poll.ts
index ca985c8b24..d82e29fb85 100644
--- a/packages/backend/src/models/Poll.ts
+++ b/packages/backend/src/models/Poll.ts
@@ -15,7 +15,7 @@ export class MiPoll {
@PrimaryColumn(id())
public noteId: MiNote['id'];
- @OneToOne(type => MiNote, {
+ @OneToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/PollVote.ts b/packages/backend/src/models/PollVote.ts
index b5c780293c..600ca8ea41 100644
--- a/packages/backend/src/models/PollVote.ts
+++ b/packages/backend/src/models/PollVote.ts
@@ -18,7 +18,7 @@ export class MiPollVote {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -28,7 +28,7 @@ export class MiPollVote {
@Column(id())
public noteId: MiNote['id'];
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/PromoNote.ts b/packages/backend/src/models/PromoNote.ts
index ae27adec9e..871f7471fc 100644
--- a/packages/backend/src/models/PromoNote.ts
+++ b/packages/backend/src/models/PromoNote.ts
@@ -13,7 +13,7 @@ export class MiPromoNote {
@PrimaryColumn(id())
public noteId: MiNote['id'];
- @OneToOne(type => MiNote, {
+ @OneToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/PromoRead.ts b/packages/backend/src/models/PromoRead.ts
index b2a698cc7b..15a3573ef3 100644
--- a/packages/backend/src/models/PromoRead.ts
+++ b/packages/backend/src/models/PromoRead.ts
@@ -18,7 +18,7 @@ export class MiPromoRead {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiPromoRead {
@Column(id())
public noteId: MiNote['id'];
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/RegistrationTicket.ts b/packages/backend/src/models/RegistrationTicket.ts
index 0a4e4b9189..07216599d3 100644
--- a/packages/backend/src/models/RegistrationTicket.ts
+++ b/packages/backend/src/models/RegistrationTicket.ts
@@ -23,7 +23,7 @@ export class MiRegistrationTicket {
})
public expiresAt: Date | null;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -36,7 +36,7 @@ export class MiRegistrationTicket {
})
public createdById: MiUser['id'] | null;
- @OneToOne(type => MiUser, {
+ @OneToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/RegistryItem.ts b/packages/backend/src/models/RegistryItem.ts
index 335e8b9eab..869980bbff 100644
--- a/packages/backend/src/models/RegistryItem.ts
+++ b/packages/backend/src/models/RegistryItem.ts
@@ -25,7 +25,7 @@ export class MiRegistryItem {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/RenoteMuting.ts b/packages/backend/src/models/RenoteMuting.ts
index 448a0b7663..b760a09c53 100644
--- a/packages/backend/src/models/RenoteMuting.ts
+++ b/packages/backend/src/models/RenoteMuting.ts
@@ -20,7 +20,7 @@ export class MiRenoteMuting {
})
public muteeId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -33,7 +33,7 @@ export class MiRenoteMuting {
})
public muterId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/ReversiGame.ts b/packages/backend/src/models/ReversiGame.ts
index 6b29a0ce8c..fbbf24792f 100644
--- a/packages/backend/src/models/ReversiGame.ts
+++ b/packages/backend/src/models/ReversiGame.ts
@@ -27,7 +27,7 @@ export class MiReversiGame {
@Column(id())
public user1Id: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -36,7 +36,7 @@ export class MiReversiGame {
@Column(id())
public user2Id: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/RoleAssignment.ts b/packages/backend/src/models/RoleAssignment.ts
index 37755d631b..cb96377f66 100644
--- a/packages/backend/src/models/RoleAssignment.ts
+++ b/packages/backend/src/models/RoleAssignment.ts
@@ -21,7 +21,7 @@ export class MiRoleAssignment {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -34,7 +34,7 @@ export class MiRoleAssignment {
})
public roleId: MiRole['id'];
- @ManyToOne(type => MiRole, {
+ @ManyToOne(() => MiRole, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Signin.ts b/packages/backend/src/models/Signin.ts
index f8ff9c57d7..59cbad735d 100644
--- a/packages/backend/src/models/Signin.ts
+++ b/packages/backend/src/models/Signin.ts
@@ -16,7 +16,7 @@ export class MiSignin {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/SwSubscription.ts b/packages/backend/src/models/SwSubscription.ts
index 0c531132b3..a95aede44f 100644
--- a/packages/backend/src/models/SwSubscription.ts
+++ b/packages/backend/src/models/SwSubscription.ts
@@ -16,7 +16,7 @@ export class MiSwSubscription {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/SystemAccount.ts b/packages/backend/src/models/SystemAccount.ts
index f32880b81d..2a48e62ed1 100644
--- a/packages/backend/src/models/SystemAccount.ts
+++ b/packages/backend/src/models/SystemAccount.ts
@@ -18,7 +18,7 @@ export class MiSystemAccount {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/User.ts b/packages/backend/src/models/User.ts
index a6e9edcf5f..084dd35485 100644
--- a/packages/backend/src/models/User.ts
+++ b/packages/backend/src/models/User.ts
@@ -99,7 +99,7 @@ export class MiUser {
})
public avatarId: MiDriveFile['id'] | null;
- @OneToOne(type => MiDriveFile, {
+ @OneToOne(() => MiDriveFile, {
onDelete: 'SET NULL',
})
@JoinColumn()
@@ -112,7 +112,7 @@ export class MiUser {
})
public bannerId: MiDriveFile['id'] | null;
- @OneToOne(type => MiDriveFile, {
+ @OneToOne(() => MiDriveFile, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserKeypair.ts b/packages/backend/src/models/UserKeypair.ts
index f5252d126c..894739c84c 100644
--- a/packages/backend/src/models/UserKeypair.ts
+++ b/packages/backend/src/models/UserKeypair.ts
@@ -12,7 +12,7 @@ export class MiUserKeypair {
@PrimaryColumn(id())
public userId: MiUser['id'];
- @OneToOne(type => MiUser, {
+ @OneToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserList.ts b/packages/backend/src/models/UserList.ts
index 5fb991a87d..05fd833b6f 100644
--- a/packages/backend/src/models/UserList.ts
+++ b/packages/backend/src/models/UserList.ts
@@ -25,7 +25,7 @@ export class MiUserList {
})
public isPublic: boolean;
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserListFavorite.ts b/packages/backend/src/models/UserListFavorite.ts
index 80b2d61eb7..67ab92d98c 100644
--- a/packages/backend/src/models/UserListFavorite.ts
+++ b/packages/backend/src/models/UserListFavorite.ts
@@ -18,7 +18,7 @@ export class MiUserListFavorite {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiUserListFavorite {
@Column(id())
public userListId: MiUserList['id'];
- @ManyToOne(type => MiUserList, {
+ @ManyToOne(() => MiUserList, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserListMembership.ts b/packages/backend/src/models/UserListMembership.ts
index af659d071d..1a2b3fffc1 100644
--- a/packages/backend/src/models/UserListMembership.ts
+++ b/packages/backend/src/models/UserListMembership.ts
@@ -21,7 +21,7 @@ export class MiUserListMembership {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -34,7 +34,7 @@ export class MiUserListMembership {
})
public userListId: MiUserList['id'];
- @ManyToOne(type => MiUserList, {
+ @ManyToOne(() => MiUserList, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserMemo.ts b/packages/backend/src/models/UserMemo.ts
index 29e28d290a..facc8c6b1c 100644
--- a/packages/backend/src/models/UserMemo.ts
+++ b/packages/backend/src/models/UserMemo.ts
@@ -20,7 +20,7 @@ export class MiUserMemo {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -33,7 +33,7 @@ export class MiUserMemo {
})
public targetUserId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserNotePining.ts b/packages/backend/src/models/UserNotePining.ts
index 92c5cd55d0..950da2ad22 100644
--- a/packages/backend/src/models/UserNotePining.ts
+++ b/packages/backend/src/models/UserNotePining.ts
@@ -18,7 +18,7 @@ export class MiUserNotePining {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -27,7 +27,7 @@ export class MiUserNotePining {
@Column(id())
public noteId: MiNote['id'];
- @ManyToOne(type => MiNote, {
+ @ManyToOne(() => MiNote, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserProfile.ts b/packages/backend/src/models/UserProfile.ts
index 501b539210..b05bf14ef9 100644
--- a/packages/backend/src/models/UserProfile.ts
+++ b/packages/backend/src/models/UserProfile.ts
@@ -17,7 +17,7 @@ export class MiUserProfile {
@PrimaryColumn(id())
public userId: MiUser['id'];
- @OneToOne(type => MiUser, {
+ @OneToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
@@ -215,7 +215,7 @@ export class MiUserProfile {
})
public pinnedPageId: MiPage['id'] | null;
- @OneToOne(type => MiPage, {
+ @OneToOne(() => MiPage, {
onDelete: 'SET NULL',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserPublickey.ts b/packages/backend/src/models/UserPublickey.ts
index 6bcd785304..8c23d368e9 100644
--- a/packages/backend/src/models/UserPublickey.ts
+++ b/packages/backend/src/models/UserPublickey.ts
@@ -12,7 +12,7 @@ export class MiUserPublickey {
@PrimaryColumn(id())
public userId: MiUser['id'];
- @OneToOne(type => MiUser, {
+ @OneToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/UserSecurityKey.ts b/packages/backend/src/models/UserSecurityKey.ts
index 0babbe1abe..577ec359e4 100644
--- a/packages/backend/src/models/UserSecurityKey.ts
+++ b/packages/backend/src/models/UserSecurityKey.ts
@@ -18,7 +18,7 @@ export class MiUserSecurityKey {
@Column(id())
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/models/Webhook.ts b/packages/backend/src/models/Webhook.ts
index b4cab4edc8..5f833115cc 100644
--- a/packages/backend/src/models/Webhook.ts
+++ b/packages/backend/src/models/Webhook.ts
@@ -22,7 +22,7 @@ export class MiWebhook {
})
public userId: MiUser['id'];
- @ManyToOne(type => MiUser, {
+ @ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})
@JoinColumn()
diff --git a/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts b/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts
index e237cd4975..53ecd2d180 100644
--- a/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts
+++ b/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts
@@ -123,8 +123,8 @@ export class ExportCustomEmojisProcessorService {
metaStream.end();
// Create archive
- await new Promise<void>(async (resolve) => {
- const [archivePath, archiveCleanup] = await createTemp();
+ const [archivePath, archiveCleanup] = await createTemp();
+ await new Promise<void>((resolve) => {
const archiveStream = fs.createWriteStream(archivePath);
const archive = archiver('zip', {
zlib: { level: 0 },
diff --git a/packages/backend/src/queue/processors/PostScheduledNoteProcessorService.ts b/packages/backend/src/queue/processors/PostScheduledNoteProcessorService.ts
index d0eaeee090..719a09980c 100644
--- a/packages/backend/src/queue/processors/PostScheduledNoteProcessorService.ts
+++ b/packages/backend/src/queue/processors/PostScheduledNoteProcessorService.ts
@@ -63,7 +63,7 @@ export class PostScheduledNoteProcessorService {
this.notificationService.createNotification(draft.userId, 'scheduledNotePosted', {
noteId: note.id,
});
- } catch (err) {
+ } catch (_) {
this.notificationService.createNotification(draft.userId, 'scheduledNotePostFailed', {
noteDraftId: draft.id,
});
diff --git a/packages/backend/src/server/ActivityPubServerService.ts b/packages/backend/src/server/ActivityPubServerService.ts
index a5fb5b82e3..54ffeecc6b 100644
--- a/packages/backend/src/server/ActivityPubServerService.ts
+++ b/packages/backend/src/server/ActivityPubServerService.ts
@@ -116,7 +116,7 @@ export class ActivityPubServerService {
try {
signature = httpSignature.parseRequest(request.raw, { 'headers': ['(request-target)', 'host', 'date'], authorizationHeaderName: 'signature' });
- } catch (e) {
+ } catch (_) {
reply.code(401);
return;
}
diff --git a/packages/backend/src/server/NodeinfoServerService.ts b/packages/backend/src/server/NodeinfoServerService.ts
index 239ef82dec..93c36f5365 100644
--- a/packages/backend/src/server/NodeinfoServerService.ts
+++ b/packages/backend/src/server/NodeinfoServerService.ts
@@ -48,8 +48,6 @@ export class NodeinfoServerService {
@bindThis
public createServer(fastify: FastifyInstance, options: FastifyPluginOptions, done: (err?: Error) => void) {
const nodeinfo2 = async (version: number) => {
- const now = Date.now();
-
const notesChart = await this.notesChart.getChart('hour', 1, null);
const localPosts = notesChart.local.total[0];
diff --git a/packages/backend/src/server/api/ApiCallService.ts b/packages/backend/src/server/api/ApiCallService.ts
index 8bae46d9fb..0ccb3df631 100644
--- a/packages/backend/src/server/api/ApiCallService.ts
+++ b/packages/backend/src/server/api/ApiCallService.ts
@@ -426,7 +426,7 @@ export class ApiCallService implements OnApplicationShutdown {
if (['boolean', 'number', 'integer'].includes(param.type ?? '') && typeof data[k] === 'string') {
try {
data[k] = JSON.parse(data[k]);
- } catch (e) {
+ } catch (_) {
throw new ApiError({
message: 'Invalid param.',
code: 'INVALID_PARAM',
diff --git a/packages/backend/src/server/api/SigninApiService.ts b/packages/backend/src/server/api/SigninApiService.ts
index 00e8828242..5c9d16a95a 100644
--- a/packages/backend/src/server/api/SigninApiService.ts
+++ b/packages/backend/src/server/api/SigninApiService.ts
@@ -231,7 +231,7 @@ export class SigninApiService {
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
return await fail(403, {
id: 'cdf1235b-ac71-46d4-a3a6-84ccce48df6f',
});
diff --git a/packages/backend/src/server/api/SigninWithPasskeyApiService.ts b/packages/backend/src/server/api/SigninWithPasskeyApiService.ts
index 920f9d0b3a..6feb4c3afa 100644
--- a/packages/backend/src/server/api/SigninWithPasskeyApiService.ts
+++ b/packages/backend/src/server/api/SigninWithPasskeyApiService.ts
@@ -93,7 +93,7 @@ export class SigninWithPasskeyApiService {
// Not more than 1 API call per 250ms and not more than 100 attempts per 30min
// NOTE: 1 Sign-in require 2 API calls
await this.rateLimiterService.limit({ key: 'signin-with-passkey', duration: 60 * 30 * 1000, max: 200, minInterval: 250 }, getIpHash(request.ip));
- } catch (err) {
+ } catch (_) {
reply.code(429);
return {
error: {
diff --git a/packages/backend/src/server/api/SignupApiService.ts b/packages/backend/src/server/api/SignupApiService.ts
index 53336a087d..b419c51ef1 100644
--- a/packages/backend/src/server/api/SignupApiService.ts
+++ b/packages/backend/src/server/api/SignupApiService.ts
@@ -255,7 +255,7 @@ export class SignupApiService {
throw new FastifyReplyError(400, 'EXPIRED');
}
- const { account, secret } = await this.signupService.signup({
+ const { account } = await this.signupService.signup({
username: pendingUser.username,
passwordHash: pendingUser.password,
});
diff --git a/packages/backend/src/server/api/StreamingApiServerService.ts b/packages/backend/src/server/api/StreamingApiServerService.ts
index 359c361ed4..8a317bdc4e 100644
--- a/packages/backend/src/server/api/StreamingApiServerService.ts
+++ b/packages/backend/src/server/api/StreamingApiServerService.ts
@@ -111,7 +111,7 @@ export class StreamingApiServerService {
user: MiLocalUser | null;
app: MiAccessToken | null
}) => {
- const { stream, user, app } = ctx;
+ const { stream, user } = ctx;
const ev = new EventEmitter();
diff --git a/packages/backend/src/server/api/endpoints/admin/announcements/create.ts b/packages/backend/src/server/api/endpoints/admin/announcements/create.ts
index b8bfda73a4..74462b302a 100644
--- a/packages/backend/src/server/api/endpoints/admin/announcements/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/announcements/create.ts
@@ -72,7 +72,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
private announcementService: AnnouncementService,
) {
super(meta, paramDef, async (ps, me) => {
- const { raw, packed } = await this.announcementService.create({
+ const { packed } = await this.announcementService.create({
updatedAt: null,
title: ps.title,
text: ps.text,
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
index cf03859ce5..d4305e7d7c 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
@@ -76,7 +76,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
// Create file
driveFile = await this.driveService.uploadFromUrl({ url: emoji.originalUrl, user: null, force: true });
- } catch (e) {
+ } catch (_) {
// TODO: need to return Drive Error
throw new ApiError();
}
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/update.ts b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
index 7bde10af46..e20bc21f6b 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
@@ -117,7 +117,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
case 'SAME_NAME_EMOJI_EXISTS': throw new ApiError(meta.errors.sameNameEmojiExists);
}
// 網羅性チェック
- const mustBeNever: never = error;
+ const _mustBeNever: never = error;
});
}
}
diff --git a/packages/backend/src/server/api/endpoints/ap/show.ts b/packages/backend/src/server/api/endpoints/ap/show.ts
index 140b054fcc..47da6b4fbd 100644
--- a/packages/backend/src/server/api/endpoints/ap/show.ts
+++ b/packages/backend/src/server/api/endpoints/ap/show.ts
@@ -215,7 +215,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
type: 'Note',
object,
};
- } catch (e) {
+ } catch (_) {
return null;
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts b/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts
index 65eece5b97..8dc5cafb56 100644
--- a/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts
+++ b/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts
@@ -81,7 +81,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts b/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts
index 9391aee5e0..050dbaf49e 100644
--- a/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts
+++ b/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts
@@ -212,7 +212,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/register.ts b/packages/backend/src/server/api/endpoints/i/2fa/register.ts
index a54c598213..b6c837eda7 100644
--- a/packages/backend/src/server/api/endpoints/i/2fa/register.ts
+++ b/packages/backend/src/server/api/endpoints/i/2fa/register.ts
@@ -72,7 +72,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/remove-key.ts b/packages/backend/src/server/api/endpoints/i/2fa/remove-key.ts
index c350136eae..6e5d9943de 100644
--- a/packages/backend/src/server/api/endpoints/i/2fa/remove-key.ts
+++ b/packages/backend/src/server/api/endpoints/i/2fa/remove-key.ts
@@ -61,7 +61,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/unregister.ts b/packages/backend/src/server/api/endpoints/i/2fa/unregister.ts
index b5a53cc889..23b577dc18 100644
--- a/packages/backend/src/server/api/endpoints/i/2fa/unregister.ts
+++ b/packages/backend/src/server/api/endpoints/i/2fa/unregister.ts
@@ -57,7 +57,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/change-password.ts b/packages/backend/src/server/api/endpoints/i/change-password.ts
index bb78d47149..19ea187ee8 100644
--- a/packages/backend/src/server/api/endpoints/i/change-password.ts
+++ b/packages/backend/src/server/api/endpoints/i/change-password.ts
@@ -45,7 +45,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/delete-account.ts b/packages/backend/src/server/api/endpoints/i/delete-account.ts
index bfa0b4605d..42324c7778 100644
--- a/packages/backend/src/server/api/endpoints/i/delete-account.ts
+++ b/packages/backend/src/server/api/endpoints/i/delete-account.ts
@@ -49,7 +49,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts b/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts
index f933eaab00..4fe39bb8e8 100644
--- a/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts
+++ b/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts
@@ -71,7 +71,6 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
private notificationService: NotificationService,
) {
super(meta, paramDef, async (ps, me) => {
- const EXTRA_LIMIT = 100;
const untilId = ps.untilId ?? (ps.untilDate ? this.idService.gen(ps.untilDate!) : undefined);
const sinceId = ps.sinceId ?? (ps.sinceDate ? this.idService.gen(ps.sinceDate!) : undefined);
diff --git a/packages/backend/src/server/api/endpoints/i/update-email.ts b/packages/backend/src/server/api/endpoints/i/update-email.ts
index da1faee30d..c2f4281f36 100644
--- a/packages/backend/src/server/api/endpoints/i/update-email.ts
+++ b/packages/backend/src/server/api/endpoints/i/update-email.ts
@@ -91,7 +91,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
await this.userAuthService.twoFactorAuthenticate(profile, token);
- } catch (e) {
+ } catch (_) {
throw new Error('authentication failed');
}
}
diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts
index 9971a1ea4d..5207d9f2b0 100644
--- a/packages/backend/src/server/api/endpoints/i/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/update.ts
@@ -323,7 +323,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
try {
new RE2(regexp[1], regexp[2]);
- } catch (err) {
+ } catch (_) {
throw new ApiError(meta.errors.invalidRegexp);
}
}
@@ -587,7 +587,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
})
.execute();
}
- } catch (err) {
+ } catch (_) {
// なにもしない
}
}
diff --git a/packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts b/packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts
index 29c6aa7434..7c0dddb827 100644
--- a/packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts
+++ b/packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts
@@ -59,7 +59,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
throw err;
});
- const mutedNotes = await this.notesRepository.find({
+ const _mutedNotes = await this.notesRepository.find({
where: [{
id: note.threadId ?? note.id,
}, {
diff --git a/packages/backend/src/server/api/endpoints/users/following.ts b/packages/backend/src/server/api/endpoints/users/following.ts
index 326e56bc85..3b3352858f 100644
--- a/packages/backend/src/server/api/endpoints/users/following.ts
+++ b/packages/backend/src/server/api/endpoints/users/following.ts
@@ -155,7 +155,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
birthday.shift(); // 年の部分を削除
// なぜか get_birthday_date() = :birthday だとインデックスが効かないので、BETWEEN で対応
query.andWhere('get_birthday_date(followeeProfile.birthday) BETWEEN :birthday AND :birthday', { birthday: parseInt(birthday.join('')) });
- } catch (err) {
+ } catch (_) {
throw new ApiError(meta.errors.birthdayInvalid);
}
}
diff --git a/packages/backend/src/server/api/openapi/schemas.ts b/packages/backend/src/server/api/openapi/schemas.ts
index 1cdcbebd1a..0714f61294 100644
--- a/packages/backend/src/server/api/openapi/schemas.ts
+++ b/packages/backend/src/server/api/openapi/schemas.ts
@@ -9,9 +9,8 @@ import { refs } from '@/misc/json-schema.js';
export function convertSchemaToOpenApiSchema(schema: Schema, type: 'param' | 'res', includeSelfRef: boolean): any {
// optional, nullable, refはスキーマ定義に含まれないので分離しておく
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- const { optional, nullable, ref, selfRef, ..._res }: any = schema;
- const res = deepClone(_res);
+ const { optional, nullable, ref, selfRef, ...res1 }: any = schema;
+ const res = deepClone(res1);
if (schema.type === 'object' && schema.properties) {
if (type === 'res') {
diff --git a/packages/backend/src/server/api/stream/Connection.ts b/packages/backend/src/server/api/stream/Connection.ts
index d19a223a21..5989409997 100644
--- a/packages/backend/src/server/api/stream/Connection.ts
+++ b/packages/backend/src/server/api/stream/Connection.ts
@@ -139,7 +139,7 @@ export default class Connection {
try {
obj = JSON.parse(data.toString());
- } catch (e) {
+ } catch (_) {
return;
}
diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts
index 2494ad038c..24bc619e79 100644
--- a/packages/backend/src/server/web/ClientServerService.ts
+++ b/packages/backend/src/server/web/ClientServerService.ts
@@ -872,9 +872,6 @@ export class ClientServerService {
}));
});
- const override = (source: string, target: string, depth = 0) =>
- [, ...target.split('/').filter(x => x), ...source.split('/').filter(x => x).splice(depth)].join('/');
-
fastify.get('/flush', async (request, reply) => {
let sendHeader = true;
diff --git a/packages/backend/test-federation/test/utils.ts b/packages/backend/test-federation/test/utils.ts
index 056a16ba15..6f09f13f17 100644
--- a/packages/backend/test-federation/test/utils.ts
+++ b/packages/backend/test-federation/test/utils.ts
@@ -234,30 +234,26 @@ export async function isFired<C extends keyof Misskey.Channels, T extends keyof
cond: (msg: Parameters<Misskey.Channels[C]['events'][T]>[0]) => boolean,
params?: Misskey.Channels[C]['params'],
): Promise<boolean> {
- return new Promise<boolean>(async (resolve, reject) => {
- const stream = new Misskey.Stream(`wss://${host}`, { token: user.i }, { WebSocket });
+ const stream = new Misskey.Stream(`wss://${host}`, { token: user.i }, { WebSocket });
+ try {
const connection = stream.useChannel(channel, params);
- connection.on(type as any, ((msg: any) => {
- if (cond(msg)) {
- stream.close();
- clearTimeout(timer);
- resolve(true);
- }
- }) as any);
-
- let timer: NodeJS.Timeout | undefined;
- await trigger().then(() => {
- timer = setTimeout(() => {
- stream.close();
- resolve(false);
- }, 500);
- }).catch(err => {
- stream.close();
- clearTimeout(timer);
- reject(err);
+ const receivePromise = new Promise<boolean>((resolve) => {
+ connection.on(type as never, ((msg: any) => {
+ if (cond(msg)) {
+ resolve(true);
+ }
+ }) as any);
});
- });
+
+ await trigger();
+ return await Promise.race([
+ receivePromise,
+ sleep(500).then(() => false),
+ ]);
+ } finally {
+ stream.close();
+ }
};
export async function isNoteUpdatedEventFired(
@@ -267,30 +263,27 @@ export async function isNoteUpdatedEventFired(
trigger: () => Promise<unknown>,
cond: (msg: Parameters<Misskey.StreamEvents['noteUpdated']>[0]) => boolean,
): Promise<boolean> {
- return new Promise<boolean>(async (resolve, reject) => {
- const stream = new Misskey.Stream(`wss://${host}`, { token: user.i }, { WebSocket });
+ const stream = new Misskey.Stream(`wss://${host}`, { token: user.i }, { WebSocket });
+ try {
stream.send('s', { id: noteId });
- stream.on('noteUpdated', msg => {
- if (cond(msg)) {
- stream.close();
- clearTimeout(timer);
- resolve(true);
- }
+
+ const receivePromise = new Promise<boolean>((resolve) => {
+ stream.on('noteUpdated', msg => {
+ if (cond(msg)) {
+ resolve(true);
+ }
+ });
});
- let timer: NodeJS.Timeout | undefined;
+ await trigger();
- await trigger().then(() => {
- timer = setTimeout(() => {
- stream.close();
- resolve(false);
- }, 500);
- }).catch(err => {
- stream.close();
- clearTimeout(timer);
- reject(err);
- });
- });
+ return await Promise.race([
+ receivePromise,
+ sleep(500).then(() => false),
+ ]);
+ } finally {
+ stream.close();
+ }
};
export async function assertNotificationReceived(
diff --git a/packages/backend/test/utils.ts b/packages/backend/test/utils.ts
index ecca28b5af..f91fb7f9b1 100644
--- a/packages/backend/test/utils.ts
+++ b/packages/backend/test/utils.ts
@@ -404,37 +404,28 @@ export function connectStream<C extends keyof misskey.Channels>(user: UserToken,
}
export const waitFire = async <C extends keyof misskey.Channels>(user: UserToken, channel: C, trgr: () => any, cond: (msg: Record<string, any>) => boolean, params?: misskey.Channels[C]['params']) => {
- return new Promise<boolean>(async (res, rej) => {
- let timer: NodeJS.Timeout | null = null;
+ let ws: WebSocket | undefined;
- let ws: WebSocket;
- try {
- ws = await connectStream(user, channel, msg => {
+ try {
+ let callback: (msg: Record<string, unknown>) => void;
+ const receivedPromise = new Promise<boolean>((resolve) => {
+ callback = (msg: Record<string, unknown>) => {
if (cond(msg)) {
- ws.close();
- if (timer) clearTimeout(timer);
- res(true);
+ resolve(true);
}
- }, params);
- } catch (e) {
- rej(e);
- }
-
- if (!ws!) return;
+ };
+ });
- timer = setTimeout(() => {
- ws.close();
- res(false);
- }, 3000);
+ ws = await connectStream(user, channel, callback!, params);
+ await trgr();
- try {
- await trgr();
- } catch (e) {
- ws.close();
- if (timer) clearTimeout(timer);
- rej(e);
- }
- });
+ return await Promise.race([
+ receivedPromise,
+ new Promise<void>((r) => setTimeout(() => r(), 3000)).then(() => false),
+ ]);
+ } finally {
+ if (ws) ws.close();
+ }
};
/**
diff --git a/packages/frontend-builder/eslint.config.js b/packages/frontend-builder/eslint.config.js
index a13490c97f..7337abe14c 100644
--- a/packages/frontend-builder/eslint.config.js
+++ b/packages/frontend-builder/eslint.config.js
@@ -34,7 +34,6 @@ export default [
},
},
rules: {
- '@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-empty-interface': ['error', {
allowSingleExtends: true,
}],
diff --git a/packages/frontend-embed/eslint.config.js b/packages/frontend-embed/eslint.config.js
index 46247e40d5..63767cfb3c 100644
--- a/packages/frontend-embed/eslint.config.js
+++ b/packages/frontend-embed/eslint.config.js
@@ -41,7 +41,6 @@ export default [
},
},
rules: {
- '@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-empty-interface': ['error', {
allowSingleExtends: true,
}],
diff --git a/packages/frontend-shared/eslint.config.js b/packages/frontend-shared/eslint.config.js
index b972cfdb27..6168637f22 100644
--- a/packages/frontend-shared/eslint.config.js
+++ b/packages/frontend-shared/eslint.config.js
@@ -46,7 +46,6 @@ export default [
},
},
rules: {
- '@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-empty-interface': ['error', {
allowSingleExtends: true,
}],
diff --git a/packages/frontend/eslint.config.js b/packages/frontend/eslint.config.js
index a0fb80be92..15baf449fe 100644
--- a/packages/frontend/eslint.config.js
+++ b/packages/frontend/eslint.config.js
@@ -42,7 +42,6 @@ export default [
},
},
rules: {
- '@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-empty-interface': ['error', {
allowSingleExtends: true,
}],
diff --git a/packages/frontend/src/components/MkSystemWebhookEditor.impl.ts b/packages/frontend/src/components/MkSystemWebhookEditor.impl.ts
index 19e4eea733..f2ce55acc4 100644
--- a/packages/frontend/src/components/MkSystemWebhookEditor.impl.ts
+++ b/packages/frontend/src/components/MkSystemWebhookEditor.impl.ts
@@ -25,7 +25,7 @@ export type MkSystemWebhookResult = {
};
export async function showSystemWebhookEditorDialog(props: MkSystemWebhookEditorProps): Promise<MkSystemWebhookResult | null> {
- const { result } = await new Promise<{ result: MkSystemWebhookResult | null }>(async resolve => {
+ const { result } = await new Promise<{ result: MkSystemWebhookResult | null }>(resolve => {
const { dispose } = os.popup(
defineAsyncComponent(() => import('@/components/MkSystemWebhookEditor.vue')),
props,
diff --git a/packages/frontend/src/os.ts b/packages/frontend/src/os.ts
index 59ed3dc948..c1390e8274 100644
--- a/packages/frontend/src/os.ts
+++ b/packages/frontend/src/os.ts
@@ -780,7 +780,7 @@ export function chooseFileFromPc(
});
}
-export function launchUploader(
+export async function launchUploader(
files: File[],
options?: {
folderId?: string | null;
@@ -788,9 +788,10 @@ export function launchUploader(
features?: UploaderFeatures;
},
): Promise<Misskey.entities.DriveFile[]> {
- return new Promise(async (res, rej) => {
+ return new Promise((res, rej) => {
if (files.length === 0) return rej();
- const { dispose } = await popupAsyncWithDialog(import('@/components/MkUploaderDialog.vue').then(x => x.default), {
+ let dispose: () => void;
+ popupAsyncWithDialog(import('@/components/MkUploaderDialog.vue').then(x => x.default), {
files: markRaw(files),
folderId: options?.folderId,
multiple: options?.multiple,
@@ -801,7 +802,7 @@ export function launchUploader(
res(driveFiles);
},
closed: () => dispose(),
- });
+ }).then(d => dispose = d.dispose, rej);
});
}
diff --git a/packages/frontend/src/plugin.ts b/packages/frontend/src/plugin.ts
index f32c991828..d33e158ad9 100644
--- a/packages/frontend/src/plugin.ts
+++ b/packages/frontend/src/plugin.ts
@@ -49,7 +49,7 @@ async function getParser(): Promise<Parser> {
export function isSupportedAiScriptVersion(version: string): boolean {
try {
return (compareVersions(version, '0.12.0') >= 0);
- } catch (err) {
+ } catch (_) {
return false;
}
}
@@ -72,7 +72,7 @@ export async function parsePluginMeta(code: string): Promise<AiScriptPluginMeta>
try {
const parser = await getParser();
ast = parser.parse(code);
- } catch (err) {
+ } catch (_) {
throw new Error('Aiscript syntax error');
}
@@ -106,8 +106,9 @@ export async function authorizePlugin(plugin: Plugin) {
if (plugin.permissions == null || plugin.permissions.length === 0) return;
if (Object.hasOwn(store.s.pluginTokens, plugin.installId)) return;
- const token = await new Promise<string>(async (res, rej) => {
- const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkTokenGenerateWindow.vue').then(x => x.default), {
+ const token = await new Promise<string>((res, rej) => {
+ let dispose: () => void;
+ os.popupAsyncWithDialog(import('@/components/MkTokenGenerateWindow.vue').then(x => x.default), {
title: i18n.ts.tokenRequested,
information: i18n.ts.pluginTokenRequestedDescription,
initialName: plugin.name,
@@ -123,7 +124,7 @@ export async function authorizePlugin(plugin: Plugin) {
res(token);
},
closed: () => dispose(),
- });
+ }).then(d => dispose = d.dispose, err => rej(err));
});
store.set('pluginTokens', {
diff --git a/packages/frontend/src/preferences/manager.ts b/packages/frontend/src/preferences/manager.ts
index 1a1ec2b345..58d8861cef 100644
--- a/packages/frontend/src/preferences/manager.ts
+++ b/packages/frontend/src/preferences/manager.ts
@@ -463,7 +463,7 @@ export class PreferencesManager extends EventEmitter<PreferencesManagerEvents> {
let mergedValue: ValueOf<K> | undefined = undefined; // null と区別したいため
try {
if (merge != null) mergedValue = merge(local, remote);
- } catch (err) {
+ } catch (_) {
// nop
}
const { canceled, result: choice } = await os.select({
diff --git a/packages/frontend/src/theme.ts b/packages/frontend/src/theme.ts
index e001bed8f3..a7012a7586 100644
--- a/packages/frontend/src/theme.ts
+++ b/packages/frontend/src/theme.ts
@@ -232,7 +232,7 @@ export function parseThemeCode(code: string): Theme {
try {
theme = JSON5.parse(code);
- } catch (err) {
+ } catch (_) {
throw new Error('Failed to parse theme json');
}
if (!validateTheme(theme)) {
diff --git a/packages/frontend/src/utility/admin-lookup.ts b/packages/frontend/src/utility/admin-lookup.ts
index 18eebaa8f8..f393fd4ae1 100644
--- a/packages/frontend/src/utility/admin-lookup.ts
+++ b/packages/frontend/src/utility/admin-lookup.ts
@@ -36,7 +36,7 @@ export async function lookupUser() {
notFound();
}
});
- idPromise.then(show).catch(err => {
+ idPromise.then(show).catch(_ => {
notFound();
});
}
diff --git a/packages/frontend/src/utility/check-word-mute.ts b/packages/frontend/src/utility/check-word-mute.ts
index 98fea1bced..eafc939c80 100644
--- a/packages/frontend/src/utility/check-word-mute.ts
+++ b/packages/frontend/src/utility/check-word-mute.ts
@@ -29,7 +29,7 @@ export function checkWordMute(note: Misskey.entities.Note, me: Misskey.entities.
try {
return new RegExp(regexp[1], regexp[2]).test(text);
- } catch (err) {
+ } catch (_) {
// This should never happen due to input sanitisation.
return false;
}
diff --git a/packages/frontend/src/utility/drive.ts b/packages/frontend/src/utility/drive.ts
index 64079d125a..4fe2042e78 100644
--- a/packages/frontend/src/utility/drive.ts
+++ b/packages/frontend/src/utility/drive.ts
@@ -180,8 +180,9 @@ export function chooseFileFromPcAndUpload(
export function chooseDriveFile(options: {
multiple?: boolean;
} = {}): Promise<Misskey.entities.DriveFile[]> {
- return new Promise(async resolve => {
- const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkDriveFileSelectDialog.vue').then(x => x.default), {
+ return new Promise((resolve, rej) => {
+ let dispose: () => void;
+ os.popupAsyncWithDialog(import('@/components/MkDriveFileSelectDialog.vue').then(x => x.default), {
multiple: options.multiple ?? false,
}, {
done: files => {
@@ -190,7 +191,7 @@ export function chooseDriveFile(options: {
}
},
closed: () => dispose(),
- });
+ }).then((d) => dispose = d.dispose, rej);
});
}
@@ -301,14 +302,15 @@ export async function createCroppedImageDriveFileFromImageDriveFile(imageDriveFi
}
export async function selectDriveFolder(initialFolder: Misskey.entities.DriveFolder['id'] | null): Promise<(Misskey.entities.DriveFolder | null)[]> {
- return new Promise(async resolve => {
- const { dispose } = await os.popupAsyncWithDialog(import('@/components/MkDriveFolderSelectDialog.vue').then(x => x.default), {
+ return new Promise((resolve, reject) => {
+ let dispose: () => void;
+ os.popupAsyncWithDialog(import('@/components/MkDriveFolderSelectDialog.vue').then(x => x.default), {
initialFolder,
}, {
done: folders => {
resolve(folders);
},
closed: () => dispose(),
- });
+ }).then(d => dispose = d.dispose, reject);
});
}
diff --git a/packages/frontend/src/utility/file-drop.ts b/packages/frontend/src/utility/file-drop.ts
index 4259fe25e9..ffc024e8f3 100644
--- a/packages/frontend/src/utility/file-drop.ts
+++ b/packages/frontend/src/utility/file-drop.ts
@@ -75,20 +75,18 @@ export async function readDataTransferItems(itemList: DataTransferItemList): Pro
});
}
- function readDirectory(fileSystemDirectoryEntry: FileSystemDirectoryEntry): Promise<DroppedItem[]> {
- return new Promise(async (resolve) => {
- const allEntries = Array.of<FileSystemEntry>();
- const reader = fileSystemDirectoryEntry.createReader();
- while (true) {
- const entries = await new Promise<FileSystemEntry[]>((res, rej) => reader.readEntries(res, rej));
- if (entries.length === 0) {
- break;
- }
- allEntries.push(...entries);
+ async function readDirectory(fileSystemDirectoryEntry: FileSystemDirectoryEntry): Promise<DroppedItem[]> {
+ const allEntries = Array.of<FileSystemEntry>();
+ const reader = fileSystemDirectoryEntry.createReader();
+ while (true) {
+ const entries = await new Promise<FileSystemEntry[]>((res, rej) => reader.readEntries(res, rej));
+ if (entries.length === 0) {
+ break;
}
+ allEntries.push(...entries);
+ }
- resolve(await Promise.all(allEntries.map(readEntry)));
- });
+ return await Promise.all(allEntries.map(readEntry));
}
// 扱いにくいので配列に変換
diff --git a/packages/frontend/src/utility/get-drive-file-menu.ts b/packages/frontend/src/utility/get-drive-file-menu.ts
index 040cf8f976..53ca4389bf 100644
--- a/packages/frontend/src/utility/get-drive-file-menu.ts
+++ b/packages/frontend/src/utility/get-drive-file-menu.ts
@@ -89,7 +89,7 @@ async function deleteFile(file: Misskey.entities.DriveFile) {
}
export function getDriveFileMenu(file: Misskey.entities.DriveFile, folder?: Misskey.entities.DriveFolder | null): MenuItem[] {
- const isImage = file.type.startsWith('image/');
+ const _isImage = file.type.startsWith('image/');
const menuItems: MenuItem[] = [];
diff --git a/packages/frontend/src/utility/get-note-menu.ts b/packages/frontend/src/utility/get-note-menu.ts
index fc165ea898..78176970f1 100644
--- a/packages/frontend/src/utility/get-note-menu.ts
+++ b/packages/frontend/src/utility/get-note-menu.ts
@@ -262,7 +262,7 @@ export function getNoteMenu(props: {
os.apiWithDialog('clips/remove-note', { clipId: props.currentClip.id, noteId: appearNote.id });
}
- async function promote(): Promise<void> {
+ async function _promote(): Promise<void> {
const { canceled, result: days } = await os.inputNumber({
title: i18n.ts.numberOfDays,
});
diff --git a/packages/frontend/src/utility/image-frame-renderer/ImageFrameRenderer.ts b/packages/frontend/src/utility/image-frame-renderer/ImageFrameRenderer.ts
index 9e97728785..591a94b855 100644
--- a/packages/frontend/src/utility/image-frame-renderer/ImageFrameRenderer.ts
+++ b/packages/frontend/src/utility/image-frame-renderer/ImageFrameRenderer.ts
@@ -201,7 +201,7 @@ export class ImageFrameRenderer {
qrSize,
);
qrImageBitmap.close();
- } catch (err) {
+ } catch (_) {
// nop
}
}
diff --git a/packages/frontend/src/utility/paginator.ts b/packages/frontend/src/utility/paginator.ts
index 59ae1e431a..45054acfd0 100644
--- a/packages/frontend/src/utility/paginator.ts
+++ b/packages/frontend/src/utility/paginator.ts
@@ -213,7 +213,7 @@ export class Paginator<
} : {}),
};
- const apiRes = (await misskeyApi(this.endpoint, data).catch(err => {
+ const apiRes = (await misskeyApi(this.endpoint, data).catch(_ => {
this.error.value = true;
this.fetching.value = false;
return null;
@@ -273,7 +273,7 @@ export class Paginator<
}),
};
- const apiRes = (await misskeyApi<T[]>(this.endpoint, data).catch(err => {
+ const apiRes = (await misskeyApi<T[]>(this.endpoint, data).catch(_ => {
return null;
})) as T[] | null;
@@ -326,7 +326,7 @@ export class Paginator<
}),
};
- const apiRes = (await misskeyApi<T[]>(this.endpoint, data).catch(err => {
+ const apiRes = (await misskeyApi<T[]>(this.endpoint, data).catch(_ => {
return null;
})) as T[] | null;
diff --git a/packages/frontend/src/utility/sound.ts b/packages/frontend/src/utility/sound.ts
index 8e79841647..303244d126 100644
--- a/packages/frontend/src/utility/sound.ts
+++ b/packages/frontend/src/utility/sound.ts
@@ -111,7 +111,7 @@ export async function loadAudio(url: string, options?: { useCache?: boolean; })
try {
response = await window.fetch(url);
- } catch (err) {
+ } catch (_) {
return;
}
diff --git a/packages/frontend/src/utility/timeline-date-separate.ts b/packages/frontend/src/utility/timeline-date-separate.ts
index 33ddea048b..de71b8ce11 100644
--- a/packages/frontend/src/utility/timeline-date-separate.ts
+++ b/packages/frontend/src/utility/timeline-date-separate.ts
@@ -104,7 +104,7 @@ export function makeDateGroupedTimelineComputedRef<T extends { id: string; creat
for (let i = 0; i < items.value.length; i++) {
const item = items.value[i];
const date = new Date(item.createdAt);
- const nextDate = items.value[i + 1] ? new Date(items.value[i + 1].createdAt) : null;
+ const _nextDate = items.value[i + 1] ? new Date(items.value[i + 1].createdAt) : null;
if (tl.length === 0 || (
span === 'day' && tl[tl.length - 1].date.getTime() !== date.getTime()
diff --git a/packages/frontend/src/utility/tour.ts b/packages/frontend/src/utility/tour.ts
index c6bfa35a66..b14486e953 100644
--- a/packages/frontend/src/utility/tour.ts
+++ b/packages/frontend/src/utility/tour.ts
@@ -13,7 +13,7 @@ type TourStep = {
};
export function startTour(steps: TourStep[]) {
- return new Promise<void>(async (resolve) => {
+ return new Promise<void>((resolve) => {
const currentStepIndex = ref(0);
const titleRef = ref(steps[0].title);
const descriptionRef = ref(steps[0].description);
diff --git a/packages/frontend/test/scroll.test.ts b/packages/frontend/test/scroll.test.ts
index 34e7e64313..11029c71ee 100644
--- a/packages/frontend/test/scroll.test.ts
+++ b/packages/frontend/test/scroll.test.ts
@@ -25,7 +25,7 @@ describe('Scroll', () => {
*/
test('No onScrollTop callback for disconnected elements', () => {
- const { document } = new Window();
+ const { document: _ } = new Window();
const div = window.document.createElement('div');
assert.strictEqual(div.scrollTop, 0);
@@ -53,7 +53,7 @@ describe('Scroll', () => {
*/
test('No onScrollBottom callback for disconnected elements', () => {
- const { document } = new Window();
+ const { document: _ } = new Window();
const div = window.document.createElement('div');
assert.strictEqual(div.scrollTop, 0);
diff --git a/packages/misskey-js/src/consts.ts b/packages/misskey-js/src/consts.ts
index eb6c5cd1b0..8789ee056d 100644
--- a/packages/misskey-js/src/consts.ts
+++ b/packages/misskey-js/src/consts.ts
@@ -13,7 +13,6 @@ import type {
Role,
ReversiGameDetailed,
SystemWebhook,
- UserLite,
ChatRoom,
} from './autogen/models.js';
diff --git a/packages/shared/eslint.config.js b/packages/shared/eslint.config.js
index ae9fb3cd37..afd14001d9 100644
--- a/packages/shared/eslint.config.js
+++ b/packages/shared/eslint.config.js
@@ -40,6 +40,22 @@ export default [
// 型の情報を利用してlintする必要があるため無効化
// TODO: 有効化検討
'@typescript-eslint/no-misused-promises': 'off',
+ 'no-async-promise-executor': 'error',
+ },
+ },
+ {
+ // typescript
+ files: ['**/*.ts', '**/*.tsx'],
+ rules: {
+ '@typescript-eslint/no-unused-vars': ['warn', {
+ 'args': 'all',
+ 'argsIgnorePattern': '^_',
+ 'caughtErrors': 'all',
+ 'caughtErrorsIgnorePattern': '^_',
+ 'destructuredArrayIgnorePattern': '^_',
+ 'varsIgnorePattern': '^_',
+ 'ignoreRestSiblings': true,
+ }],
},
},
];
diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts
index 783c78f7dc..6dfea12aa8 100644
--- a/packages/sw/src/scripts/create-notification.ts
+++ b/packages/sw/src/scripts/create-notification.ts
@@ -292,30 +292,28 @@ async function composeNotification(data: PushNotificationDataMap[keyof PushNotif
}
export async function createEmptyNotification(): Promise<void> {
- return new Promise<void>(async res => {
- const i18n = await (swLang.i18n ?? swLang.fetchLocale());
-
- await globalThis.registration.showNotification(
- (new URL(origin)).host,
- {
- body: `Misskey v${_VERSION_}`,
- silent: true,
- badge: iconUrl('null'),
- tag: 'read_notification',
- actions: [
- {
- action: 'markAllAsRead',
- title: i18n.ts.markAllAsRead,
- },
- {
- action: 'settings',
- title: i18n.ts.notificationSettings,
- },
- ],
- data: {},
- },
- );
-
+ const i18n = await (swLang.i18n ?? swLang.fetchLocale());
+ await globalThis.registration.showNotification(
+ (new URL(origin)).host,
+ {
+ body: `Misskey v${_VERSION_}`,
+ silent: true,
+ badge: iconUrl('null'),
+ tag: 'read_notification',
+ actions: [
+ {
+ action: 'markAllAsRead',
+ title: i18n.ts.markAllAsRead,
+ },
+ {
+ action: 'settings',
+ title: i18n.ts.notificationSettings,
+ },
+ ],
+ data: {},
+ },
+ );
+ return new Promise<void>(res => {
setTimeout(async () => {
try {
await closeNotificationsByTags(['user_visible_auto_notification']);