summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-08-19 21:55:45 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-08-19 21:55:45 +0900
commit42cc93dd0f189995f29fc87d2734fc809105a7cf (patch)
tree7a74658a76d71d4c07bf89a7028fa1786af0e13e /src/services
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadsharkey-42cc93dd0f189995f29fc87d2734fc809105a7cf.tar.gz
sharkey-42cc93dd0f189995f29fc87d2734fc809105a7cf.tar.bz2
sharkey-42cc93dd0f189995f29fc87d2734fc809105a7cf.zip
fix: mochaが動かないため拡張子なしに戻した
Diffstat (limited to 'src/services')
-rw-r--r--src/services/add-note-to-antenna.ts14
-rw-r--r--src/services/blocking/create.ts22
-rw-r--r--src/services/blocking/delete.ts14
-rw-r--r--src/services/chart/charts/classes/active-users.ts10
-rw-r--r--src/services/chart/charts/classes/drive.ts10
-rw-r--r--src/services/chart/charts/classes/federation.ts8
-rw-r--r--src/services/chart/charts/classes/hashtag.ts10
-rw-r--r--src/services/chart/charts/classes/instance.ts14
-rw-r--r--src/services/chart/charts/classes/network.ts6
-rw-r--r--src/services/chart/charts/classes/notes.ts10
-rw-r--r--src/services/chart/charts/classes/per-user-drive.ts10
-rw-r--r--src/services/chart/charts/classes/per-user-following.ts10
-rw-r--r--src/services/chart/charts/classes/per-user-notes.ts12
-rw-r--r--src/services/chart/charts/classes/per-user-reactions.ts12
-rw-r--r--src/services/chart/charts/classes/test-grouped.ts6
-rw-r--r--src/services/chart/charts/classes/test-unique.ts6
-rw-r--r--src/services/chart/charts/classes/test.ts6
-rw-r--r--src/services/chart/charts/classes/users.ts10
-rw-r--r--src/services/chart/core.ts8
-rw-r--r--src/services/chart/entities.ts2
-rw-r--r--src/services/chart/index.ts26
-rw-r--r--src/services/create-notification.ts14
-rw-r--r--src/services/create-system-user.ts14
-rw-r--r--src/services/drive/add-file.ts32
-rw-r--r--src/services/drive/delete-file.ts28
-rw-r--r--src/services/drive/generate-video-thumbnail.ts2
-rw-r--r--src/services/drive/internal-storage.ts2
-rw-r--r--src/services/drive/logger.ts2
-rw-r--r--src/services/drive/s3.ts4
-rw-r--r--src/services/drive/upload-from-url.ts16
-rw-r--r--src/services/fetch-instance-metadata.ts10
-rw-r--r--src/services/following/create.ts32
-rw-r--r--src/services/following/delete.ts20
-rw-r--r--src/services/following/requests/accept-all.ts6
-rw-r--r--src/services/following/requests/accept.ts18
-rw-r--r--src/services/following/requests/cancel.ts16
-rw-r--r--src/services/following/requests/create.ts16
-rw-r--r--src/services/following/requests/reject.ts16
-rw-r--r--src/services/i/pin.ts24
-rw-r--r--src/services/i/update.ts14
-rw-r--r--src/services/insert-moderation-log.ts6
-rw-r--r--src/services/instance-actor.ts8
-rw-r--r--src/services/logger.ts8
-rw-r--r--src/services/messages/create.ts26
-rw-r--r--src/services/messages/delete.ts16
-rw-r--r--src/services/note/create.ts68
-rw-r--r--src/services/note/delete.ts30
-rw-r--r--src/services/note/polls/update.ts14
-rw-r--r--src/services/note/polls/vote.ts12
-rw-r--r--src/services/note/reaction/create.ts30
-rw-r--r--src/services/note/reaction/delete.ts20
-rw-r--r--src/services/note/read.ts18
-rw-r--r--src/services/note/unread.ts10
-rw-r--r--src/services/note/unwatch.ts6
-rw-r--r--src/services/note/watch.ts10
-rw-r--r--src/services/push-notification.ts10
-rw-r--r--src/services/register-or-fetch-instance-doc.ts12
-rw-r--r--src/services/relay.ts16
-rw-r--r--src/services/send-email-notification.ts12
-rw-r--r--src/services/send-email.ts6
-rw-r--r--src/services/stream.ts18
-rw-r--r--src/services/suspend-user.ts12
-rw-r--r--src/services/unsuspend-user.ts14
-rw-r--r--src/services/update-hashtag.ts12
-rw-r--r--src/services/user-list/push.ts16
65 files changed, 461 insertions, 461 deletions
diff --git a/src/services/add-note-to-antenna.ts b/src/services/add-note-to-antenna.ts
index f285b7a605..3aedbd2c32 100644
--- a/src/services/add-note-to-antenna.ts
+++ b/src/services/add-note-to-antenna.ts
@@ -1,10 +1,10 @@
-import { Antenna } from '@/models/entities/antenna.js';
-import { Note } from '@/models/entities/note.js';
-import { AntennaNotes, Mutings, Notes } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { isMutedUserRelated } from '@/misc/is-muted-user-related.js';
-import { publishAntennaStream, publishMainStream } from '@/services/stream.js';
-import { User } from '@/models/entities/user.js';
+import { Antenna } from '@/models/entities/antenna';
+import { Note } from '@/models/entities/note';
+import { AntennaNotes, Mutings, Notes } from '@/models/index';
+import { genId } from '@/misc/gen-id';
+import { isMutedUserRelated } from '@/misc/is-muted-user-related';
+import { publishAntennaStream, publishMainStream } from '@/services/stream';
+import { User } from '@/models/entities/user';
export async function addNoteToAntenna(antenna: Antenna, note: Note, noteUser: { id: User['id']; }) {
// 通知しない設定になっているか、自分自身の投稿なら既読にする
diff --git a/src/services/blocking/create.ts b/src/services/blocking/create.ts
index 415223f089..76c4bda9dc 100644
--- a/src/services/blocking/create.ts
+++ b/src/services/blocking/create.ts
@@ -1,14 +1,14 @@
-import { publishMainStream, publishUserEvent } from '@/services/stream.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderFollow from '@/remote/activitypub/renderer/follow.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import renderBlock from '@/remote/activitypub/renderer/block.js';
-import { deliver } from '@/queue/index.js';
-import renderReject from '@/remote/activitypub/renderer/reject.js';
-import { User } from '@/models/entities/user.js';
-import { Blockings, Users, FollowRequests, Followings, UserListJoinings, UserLists } from '@/models/index.js';
-import { perUserFollowingChart } from '@/services/chart/index.js';
-import { genId } from '@/misc/gen-id.js';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderFollow from '@/remote/activitypub/renderer/follow';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import renderBlock from '@/remote/activitypub/renderer/block';
+import { deliver } from '@/queue/index';
+import renderReject from '@/remote/activitypub/renderer/reject';
+import { User } from '@/models/entities/user';
+import { Blockings, Users, FollowRequests, Followings, UserListJoinings, UserLists } from '@/models/index';
+import { perUserFollowingChart } from '@/services/chart/index';
+import { genId } from '@/misc/gen-id';
export default async function(blocker: User, blockee: User) {
await Promise.all([
diff --git a/src/services/blocking/delete.ts b/src/services/blocking/delete.ts
index 240c0b15d1..de7efb1558 100644
--- a/src/services/blocking/delete.ts
+++ b/src/services/blocking/delete.ts
@@ -1,10 +1,10 @@
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderBlock from '@/remote/activitypub/renderer/block.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import { deliver } from '@/queue/index.js';
-import Logger from '../logger.js';
-import { User } from '@/models/entities/user.js';
-import { Blockings, Users } from '@/models/index.js';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderBlock from '@/remote/activitypub/renderer/block';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import { deliver } from '@/queue/index';
+import Logger from '../logger';
+import { User } from '@/models/entities/user';
+import { Blockings, Users } from '@/models/index';
const logger = new Logger('blocking/delete');
diff --git a/src/services/chart/charts/classes/active-users.ts b/src/services/chart/charts/classes/active-users.ts
index 959eb0f8e1..f80d8a3322 100644
--- a/src/services/chart/charts/classes/active-users.ts
+++ b/src/services/chart/charts/classes/active-users.ts
@@ -1,9 +1,9 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { User } from '@/models/entities/user.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Users } from '@/models/index.js';
-import { name, schema } from '../schemas/active-users.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { User } from '@/models/entities/user';
+import { SchemaType } from '@/misc/schema';
+import { Users } from '@/models/index';
+import { name, schema } from '../schemas/active-users';
type ActiveUsersLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/drive.ts b/src/services/chart/charts/classes/drive.ts
index 9bd64074ed..93eabf3096 100644
--- a/src/services/chart/charts/classes/drive.ts
+++ b/src/services/chart/charts/classes/drive.ts
@@ -1,10 +1,10 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { DriveFiles } from '@/models/index.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { DriveFiles } from '@/models/index';
import { Not, IsNull } from 'typeorm';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { name, schema } from '../schemas/drive.js';
+import { DriveFile } from '@/models/entities/drive-file';
+import { name, schema } from '../schemas/drive';
type DriveLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/federation.ts b/src/services/chart/charts/classes/federation.ts
index 39feed7b14..5f918b294f 100644
--- a/src/services/chart/charts/classes/federation.ts
+++ b/src/services/chart/charts/classes/federation.ts
@@ -1,8 +1,8 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Instances } from '@/models/index.js';
-import { name, schema } from '../schemas/federation.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { Instances } from '@/models/index';
+import { name, schema } from '../schemas/federation';
type FederationLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/hashtag.ts b/src/services/chart/charts/classes/hashtag.ts
index 13f4598499..f7f5e17dec 100644
--- a/src/services/chart/charts/classes/hashtag.ts
+++ b/src/services/chart/charts/classes/hashtag.ts
@@ -1,9 +1,9 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { User } from '@/models/entities/user.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Users } from '@/models/index.js';
-import { name, schema } from '../schemas/hashtag.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { User } from '@/models/entities/user';
+import { SchemaType } from '@/misc/schema';
+import { Users } from '@/models/index';
+import { name, schema } from '../schemas/hashtag';
type HashtagLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/instance.ts b/src/services/chart/charts/classes/instance.ts
index 429d4067bd..1032de7bc0 100644
--- a/src/services/chart/charts/classes/instance.ts
+++ b/src/services/chart/charts/classes/instance.ts
@@ -1,11 +1,11 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { DriveFiles, Followings, Users, Notes } from '@/models/index.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { name, schema } from '../schemas/instance.js';
-import { Note } from '@/models/entities/note.js';
-import { toPuny } from '@/misc/convert-host.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { DriveFiles, Followings, Users, Notes } from '@/models/index';
+import { DriveFile } from '@/models/entities/drive-file';
+import { name, schema } from '../schemas/instance';
+import { Note } from '@/models/entities/note';
+import { toPuny } from '@/misc/convert-host';
type InstanceLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/network.ts b/src/services/chart/charts/classes/network.ts
index 1e39115b02..2ce75e0b34 100644
--- a/src/services/chart/charts/classes/network.ts
+++ b/src/services/chart/charts/classes/network.ts
@@ -1,7 +1,7 @@
import autobind from 'autobind-decorator';
-import Chart, { DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { name, schema } from '../schemas/network.js';
+import Chart, { DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { name, schema } from '../schemas/network';
type NetworkLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/notes.ts b/src/services/chart/charts/classes/notes.ts
index 7cc3c7de83..0675d346d1 100644
--- a/src/services/chart/charts/classes/notes.ts
+++ b/src/services/chart/charts/classes/notes.ts
@@ -1,10 +1,10 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Notes } from '@/models/index.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { Notes } from '@/models/index';
import { Not, IsNull } from 'typeorm';
-import { Note } from '@/models/entities/note.js';
-import { name, schema } from '../schemas/notes.js';
+import { Note } from '@/models/entities/note';
+import { name, schema } from '../schemas/notes';
type NotesLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/per-user-drive.ts b/src/services/chart/charts/classes/per-user-drive.ts
index 04b29c0abe..f28987191b 100644
--- a/src/services/chart/charts/classes/per-user-drive.ts
+++ b/src/services/chart/charts/classes/per-user-drive.ts
@@ -1,9 +1,9 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { DriveFiles } from '@/models/index.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { name, schema } from '../schemas/per-user-drive.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { DriveFiles } from '@/models/index';
+import { DriveFile } from '@/models/entities/drive-file';
+import { name, schema } from '../schemas/per-user-drive';
type PerUserDriveLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/per-user-following.ts b/src/services/chart/charts/classes/per-user-following.ts
index 43ca9d3b6c..08a9ad1d2b 100644
--- a/src/services/chart/charts/classes/per-user-following.ts
+++ b/src/services/chart/charts/classes/per-user-following.ts
@@ -1,10 +1,10 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Followings, Users } from '@/models/index.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { Followings, Users } from '@/models/index';
import { Not, IsNull } from 'typeorm';
-import { User } from '@/models/entities/user.js';
-import { name, schema } from '../schemas/per-user-following.js';
+import { User } from '@/models/entities/user';
+import { name, schema } from '../schemas/per-user-following';
type PerUserFollowingLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/per-user-notes.ts b/src/services/chart/charts/classes/per-user-notes.ts
index 3da16f8139..0e808766f5 100644
--- a/src/services/chart/charts/classes/per-user-notes.ts
+++ b/src/services/chart/charts/classes/per-user-notes.ts
@@ -1,10 +1,10 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { User } from '@/models/entities/user.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Notes } from '@/models/index.js';
-import { Note } from '@/models/entities/note.js';
-import { name, schema } from '../schemas/per-user-notes.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { User } from '@/models/entities/user';
+import { SchemaType } from '@/misc/schema';
+import { Notes } from '@/models/index';
+import { Note } from '@/models/entities/note';
+import { name, schema } from '../schemas/per-user-notes';
type PerUserNotesLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/per-user-reactions.ts b/src/services/chart/charts/classes/per-user-reactions.ts
index d4665c0677..e71bcb71c4 100644
--- a/src/services/chart/charts/classes/per-user-reactions.ts
+++ b/src/services/chart/charts/classes/per-user-reactions.ts
@@ -1,10 +1,10 @@
import autobind from 'autobind-decorator';
-import Chart, { DeepPartial } from '../../core.js';
-import { User } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Users } from '@/models/index.js';
-import { name, schema } from '../schemas/per-user-reactions.js';
+import Chart, { DeepPartial } from '../../core';
+import { User } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { SchemaType } from '@/misc/schema';
+import { Users } from '@/models/index';
+import { name, schema } from '../schemas/per-user-reactions';
type PerUserReactionsLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/test-grouped.ts b/src/services/chart/charts/classes/test-grouped.ts
index a667aaff15..84e6d5e33f 100644
--- a/src/services/chart/charts/classes/test-grouped.ts
+++ b/src/services/chart/charts/classes/test-grouped.ts
@@ -1,7 +1,7 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { name, schema } from '../schemas/test-grouped.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { name, schema } from '../schemas/test-grouped';
type TestGroupedLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/test-unique.ts b/src/services/chart/charts/classes/test-unique.ts
index c0ca5f625c..559fda13c9 100644
--- a/src/services/chart/charts/classes/test-unique.ts
+++ b/src/services/chart/charts/classes/test-unique.ts
@@ -1,7 +1,7 @@
import autobind from 'autobind-decorator';
-import Chart, { DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { name, schema } from '../schemas/test-unique.js';
+import Chart, { DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { name, schema } from '../schemas/test-unique';
type TestUniqueLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/test.ts b/src/services/chart/charts/classes/test.ts
index 829867f5ed..a91d5e1895 100644
--- a/src/services/chart/charts/classes/test.ts
+++ b/src/services/chart/charts/classes/test.ts
@@ -1,7 +1,7 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { name, schema } from '../schemas/test.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { name, schema } from '../schemas/test';
type TestLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/charts/classes/users.ts b/src/services/chart/charts/classes/users.ts
index be279cb8c1..89b480ef77 100644
--- a/src/services/chart/charts/classes/users.ts
+++ b/src/services/chart/charts/classes/users.ts
@@ -1,10 +1,10 @@
import autobind from 'autobind-decorator';
-import Chart, { Obj, DeepPartial } from '../../core.js';
-import { SchemaType } from '@/misc/schema.js';
-import { Users } from '@/models/index.js';
+import Chart, { Obj, DeepPartial } from '../../core';
+import { SchemaType } from '@/misc/schema';
+import { Users } from '@/models/index';
import { Not, IsNull } from 'typeorm';
-import { User } from '@/models/entities/user.js';
-import { name, schema } from '../schemas/users.js';
+import { User } from '@/models/entities/user';
+import { name, schema } from '../schemas/users';
type UsersLog = SchemaType<typeof schema>;
diff --git a/src/services/chart/core.ts b/src/services/chart/core.ts
index 109d75933b..3c0526d2e5 100644
--- a/src/services/chart/core.ts
+++ b/src/services/chart/core.ts
@@ -6,11 +6,11 @@
import * as nestedProperty from 'nested-property';
import autobind from 'autobind-decorator';
-import Logger from '../logger.js';
-import { Schema } from '@/misc/schema.js';
+import Logger from '../logger';
+import { Schema } from '@/misc/schema';
import { EntitySchema, getRepository, Repository, LessThan, Between } from 'typeorm';
-import { dateUTC, isTimeSame, isTimeBefore, subtractTime, addTime } from '../../prelude/time.js';
-import { getChartInsertLock } from '@/misc/app-lock.js';
+import { dateUTC, isTimeSame, isTimeBefore, subtractTime, addTime } from '../../prelude/time';
+import { getChartInsertLock } from '@/misc/app-lock';
const logger = new Logger('chart', 'white', process.env.NODE_ENV !== 'test');
diff --git a/src/services/chart/entities.ts b/src/services/chart/entities.ts
index 357a4a5b58..23a97607eb 100644
--- a/src/services/chart/entities.ts
+++ b/src/services/chart/entities.ts
@@ -1,6 +1,6 @@
import { fileURLToPath } from 'url';
import { dirname } from 'path';
-import Chart from './core.js';
+import Chart from './core';
//const _filename = fileURLToPath(import.meta.url);
const _filename = __filename;
diff --git a/src/services/chart/index.ts b/src/services/chart/index.ts
index b070ed8637..61eb431ea3 100644
--- a/src/services/chart/index.ts
+++ b/src/services/chart/index.ts
@@ -1,16 +1,16 @@
-import FederationChart from './charts/classes/federation.js';
-import NotesChart from './charts/classes/notes.js';
-import UsersChart from './charts/classes/users.js';
-import NetworkChart from './charts/classes/network.js';
-import ActiveUsersChart from './charts/classes/active-users.js';
-import InstanceChart from './charts/classes/instance.js';
-import PerUserNotesChart from './charts/classes/per-user-notes.js';
-import DriveChart from './charts/classes/drive.js';
-import PerUserReactionsChart from './charts/classes/per-user-reactions.js';
-import HashtagChart from './charts/classes/hashtag.js';
-import PerUserFollowingChart from './charts/classes/per-user-following.js';
-import PerUserDriveChart from './charts/classes/per-user-drive.js';
-import { beforeShutdown } from '@/misc/before-shutdown.js';
+import FederationChart from './charts/classes/federation';
+import NotesChart from './charts/classes/notes';
+import UsersChart from './charts/classes/users';
+import NetworkChart from './charts/classes/network';
+import ActiveUsersChart from './charts/classes/active-users';
+import InstanceChart from './charts/classes/instance';
+import PerUserNotesChart from './charts/classes/per-user-notes';
+import DriveChart from './charts/classes/drive';
+import PerUserReactionsChart from './charts/classes/per-user-reactions';
+import HashtagChart from './charts/classes/hashtag';
+import PerUserFollowingChart from './charts/classes/per-user-following';
+import PerUserDriveChart from './charts/classes/per-user-drive';
+import { beforeShutdown } from '@/misc/before-shutdown';
export const federationChart = new FederationChart();
export const notesChart = new NotesChart();
diff --git a/src/services/create-notification.ts b/src/services/create-notification.ts
index d0ee0e0481..5398d486c0 100644
--- a/src/services/create-notification.ts
+++ b/src/services/create-notification.ts
@@ -1,10 +1,10 @@
-import { publishMainStream } from '@/services/stream.js';
-import pushSw from './push-notification.js';
-import { Notifications, Mutings, UserProfiles, Users } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { User } from '@/models/entities/user.js';
-import { Notification } from '@/models/entities/notification.js';
-import { sendEmailNotification } from './send-email-notification.js';
+import { publishMainStream } from '@/services/stream';
+import pushSw from './push-notification';
+import { Notifications, Mutings, UserProfiles, Users } from '@/models/index';
+import { genId } from '@/misc/gen-id';
+import { User } from '@/models/entities/user';
+import { Notification } from '@/models/entities/notification';
+import { sendEmailNotification } from './send-email-notification';
export async function createNotification(
notifieeId: User['id'],
diff --git a/src/services/create-system-user.ts b/src/services/create-system-user.ts
index de03dd4890..71be8d4abf 100644
--- a/src/services/create-system-user.ts
+++ b/src/services/create-system-user.ts
@@ -1,13 +1,13 @@
import * as bcrypt from 'bcryptjs';
import { v4 as uuid } from 'uuid';
-import generateNativeUserToken from '../server/api/common/generate-native-user-token.js';
-import { genRsaKeyPair } from '@/misc/gen-key-pair.js';
-import { User } from '@/models/entities/user.js';
-import { UserProfile } from '@/models/entities/user-profile.js';
+import generateNativeUserToken from '../server/api/common/generate-native-user-token';
+import { genRsaKeyPair } from '@/misc/gen-key-pair';
+import { User } from '@/models/entities/user';
+import { UserProfile } from '@/models/entities/user-profile';
import { getConnection } from 'typeorm';
-import { genId } from '@/misc/gen-id.js';
-import { UserKeypair } from '@/models/entities/user-keypair.js';
-import { UsedUsername } from '@/models/entities/used-username.js';
+import { genId } from '@/misc/gen-id';
+import { UserKeypair } from '@/models/entities/user-keypair';
+import { UsedUsername } from '@/models/entities/used-username';
export async function createSystemUser(username: string) {
const password = uuid();
diff --git a/src/services/drive/add-file.ts b/src/services/drive/add-file.ts
index e1092d068d..6c5fefd4ad 100644
--- a/src/services/drive/add-file.ts
+++ b/src/services/drive/add-file.ts
@@ -2,23 +2,23 @@ import * as fs from 'fs';
import { v4 as uuid } from 'uuid';
-import { publishMainStream, publishDriveStream } from '@/services/stream.js';
-import { deleteFile } from './delete-file.js';
-import { fetchMeta } from '@/misc/fetch-meta.js';
-import { GenerateVideoThumbnail } from './generate-video-thumbnail.js';
-import { driveLogger } from './logger.js';
-import { IImage, convertSharpToJpeg, convertSharpToWebp, convertSharpToPng, convertSharpToPngOrJpeg } from './image-processor.js';
-import { contentDisposition } from '@/misc/content-disposition.js';
-import { getFileInfo } from '@/misc/get-file-info.js';
-import { DriveFiles, DriveFolders, Users, Instances, UserProfiles } from '@/models/index.js';
-import { InternalStorage } from './internal-storage.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { IRemoteUser, User } from '@/models/entities/user.js';
-import { driveChart, perUserDriveChart, instanceChart } from '@/services/chart/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
+import { publishMainStream, publishDriveStream } from '@/services/stream';
+import { deleteFile } from './delete-file';
+import { fetchMeta } from '@/misc/fetch-meta';
+import { GenerateVideoThumbnail } from './generate-video-thumbnail';
+import { driveLogger } from './logger';
+import { IImage, convertSharpToJpeg, convertSharpToWebp, convertSharpToPng, convertSharpToPngOrJpeg } from './image-processor';
+import { contentDisposition } from '@/misc/content-disposition';
+import { getFileInfo } from '@/misc/get-file-info';
+import { DriveFiles, DriveFolders, Users, Instances, UserProfiles } from '@/models/index';
+import { InternalStorage } from './internal-storage';
+import { DriveFile } from '@/models/entities/drive-file';
+import { IRemoteUser, User } from '@/models/entities/user';
+import { driveChart, perUserDriveChart, instanceChart } from '@/services/chart/index';
+import { genId } from '@/misc/gen-id';
+import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error';
import * as S3 from 'aws-sdk/clients/s3';
-import { getS3 } from './s3.js';
+import { getS3 } from './s3';
import * as sharp from 'sharp';
const logger = driveLogger.createSubLogger('register', 'yellow');
diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts
index 9deb1768b6..2eab17ac1c 100644
--- a/src/services/drive/delete-file.ts
+++ b/src/services/drive/delete-file.ts
@@ -1,19 +1,19 @@
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { InternalStorage } from './internal-storage.js';
-import { DriveFiles, Instances, Notes, Users } from '@/models/index.js';
-import { driveChart, perUserDriveChart, instanceChart } from '@/services/chart/index.js';
-import { createDeleteObjectStorageFileJob } from '@/queue/index.js';
-import { fetchMeta } from '@/misc/fetch-meta.js';
-import { getS3 } from './s3.js';
+import { DriveFile } from '@/models/entities/drive-file';
+import { InternalStorage } from './internal-storage';
+import { DriveFiles, Instances, Notes, Users } from '@/models/index';
+import { driveChart, perUserDriveChart, instanceChart } from '@/services/chart/index';
+import { createDeleteObjectStorageFileJob } from '@/queue/index';
+import { fetchMeta } from '@/misc/fetch-meta';
+import { getS3 } from './s3';
import { v4 as uuid } from 'uuid';
-import { Note } from '@/models/entities/note.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderDelete from '@/remote/activitypub/renderer/delete.js';
-import renderTombstone from '@/remote/activitypub/renderer/tombstone.js';
-import config from '@/config/index.js';
-import { deliverToFollowers } from '@/remote/activitypub/deliver-manager.js';
+import { Note } from '@/models/entities/note';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderDelete from '@/remote/activitypub/renderer/delete';
+import renderTombstone from '@/remote/activitypub/renderer/tombstone';
+import config from '@/config/index';
+import { deliverToFollowers } from '@/remote/activitypub/deliver-manager';
import { Brackets } from 'typeorm';
-import { deliverToRelays } from '../relay.js';
+import { deliverToRelays } from '../relay';
export async function deleteFile(file: DriveFile, isExpired = false) {
if (file.storedInternal) {
diff --git a/src/services/drive/generate-video-thumbnail.ts b/src/services/drive/generate-video-thumbnail.ts
index e5cb243d4d..f0adc7c338 100644
--- a/src/services/drive/generate-video-thumbnail.ts
+++ b/src/services/drive/generate-video-thumbnail.ts
@@ -1,6 +1,6 @@
import * as fs from 'fs';
import * as tmp from 'tmp';
-import { IImage, convertToJpeg } from './image-processor.js';
+import { IImage, convertToJpeg } from './image-processor';
import * as FFmpeg from 'fluent-ffmpeg';
export async function GenerateVideoThumbnail(path: string): Promise<IImage> {
diff --git a/src/services/drive/internal-storage.ts b/src/services/drive/internal-storage.ts
index e857f942cc..deaf3dc831 100644
--- a/src/services/drive/internal-storage.ts
+++ b/src/services/drive/internal-storage.ts
@@ -2,7 +2,7 @@ import * as fs from 'fs';
import * as Path from 'path';
import { fileURLToPath } from 'url';
import { dirname } from 'path';
-import config from '@/config/index.js';
+import config from '@/config/index';
//const _filename = fileURLToPath(import.meta.url);
const _filename = __filename;
diff --git a/src/services/drive/logger.ts b/src/services/drive/logger.ts
index 917a8317e2..655d074d6e 100644
--- a/src/services/drive/logger.ts
+++ b/src/services/drive/logger.ts
@@ -1,3 +1,3 @@
-import Logger from '../logger.js';
+import Logger from '../logger';
export const driveLogger = new Logger('drive', 'blue');
diff --git a/src/services/drive/s3.ts b/src/services/drive/s3.ts
index 89fad70dc5..f473c4a203 100644
--- a/src/services/drive/s3.ts
+++ b/src/services/drive/s3.ts
@@ -1,7 +1,7 @@
import { URL } from 'url';
import * as S3 from 'aws-sdk/clients/s3';
-import { Meta } from '@/models/entities/meta.js';
-import { getAgentByUrl } from '@/misc/fetch.js';
+import { Meta } from '@/models/entities/meta';
+import { getAgentByUrl } from '@/misc/fetch';
export function getS3(meta: Meta) {
const u = meta.objectStorageEndpoint != null
diff --git a/src/services/drive/upload-from-url.ts b/src/services/drive/upload-from-url.ts
index 21b294142b..29788c4af4 100644
--- a/src/services/drive/upload-from-url.ts
+++ b/src/services/drive/upload-from-url.ts
@@ -1,12 +1,12 @@
import { URL } from 'url';
-import create from './add-file.js';
-import { User } from '@/models/entities/user.js';
-import { driveLogger } from './logger.js';
-import { createTemp } from '@/misc/create-temp.js';
-import { downloadUrl } from '@/misc/download-url.js';
-import { DriveFolder } from '@/models/entities/drive-folder.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { DriveFiles } from '@/models/index.js';
+import create from './add-file';
+import { User } from '@/models/entities/user';
+import { driveLogger } from './logger';
+import { createTemp } from '@/misc/create-temp';
+import { downloadUrl } from '@/misc/download-url';
+import { DriveFolder } from '@/models/entities/drive-folder';
+import { DriveFile } from '@/models/entities/drive-file';
+import { DriveFiles } from '@/models/index';
const logger = driveLogger.createSubLogger('downloader');
diff --git a/src/services/fetch-instance-metadata.ts b/src/services/fetch-instance-metadata.ts
index d21064868c..2c401508a9 100644
--- a/src/services/fetch-instance-metadata.ts
+++ b/src/services/fetch-instance-metadata.ts
@@ -1,10 +1,10 @@
import { DOMWindow, JSDOM } from 'jsdom';
import fetch from 'node-fetch';
-import { getJson, getHtml, getAgentByUrl } from '@/misc/fetch.js';
-import { Instance } from '@/models/entities/instance.js';
-import { Instances } from '@/models/index.js';
-import { getFetchInstanceMetadataLock } from '@/misc/app-lock.js';
-import Logger from './logger.js';
+import { getJson, getHtml, getAgentByUrl } from '@/misc/fetch';
+import { Instance } from '@/models/entities/instance';
+import { Instances } from '@/models/index';
+import { getFetchInstanceMetadataLock } from '@/misc/app-lock';
+import Logger from './logger';
import { URL } from 'url';
const logger = new Logger('metadata', 'cyan');
diff --git a/src/services/following/create.ts b/src/services/following/create.ts
index 194b95dea0..4d0754b504 100644
--- a/src/services/following/create.ts
+++ b/src/services/following/create.ts
@@ -1,19 +1,19 @@
-import { publishMainStream, publishUserEvent } from '@/services/stream.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderFollow from '@/remote/activitypub/renderer/follow.js';
-import renderAccept from '@/remote/activitypub/renderer/accept.js';
-import renderReject from '@/remote/activitypub/renderer/reject.js';
-import { deliver } from '@/queue/index.js';
-import createFollowRequest from './requests/create.js';
-import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc.js';
-import Logger from '../logger.js';
-import { IdentifiableError } from '@/misc/identifiable-error.js';
-import { User } from '@/models/entities/user.js';
-import { Followings, Users, FollowRequests, Blockings, Instances, UserProfiles } from '@/models/index.js';
-import { instanceChart, perUserFollowingChart } from '@/services/chart/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { createNotification } from '../create-notification.js';
-import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderFollow from '@/remote/activitypub/renderer/follow';
+import renderAccept from '@/remote/activitypub/renderer/accept';
+import renderReject from '@/remote/activitypub/renderer/reject';
+import { deliver } from '@/queue/index';
+import createFollowRequest from './requests/create';
+import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc';
+import Logger from '../logger';
+import { IdentifiableError } from '@/misc/identifiable-error';
+import { User } from '@/models/entities/user';
+import { Followings, Users, FollowRequests, Blockings, Instances, UserProfiles } from '@/models/index';
+import { instanceChart, perUserFollowingChart } from '@/services/chart/index';
+import { genId } from '@/misc/gen-id';
+import { createNotification } from '../create-notification';
+import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error';
const logger = new Logger('following/create');
diff --git a/src/services/following/delete.ts b/src/services/following/delete.ts
index 3ea226744c..29e3372b6a 100644
--- a/src/services/following/delete.ts
+++ b/src/services/following/delete.ts
@@ -1,13 +1,13 @@
-import { publishMainStream, publishUserEvent } from '@/services/stream.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderFollow from '@/remote/activitypub/renderer/follow.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import { deliver } from '@/queue/index.js';
-import Logger from '../logger.js';
-import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc.js';
-import { User } from '@/models/entities/user.js';
-import { Followings, Users, Instances } from '@/models/index.js';
-import { instanceChart, perUserFollowingChart } from '@/services/chart/index.js';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderFollow from '@/remote/activitypub/renderer/follow';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import { deliver } from '@/queue/index';
+import Logger from '../logger';
+import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc';
+import { User } from '@/models/entities/user';
+import { Followings, Users, Instances } from '@/models/index';
+import { instanceChart, perUserFollowingChart } from '@/services/chart/index';
const logger = new Logger('following/delete');
diff --git a/src/services/following/requests/accept-all.ts b/src/services/following/requests/accept-all.ts
index 8025a134f3..23b4fd0a46 100644
--- a/src/services/following/requests/accept-all.ts
+++ b/src/services/following/requests/accept-all.ts
@@ -1,6 +1,6 @@
-import accept from './accept.js';
-import { User } from '@/models/entities/user.js';
-import { FollowRequests, Users } from '@/models/index.js';
+import accept from './accept';
+import { User } from '@/models/entities/user';
+import { FollowRequests, Users } from '@/models/index';
/**
* 指定したユーザー宛てのフォローリクエストをすべて承認
diff --git a/src/services/following/requests/accept.ts b/src/services/following/requests/accept.ts
index ff4d0ff998..316a6f1c12 100644
--- a/src/services/following/requests/accept.ts
+++ b/src/services/following/requests/accept.ts
@@ -1,12 +1,12 @@
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderFollow from '@/remote/activitypub/renderer/follow.js';
-import renderAccept from '@/remote/activitypub/renderer/accept.js';
-import { deliver } from '@/queue/index.js';
-import { publishMainStream } from '@/services/stream.js';
-import { insertFollowingDoc } from '../create.js';
-import { User, ILocalUser } from '@/models/entities/user.js';
-import { FollowRequests, Users } from '@/models/index.js';
-import { IdentifiableError } from '@/misc/identifiable-error.js';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderFollow from '@/remote/activitypub/renderer/follow';
+import renderAccept from '@/remote/activitypub/renderer/accept';
+import { deliver } from '@/queue/index';
+import { publishMainStream } from '@/services/stream';
+import { insertFollowingDoc } from '../create';
+import { User, ILocalUser } from '@/models/entities/user';
+import { FollowRequests, Users } from '@/models/index';
+import { IdentifiableError } from '@/misc/identifiable-error';
export default async function(followee: { id: User['id']; host: User['host']; uri: User['host']; inbox: User['inbox']; sharedInbox: User['sharedInbox']; }, follower: User) {
const request = await FollowRequests.findOne({
diff --git a/src/services/following/requests/cancel.ts b/src/services/following/requests/cancel.ts
index 3f60fefd10..8895849857 100644
--- a/src/services/following/requests/cancel.ts
+++ b/src/services/following/requests/cancel.ts
@@ -1,11 +1,11 @@
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderFollow from '@/remote/activitypub/renderer/follow.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import { deliver } from '@/queue/index.js';
-import { publishMainStream } from '@/services/stream.js';
-import { IdentifiableError } from '@/misc/identifiable-error.js';
-import { User, ILocalUser } from '@/models/entities/user.js';
-import { Users, FollowRequests } from '@/models/index.js';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderFollow from '@/remote/activitypub/renderer/follow';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import { deliver } from '@/queue/index';
+import { publishMainStream } from '@/services/stream';
+import { IdentifiableError } from '@/misc/identifiable-error';
+import { User, ILocalUser } from '@/models/entities/user';
+import { Users, FollowRequests } from '@/models/index';
export default async function(followee: { id: User['id']; host: User['host']; uri: User['host']; inbox: User['inbox'] }, follower: { id: User['id']; host: User['host']; uri: User['host'] }) {
if (Users.isRemoteUser(followee)) {
diff --git a/src/services/following/requests/create.ts b/src/services/following/requests/create.ts
index 8f26a66119..507cb2b7d1 100644
--- a/src/services/following/requests/create.ts
+++ b/src/services/following/requests/create.ts
@@ -1,11 +1,11 @@
-import { publishMainStream } from '@/services/stream.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderFollow from '@/remote/activitypub/renderer/follow.js';
-import { deliver } from '@/queue/index.js';
-import { User } from '@/models/entities/user.js';
-import { Blockings, FollowRequests, Users } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { createNotification } from '../../create-notification.js';
+import { publishMainStream } from '@/services/stream';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderFollow from '@/remote/activitypub/renderer/follow';
+import { deliver } from '@/queue/index';
+import { User } from '@/models/entities/user';
+import { Blockings, FollowRequests, Users } from '@/models/index';
+import { genId } from '@/misc/gen-id';
+import { createNotification } from '../../create-notification';
export default async function(follower: { id: User['id']; host: User['host']; uri: User['host']; inbox: User['inbox']; sharedInbox: User['sharedInbox']; }, followee: { id: User['id']; host: User['host']; uri: User['host']; inbox: User['inbox']; sharedInbox: User['sharedInbox']; }, requestId?: string) {
if (follower.id === followee.id) return;
diff --git a/src/services/following/requests/reject.ts b/src/services/following/requests/reject.ts
index e180f1dc4a..41cebd9e41 100644
--- a/src/services/following/requests/reject.ts
+++ b/src/services/following/requests/reject.ts
@@ -1,11 +1,11 @@
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderFollow from '@/remote/activitypub/renderer/follow.js';
-import renderReject from '@/remote/activitypub/renderer/reject.js';
-import { deliver } from '@/queue/index.js';
-import { publishMainStream, publishUserEvent } from '@/services/stream.js';
-import { User, ILocalUser } from '@/models/entities/user.js';
-import { Users, FollowRequests, Followings } from '@/models/index.js';
-import { decrementFollowing } from '../delete.js';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderFollow from '@/remote/activitypub/renderer/follow';
+import renderReject from '@/remote/activitypub/renderer/reject';
+import { deliver } from '@/queue/index';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
+import { User, ILocalUser } from '@/models/entities/user';
+import { Users, FollowRequests, Followings } from '@/models/index';
+import { decrementFollowing } from '../delete';
export default async function(followee: { id: User['id']; host: User['host']; uri: User['host'] }, follower: User) {
if (Users.isRemoteUser(follower) && Users.isLocalUser(followee)) {
diff --git a/src/services/i/pin.ts b/src/services/i/pin.ts
index da95b60707..b31beb6e1a 100644
--- a/src/services/i/pin.ts
+++ b/src/services/i/pin.ts
@@ -1,15 +1,15 @@
-import config from '@/config/index.js';
-import renderAdd from '@/remote/activitypub/renderer/add.js';
-import renderRemove from '@/remote/activitypub/renderer/remove.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import { IdentifiableError } from '@/misc/identifiable-error.js';
-import { User } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { Notes, UserNotePinings, Users } from '@/models/index.js';
-import { UserNotePining } from '@/models/entities/user-note-pining.js';
-import { genId } from '@/misc/gen-id.js';
-import { deliverToFollowers } from '@/remote/activitypub/deliver-manager.js';
-import { deliverToRelays } from '../relay.js';
+import config from '@/config/index';
+import renderAdd from '@/remote/activitypub/renderer/add';
+import renderRemove from '@/remote/activitypub/renderer/remove';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { IdentifiableError } from '@/misc/identifiable-error';
+import { User } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { Notes, UserNotePinings, Users } from '@/models/index';
+import { UserNotePining } from '@/models/entities/user-note-pining';
+import { genId } from '@/misc/gen-id';
+import { deliverToFollowers } from '@/remote/activitypub/deliver-manager';
+import { deliverToRelays } from '../relay';
/**
* 指定した投稿をピン留めします
diff --git a/src/services/i/update.ts b/src/services/i/update.ts
index 1fbaf40df1..f700d9b48b 100644
--- a/src/services/i/update.ts
+++ b/src/services/i/update.ts
@@ -1,10 +1,10 @@
-import renderUpdate from '@/remote/activitypub/renderer/update.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import { Users } from '@/models/index.js';
-import { User } from '@/models/entities/user.js';
-import { renderPerson } from '@/remote/activitypub/renderer/person.js';
-import { deliverToFollowers } from '@/remote/activitypub/deliver-manager.js';
-import { deliverToRelays } from '../relay.js';
+import renderUpdate from '@/remote/activitypub/renderer/update';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { Users } from '@/models/index';
+import { User } from '@/models/entities/user';
+import { renderPerson } from '@/remote/activitypub/renderer/person';
+import { deliverToFollowers } from '@/remote/activitypub/deliver-manager';
+import { deliverToRelays } from '../relay';
export async function publishToFollowers(userId: User['id']) {
const user = await Users.findOne(userId);
diff --git a/src/services/insert-moderation-log.ts b/src/services/insert-moderation-log.ts
index 1d8fe9a9d7..00397652ee 100644
--- a/src/services/insert-moderation-log.ts
+++ b/src/services/insert-moderation-log.ts
@@ -1,6 +1,6 @@
-import { ModerationLogs } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { User } from '@/models/entities/user.js';
+import { ModerationLogs } from '@/models/index';
+import { genId } from '@/misc/gen-id';
+import { User } from '@/models/entities/user';
export async function insertModerationLog(moderator: { id: User['id'] }, type: string, info?: Record<string, any>) {
await ModerationLogs.insert({
diff --git a/src/services/instance-actor.ts b/src/services/instance-actor.ts
index 6a592363ed..b3625226c3 100644
--- a/src/services/instance-actor.ts
+++ b/src/services/instance-actor.ts
@@ -1,7 +1,7 @@
-import { createSystemUser } from './create-system-user.js';
-import { ILocalUser } from '@/models/entities/user.js';
-import { Users } from '@/models/index.js';
-import { Cache } from '@/misc/cache.js';
+import { createSystemUser } from './create-system-user';
+import { ILocalUser } from '@/models/entities/user';
+import { Users } from '@/models/index';
+import { Cache } from '@/misc/cache';
const ACTOR_USERNAME = 'instance.actor' as const;
diff --git a/src/services/logger.ts b/src/services/logger.ts
index ac74c13af9..032e43c9ca 100644
--- a/src/services/logger.ts
+++ b/src/services/logger.ts
@@ -2,11 +2,11 @@ import * as cluster from 'cluster';
import * as os from 'os';
import * as chalk from 'chalk';
import * as dateformat from 'dateformat';
-import { program } from '../argv.js';
+import { program } from '../argv';
import { getRepository } from 'typeorm';
-import { Log } from '@/models/entities/log.js';
-import { genId } from '@/misc/gen-id.js';
-import config from '@/config/index.js';
+import { Log } from '@/models/entities/log';
+import { genId } from '@/misc/gen-id';
+import config from '@/config/index';
import SyslogPro from 'syslog-pro';
diff --git a/src/services/messages/create.ts b/src/services/messages/create.ts
index c6430f07be..948b6726b9 100644
--- a/src/services/messages/create.ts
+++ b/src/services/messages/create.ts
@@ -1,17 +1,17 @@
-import { User } from '@/models/entities/user.js';
-import { UserGroup } from '@/models/entities/user-group.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { MessagingMessages, UserGroupJoinings, Mutings, Users } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { MessagingMessage } from '@/models/entities/messaging-message.js';
-import { publishMessagingStream, publishMessagingIndexStream, publishMainStream, publishGroupMessagingStream } from '@/services/stream.js';
-import pushNotification from '../push-notification.js';
+import { User } from '@/models/entities/user';
+import { UserGroup } from '@/models/entities/user-group';
+import { DriveFile } from '@/models/entities/drive-file';
+import { MessagingMessages, UserGroupJoinings, Mutings, Users } from '@/models/index';
+import { genId } from '@/misc/gen-id';
+import { MessagingMessage } from '@/models/entities/messaging-message';
+import { publishMessagingStream, publishMessagingIndexStream, publishMainStream, publishGroupMessagingStream } from '@/services/stream';
+import pushNotification from '../push-notification';
import { Not } from 'typeorm';
-import { Note } from '@/models/entities/note.js';
-import renderNote from '@/remote/activitypub/renderer/note.js';
-import renderCreate from '@/remote/activitypub/renderer/create.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import { deliver } from '@/queue/index.js';
+import { Note } from '@/models/entities/note';
+import renderNote from '@/remote/activitypub/renderer/note';
+import renderCreate from '@/remote/activitypub/renderer/create';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { deliver } from '@/queue/index';
export async function createMessage(user: { id: User['id']; host: User['host']; }, recipientUser: User | undefined, recipientGroup: UserGroup | undefined, text: string | undefined, file: DriveFile | null, uri?: string) {
const message = {
diff --git a/src/services/messages/delete.ts b/src/services/messages/delete.ts
index 82eb6cb21c..5c299c9a50 100644
--- a/src/services/messages/delete.ts
+++ b/src/services/messages/delete.ts
@@ -1,11 +1,11 @@
-import config from '@/config/index.js';
-import { MessagingMessages, Users } from '@/models/index.js';
-import { MessagingMessage } from '@/models/entities/messaging-message.js';
-import { publishGroupMessagingStream, publishMessagingStream } from '@/services/stream.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderDelete from '@/remote/activitypub/renderer/delete.js';
-import renderTombstone from '@/remote/activitypub/renderer/tombstone.js';
-import { deliver } from '@/queue/index.js';
+import config from '@/config/index';
+import { MessagingMessages, Users } from '@/models/index';
+import { MessagingMessage } from '@/models/entities/messaging-message';
+import { publishGroupMessagingStream, publishMessagingStream } from '@/services/stream';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderDelete from '@/remote/activitypub/renderer/delete';
+import renderTombstone from '@/remote/activitypub/renderer/tombstone';
+import { deliver } from '@/queue/index';
export async function deleteMessage(message: MessagingMessage) {
await MessagingMessages.delete(message.id);
diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index d89663c784..56cdec4a51 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -1,39 +1,39 @@
import * as mfm from 'mfm-js';
-import es from '../../db/elasticsearch.js';
-import { publishMainStream, publishNotesStream } from '@/services/stream.js';
-import DeliverManager from '@/remote/activitypub/deliver-manager.js';
-import renderNote from '@/remote/activitypub/renderer/note.js';
-import renderCreate from '@/remote/activitypub/renderer/create.js';
-import renderAnnounce from '@/remote/activitypub/renderer/announce.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import { resolveUser } from '@/remote/resolve-user.js';
-import config from '@/config/index.js';
-import { updateHashtags } from '../update-hashtag.js';
-import { concat } from '../../prelude/array.js';
-import insertNoteUnread from './unread.js';
-import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc.js';
-import { extractMentions } from '@/misc/extract-mentions.js';
-import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mfm.js';
-import { extractHashtags } from '@/misc/extract-hashtags.js';
-import { Note, IMentionedRemoteUsers } from '@/models/entities/note.js';
-import { Mutings, Users, NoteWatchings, Notes, Instances, UserProfiles, Antennas, Followings, MutedNotes, Channels, ChannelFollowings, Blockings } from '@/models/index.js';
-import { DriveFile } from '@/models/entities/drive-file.js';
-import { App } from '@/models/entities/app.js';
+import es from '../../db/elasticsearch';
+import { publishMainStream, publishNotesStream } from '@/services/stream';
+import DeliverManager from '@/remote/activitypub/deliver-manager';
+import renderNote from '@/remote/activitypub/renderer/note';
+import renderCreate from '@/remote/activitypub/renderer/create';
+import renderAnnounce from '@/remote/activitypub/renderer/announce';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { resolveUser } from '@/remote/resolve-user';
+import config from '@/config/index';
+import { updateHashtags } from '../update-hashtag';
+import { concat } from '../../prelude/array';
+import insertNoteUnread from './unread';
+import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc';
+import { extractMentions } from '@/misc/extract-mentions';
+import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mfm';
+import { extractHashtags } from '@/misc/extract-hashtags';
+import { Note, IMentionedRemoteUsers } from '@/models/entities/note';
+import { Mutings, Users, NoteWatchings, Notes, Instances, UserProfiles, Antennas, Followings, MutedNotes, Channels, ChannelFollowings, Blockings } from '@/models/index';
+import { DriveFile } from '@/models/entities/drive-file';
+import { App } from '@/models/entities/app';
import { Not, getConnection, In } from 'typeorm';
-import { User, ILocalUser, IRemoteUser } from '@/models/entities/user.js';
-import { genId } from '@/misc/gen-id.js';
-import { notesChart, perUserNotesChart, activeUsersChart, instanceChart } from '@/services/chart/index.js';
-import { Poll, IPoll } from '@/models/entities/poll.js';
-import { createNotification } from '../create-notification.js';
-import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
-import { checkHitAntenna } from '@/misc/check-hit-antenna.js';
-import { checkWordMute } from '@/misc/check-word-mute.js';
-import { addNoteToAntenna } from '../add-note-to-antenna.js';
-import { countSameRenotes } from '@/misc/count-same-renotes.js';
-import { deliverToRelays } from '../relay.js';
-import { Channel } from '@/models/entities/channel.js';
-import { normalizeForSearch } from '@/misc/normalize-for-search.js';
-import { getAntennas } from '@/misc/antenna-cache.js';
+import { User, ILocalUser, IRemoteUser } from '@/models/entities/user';
+import { genId } from '@/misc/gen-id';
+import { notesChart, perUserNotesChart, activeUsersChart, instanceChart } from '@/services/chart/index';
+import { Poll, IPoll } from '@/models/entities/poll';
+import { createNotification } from '../create-notification';
+import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error';
+import { checkHitAntenna } from '@/misc/check-hit-antenna';
+import { checkWordMute } from '@/misc/check-word-mute';
+import { addNoteToAntenna } from '../add-note-to-antenna';
+import { countSameRenotes } from '@/misc/count-same-renotes';
+import { deliverToRelays } from '../relay';
+import { Channel } from '@/models/entities/channel';
+import { normalizeForSearch } from '@/misc/normalize-for-search';
+import { getAntennas } from '@/misc/antenna-cache';
type NotificationType = 'reply' | 'renote' | 'quote' | 'mention';
diff --git a/src/services/note/delete.ts b/src/services/note/delete.ts
index 353cd88034..a14d84e7b2 100644
--- a/src/services/note/delete.ts
+++ b/src/services/note/delete.ts
@@ -1,18 +1,18 @@
-import { publishNoteStream } from '@/services/stream.js';
-import renderDelete from '@/remote/activitypub/renderer/delete.js';
-import renderAnnounce from '@/remote/activitypub/renderer/announce.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderTombstone from '@/remote/activitypub/renderer/tombstone.js';
-import config from '@/config/index.js';
-import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc.js';
-import { User, ILocalUser, IRemoteUser } from '@/models/entities/user.js';
-import { Note, IMentionedRemoteUsers } from '@/models/entities/note.js';
-import { Notes, Users, Instances } from '@/models/index.js';
-import { notesChart, perUserNotesChart, instanceChart } from '@/services/chart/index.js';
-import { deliverToFollowers, deliverToUser } from '@/remote/activitypub/deliver-manager.js';
-import { countSameRenotes } from '@/misc/count-same-renotes.js';
-import { deliverToRelays } from '../relay.js';
+import { publishNoteStream } from '@/services/stream';
+import renderDelete from '@/remote/activitypub/renderer/delete';
+import renderAnnounce from '@/remote/activitypub/renderer/announce';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderTombstone from '@/remote/activitypub/renderer/tombstone';
+import config from '@/config/index';
+import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc';
+import { User, ILocalUser, IRemoteUser } from '@/models/entities/user';
+import { Note, IMentionedRemoteUsers } from '@/models/entities/note';
+import { Notes, Users, Instances } from '@/models/index';
+import { notesChart, perUserNotesChart, instanceChart } from '@/services/chart/index';
+import { deliverToFollowers, deliverToUser } from '@/remote/activitypub/deliver-manager';
+import { countSameRenotes } from '@/misc/count-same-renotes';
+import { deliverToRelays } from '../relay';
import { Brackets, In } from 'typeorm';
/**
diff --git a/src/services/note/polls/update.ts b/src/services/note/polls/update.ts
index 88baf16b64..a22ce8e373 100644
--- a/src/services/note/polls/update.ts
+++ b/src/services/note/polls/update.ts
@@ -1,10 +1,10 @@
-import renderUpdate from '@/remote/activitypub/renderer/update.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import renderNote from '@/remote/activitypub/renderer/note.js';
-import { Users, Notes } from '@/models/index.js';
-import { Note } from '@/models/entities/note.js';
-import { deliverToFollowers } from '@/remote/activitypub/deliver-manager.js';
-import { deliverToRelays } from '../../relay.js';
+import renderUpdate from '@/remote/activitypub/renderer/update';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderNote from '@/remote/activitypub/renderer/note';
+import { Users, Notes } from '@/models/index';
+import { Note } from '@/models/entities/note';
+import { deliverToFollowers } from '@/remote/activitypub/deliver-manager';
+import { deliverToRelays } from '../../relay';
export async function deliverQuestionUpdate(noteId: Note['id']) {
const note = await Notes.findOne(noteId);
diff --git a/src/services/note/polls/vote.ts b/src/services/note/polls/vote.ts
index 36e06cb6a2..886a09dde9 100644
--- a/src/services/note/polls/vote.ts
+++ b/src/services/note/polls/vote.ts
@@ -1,10 +1,10 @@
-import { publishNoteStream } from '@/services/stream.js';
-import { User } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { PollVotes, NoteWatchings, Polls, Blockings } from '@/models/index.js';
+import { publishNoteStream } from '@/services/stream';
+import { User } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { PollVotes, NoteWatchings, Polls, Blockings } from '@/models/index';
import { Not } from 'typeorm';
-import { genId } from '@/misc/gen-id.js';
-import { createNotification } from '../../create-notification.js';
+import { genId } from '@/misc/gen-id';
+import { createNotification } from '../../create-notification';
export default async function(user: User, note: Note, choice: number) {
const poll = await Polls.findOne(note.id);
diff --git a/src/services/note/reaction/create.ts b/src/services/note/reaction/create.ts
index f2dd273c42..308bd4dff7 100644
--- a/src/services/note/reaction/create.ts
+++ b/src/services/note/reaction/create.ts
@@ -1,19 +1,19 @@
-import { publishNoteStream } from '@/services/stream.js';
-import { renderLike } from '@/remote/activitypub/renderer/like.js';
-import DeliverManager from '@/remote/activitypub/deliver-manager.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import { toDbReaction, decodeReaction } from '@/misc/reaction-lib.js';
-import { User, IRemoteUser } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { NoteReactions, Users, NoteWatchings, Notes, Emojis, Blockings } from '@/models/index.js';
+import { publishNoteStream } from '@/services/stream';
+import { renderLike } from '@/remote/activitypub/renderer/like';
+import DeliverManager from '@/remote/activitypub/deliver-manager';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { toDbReaction, decodeReaction } from '@/misc/reaction-lib';
+import { User, IRemoteUser } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { NoteReactions, Users, NoteWatchings, Notes, Emojis, Blockings } from '@/models/index';
import { Not } from 'typeorm';
-import { perUserReactionsChart } from '@/services/chart/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { createNotification } from '../../create-notification.js';
-import deleteReaction from './delete.js';
-import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
-import { NoteReaction } from '@/models/entities/note-reaction.js';
-import { IdentifiableError } from '@/misc/identifiable-error.js';
+import { perUserReactionsChart } from '@/services/chart/index';
+import { genId } from '@/misc/gen-id';
+import { createNotification } from '../../create-notification';
+import deleteReaction from './delete';
+import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error';
+import { NoteReaction } from '@/models/entities/note-reaction';
+import { IdentifiableError } from '@/misc/identifiable-error';
export default async (user: { id: User['id']; host: User['host']; }, note: Note, reaction?: string) => {
// Check blocking
diff --git a/src/services/note/reaction/delete.ts b/src/services/note/reaction/delete.ts
index 86e7b640ee..062dbad6f1 100644
--- a/src/services/note/reaction/delete.ts
+++ b/src/services/note/reaction/delete.ts
@@ -1,13 +1,13 @@
-import { publishNoteStream } from '@/services/stream.js';
-import { renderLike } from '@/remote/activitypub/renderer/like.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import DeliverManager from '@/remote/activitypub/deliver-manager.js';
-import { IdentifiableError } from '@/misc/identifiable-error.js';
-import { User, IRemoteUser } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { NoteReactions, Users, Notes } from '@/models/index.js';
-import { decodeReaction } from '@/misc/reaction-lib.js';
+import { publishNoteStream } from '@/services/stream';
+import { renderLike } from '@/remote/activitypub/renderer/like';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import DeliverManager from '@/remote/activitypub/deliver-manager';
+import { IdentifiableError } from '@/misc/identifiable-error';
+import { User, IRemoteUser } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { NoteReactions, Users, Notes } from '@/models/index';
+import { decodeReaction } from '@/misc/reaction-lib';
export default async (user: { id: User['id']; host: User['host']; }, note: Note) => {
// if already unreacted
diff --git a/src/services/note/read.ts b/src/services/note/read.ts
index ac450af78b..2e221d553a 100644
--- a/src/services/note/read.ts
+++ b/src/services/note/read.ts
@@ -1,13 +1,13 @@
-import { publishMainStream } from '@/services/stream.js';
-import { Note } from '@/models/entities/note.js';
-import { User } from '@/models/entities/user.js';
-import { NoteUnreads, AntennaNotes, Users, Followings, ChannelFollowings } from '@/models/index.js';
+import { publishMainStream } from '@/services/stream';
+import { Note } from '@/models/entities/note';
+import { User } from '@/models/entities/user';
+import { NoteUnreads, AntennaNotes, Users, Followings, ChannelFollowings } from '@/models/index';
import { Not, IsNull, In } from 'typeorm';
-import { Channel } from '@/models/entities/channel.js';
-import { checkHitAntenna } from '@/misc/check-hit-antenna.js';
-import { getAntennas } from '@/misc/antenna-cache.js';
-import { PackedNote } from '@/models/repositories/note.js';
-import { readNotificationByQuery } from '@/server/api/common/read-notification.js';
+import { Channel } from '@/models/entities/channel';
+import { checkHitAntenna } from '@/misc/check-hit-antenna';
+import { getAntennas } from '@/misc/antenna-cache';
+import { PackedNote } from '@/models/repositories/note';
+import { readNotificationByQuery } from '@/server/api/common/read-notification';
/**
* Mark notes as read
diff --git a/src/services/note/unread.ts b/src/services/note/unread.ts
index b68ff7974f..4a9df6083c 100644
--- a/src/services/note/unread.ts
+++ b/src/services/note/unread.ts
@@ -1,8 +1,8 @@
-import { Note } from '@/models/entities/note.js';
-import { publishMainStream } from '@/services/stream.js';
-import { User } from '@/models/entities/user.js';
-import { Mutings, NoteUnreads } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
+import { Note } from '@/models/entities/note';
+import { publishMainStream } from '@/services/stream';
+import { User } from '@/models/entities/user';
+import { Mutings, NoteUnreads } from '@/models/index';
+import { genId } from '@/misc/gen-id';
export default async function(userId: User['id'], note: Note, params: {
// NOTE: isSpecifiedがtrueならisMentionedは必ずfalse
diff --git a/src/services/note/unwatch.ts b/src/services/note/unwatch.ts
index 32da2cf148..8ea02fe33c 100644
--- a/src/services/note/unwatch.ts
+++ b/src/services/note/unwatch.ts
@@ -1,6 +1,6 @@
-import { User } from '@/models/entities/user.js';
-import { NoteWatchings } from '@/models/index.js';
-import { Note } from '@/models/entities/note.js';
+import { User } from '@/models/entities/user';
+import { NoteWatchings } from '@/models/index';
+import { Note } from '@/models/entities/note';
export default async (me: User['id'], note: Note) => {
await NoteWatchings.delete({
diff --git a/src/services/note/watch.ts b/src/services/note/watch.ts
index 12d97c8458..e457191d99 100644
--- a/src/services/note/watch.ts
+++ b/src/services/note/watch.ts
@@ -1,8 +1,8 @@
-import { User } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { NoteWatchings } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { NoteWatching } from '@/models/entities/note-watching.js';
+import { User } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { NoteWatchings } from '@/models/index';
+import { genId } from '@/misc/gen-id';
+import { NoteWatching } from '@/models/entities/note-watching';
export default async (me: User['id'], note: Note) => {
// 自分の投稿はwatchできない
diff --git a/src/services/push-notification.ts b/src/services/push-notification.ts
index bedfa0533d..5bd7499692 100644
--- a/src/services/push-notification.ts
+++ b/src/services/push-notification.ts
@@ -1,9 +1,9 @@
import * as push from 'web-push';
-import config from '@/config/index.js';
-import { SwSubscriptions } from '@/models/index.js';
-import { fetchMeta } from '@/misc/fetch-meta.js';
-import { PackedNotification } from '../models/repositories/notification.js';
-import { PackedMessagingMessage } from '../models/repositories/messaging-message.js';
+import config from '@/config/index';
+import { SwSubscriptions } from '@/models/index';
+import { fetchMeta } from '@/misc/fetch-meta';
+import { PackedNotification } from '../models/repositories/notification';
+import { PackedMessagingMessage } from '../models/repositories/messaging-message';
type notificationType = 'notification' | 'unreadMessagingMessage';
type notificationBody = PackedNotification | PackedMessagingMessage;
diff --git a/src/services/register-or-fetch-instance-doc.ts b/src/services/register-or-fetch-instance-doc.ts
index 0bbc9ab275..a548ab0497 100644
--- a/src/services/register-or-fetch-instance-doc.ts
+++ b/src/services/register-or-fetch-instance-doc.ts
@@ -1,9 +1,9 @@
-import { Instance } from '@/models/entities/instance.js';
-import { Instances } from '@/models/index.js';
-import { federationChart } from '@/services/chart/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { toPuny } from '@/misc/convert-host.js';
-import { Cache } from '@/misc/cache.js';
+import { Instance } from '@/models/entities/instance';
+import { Instances } from '@/models/index';
+import { federationChart } from '@/services/chart/index';
+import { genId } from '@/misc/gen-id';
+import { toPuny } from '@/misc/convert-host';
+import { Cache } from '@/misc/cache';
const cache = new Cache<Instance>(1000 * 60 * 60);
diff --git a/src/services/relay.ts b/src/services/relay.ts
index 8e0fa12fb3..04775524fa 100644
--- a/src/services/relay.ts
+++ b/src/services/relay.ts
@@ -1,11 +1,11 @@
-import { createSystemUser } from './create-system-user.js';
-import { renderFollowRelay } from '@/remote/activitypub/renderer/follow-relay.js';
-import { renderActivity, attachLdSignature } from '@/remote/activitypub/renderer/index.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import { deliver } from '@/queue/index.js';
-import { ILocalUser, User } from '@/models/entities/user.js';
-import { Users, Relays } from '@/models/index.js';
-import { genId } from '@/misc/gen-id.js';
+import { createSystemUser } from './create-system-user';
+import { renderFollowRelay } from '@/remote/activitypub/renderer/follow-relay';
+import { renderActivity, attachLdSignature } from '@/remote/activitypub/renderer/index';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import { deliver } from '@/queue/index';
+import { ILocalUser, User } from '@/models/entities/user';
+import { Users, Relays } from '@/models/index';
+import { genId } from '@/misc/gen-id';
const ACTOR_USERNAME = 'relay.actor' as const;
diff --git a/src/services/send-email-notification.ts b/src/services/send-email-notification.ts
index 18f5b76074..519d56a06b 100644
--- a/src/services/send-email-notification.ts
+++ b/src/services/send-email-notification.ts
@@ -1,9 +1,9 @@
-import { UserProfiles } from '@/models/index.js';
-import { User } from '@/models/entities/user.js';
-import { sendEmail } from './send-email.js';
-import * as locales from '../../locales/index.js';
-import { I18n } from '@/misc/i18n.js';
-import { getAcct } from '@/misc/acct.js';
+import { UserProfiles } from '@/models/index';
+import { User } from '@/models/entities/user';
+import { sendEmail } from './send-email';
+import * as locales from '../../locales/index';
+import { I18n } from '@/misc/i18n';
+import { getAcct } from '@/misc/acct';
// TODO: locale ファイルをクライアント用とサーバー用で分けたい
diff --git a/src/services/send-email.ts b/src/services/send-email.ts
index 135fb3d329..d24168ec46 100644
--- a/src/services/send-email.ts
+++ b/src/services/send-email.ts
@@ -1,7 +1,7 @@
import * as nodemailer from 'nodemailer';
-import { fetchMeta } from '@/misc/fetch-meta.js';
-import Logger from './logger.js';
-import config from '@/config/index.js';
+import { fetchMeta } from '@/misc/fetch-meta';
+import Logger from './logger';
+import config from '@/config/index';
export const logger = new Logger('email');
diff --git a/src/services/stream.ts b/src/services/stream.ts
index e334944533..4db1a77395 100644
--- a/src/services/stream.ts
+++ b/src/services/stream.ts
@@ -1,12 +1,12 @@
-import { redisClient } from '../db/redis.js';
-import { User } from '@/models/entities/user.js';
-import { Note } from '@/models/entities/note.js';
-import { UserList } from '@/models/entities/user-list.js';
-import { ReversiGame } from '@/models/entities/games/reversi/game.js';
-import { UserGroup } from '@/models/entities/user-group.js';
-import config from '@/config/index.js';
-import { Antenna } from '@/models/entities/antenna.js';
-import { Channel } from '@/models/entities/channel.js';
+import { redisClient } from '../db/redis';
+import { User } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { UserList } from '@/models/entities/user-list';
+import { ReversiGame } from '@/models/entities/games/reversi/game';
+import { UserGroup } from '@/models/entities/user-group';
+import config from '@/config/index';
+import { Antenna } from '@/models/entities/antenna';
+import { Channel } from '@/models/entities/channel';
class Publisher {
private publish = (channel: string, type: string | null, value?: any): void => {
diff --git a/src/services/suspend-user.ts b/src/services/suspend-user.ts
index 5ec639b1b8..55be63172f 100644
--- a/src/services/suspend-user.ts
+++ b/src/services/suspend-user.ts
@@ -1,9 +1,9 @@
-import renderDelete from '@/remote/activitypub/renderer/delete.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import { deliver } from '@/queue/index.js';
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
-import { Users, Followings } from '@/models/index.js';
+import renderDelete from '@/remote/activitypub/renderer/delete';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { deliver } from '@/queue/index';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
+import { Users, Followings } from '@/models/index';
import { Not, IsNull } from 'typeorm';
export async function doPostSuspend(user: { id: User['id']; host: User['host'] }) {
diff --git a/src/services/unsuspend-user.ts b/src/services/unsuspend-user.ts
index 3728e05392..bfffa036e5 100644
--- a/src/services/unsuspend-user.ts
+++ b/src/services/unsuspend-user.ts
@@ -1,10 +1,10 @@
-import renderDelete from '@/remote/activitypub/renderer/delete.js';
-import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import { renderActivity } from '@/remote/activitypub/renderer/index.js';
-import { deliver } from '@/queue/index.js';
-import config from '@/config/index.js';
-import { User } from '@/models/entities/user.js';
-import { Users, Followings } from '@/models/index.js';
+import renderDelete from '@/remote/activitypub/renderer/delete';
+import renderUndo from '@/remote/activitypub/renderer/undo';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { deliver } from '@/queue/index';
+import config from '@/config/index';
+import { User } from '@/models/entities/user';
+import { Users, Followings } from '@/models/index';
import { Not, IsNull } from 'typeorm';
export async function doPostUnsuspend(user: User) {
diff --git a/src/services/update-hashtag.ts b/src/services/update-hashtag.ts
index b6fb38bc5a..e8504f6ff0 100644
--- a/src/services/update-hashtag.ts
+++ b/src/services/update-hashtag.ts
@@ -1,9 +1,9 @@
-import { User } from '@/models/entities/user.js';
-import { Hashtags, Users } from '@/models/index.js';
-import { hashtagChart } from '@/services/chart/index.js';
-import { genId } from '@/misc/gen-id.js';
-import { Hashtag } from '@/models/entities/hashtag.js';
-import { normalizeForSearch } from '@/misc/normalize-for-search.js';
+import { User } from '@/models/entities/user';
+import { Hashtags, Users } from '@/models/index';
+import { hashtagChart } from '@/services/chart/index';
+import { genId } from '@/misc/gen-id';
+import { Hashtag } from '@/models/entities/hashtag';
+import { normalizeForSearch } from '@/misc/normalize-for-search';
export async function updateHashtags(user: { id: User['id']; host: User['host']; }, tags: string[]) {
for (const tag of tags) {
diff --git a/src/services/user-list/push.ts b/src/services/user-list/push.ts
index 01e9243c12..29d561b519 100644
--- a/src/services/user-list/push.ts
+++ b/src/services/user-list/push.ts
@@ -1,11 +1,11 @@
-import { publishUserListStream } from '@/services/stream.js';
-import { User } from '@/models/entities/user.js';
-import { UserList } from '@/models/entities/user-list.js';
-import { UserListJoinings, Users } from '@/models/index.js';
-import { UserListJoining } from '@/models/entities/user-list-joining.js';
-import { genId } from '@/misc/gen-id.js';
-import { fetchProxyAccount } from '@/misc/fetch-proxy-account.js';
-import createFollowing from '../following/create.js';
+import { publishUserListStream } from '@/services/stream';
+import { User } from '@/models/entities/user';
+import { UserList } from '@/models/entities/user-list';
+import { UserListJoinings, Users } from '@/models/index';
+import { UserListJoining } from '@/models/entities/user-list-joining';
+import { genId } from '@/misc/gen-id';
+import { fetchProxyAccount } from '@/misc/fetch-proxy-account';
+import createFollowing from '../following/create';
export async function pushUserToUserList(target: User, list: UserList) {
await UserListJoinings.insert({