refactor: Use ESM (#8358)

* wip

* wip

* fix

* clean up

* Update tsconfig.json

* Update activitypub.ts

* wip
This commit is contained in:
syuilo
2022-02-27 11:07:39 +09:00
committed by GitHub
parent 0a882471f3
commit d071d18dd7
737 changed files with 4135 additions and 3678 deletions

View File

@ -1,4 +1,4 @@
import * as Bull from 'bull';
import Bull from 'bull';
export function getJobInfo(job: Bull.Job, increment = false) {
const age = Date.now() - job.timestamp;

View File

@ -1,19 +1,19 @@
import * as httpSignature from 'http-signature';
import config from '@/config/index';
import { envOption } from '../env';
import config from '@/config/index.js';
import { envOption } from '../env.js';
import processDeliver from './processors/deliver';
import processInbox from './processors/inbox';
import processDb from './processors/db/index';
import processObjectStorage from './processors/object-storage/index';
import processSystemQueue from './processors/system/index';
import { queueLogger } from './logger';
import { DriveFile } from '@/models/entities/drive-file';
import { getJobInfo } from './get-job-info';
import { systemQueue, dbQueue, deliverQueue, inboxQueue, objectStorageQueue } from './queues';
import { ThinUser } from './types';
import { IActivity } from '@/remote/activitypub/type';
import processDeliver from './processors/deliver.js';
import processInbox from './processors/inbox.js';
import processDb from './processors/db/index.js';
import processObjectStorage from './processors/object-storage/index.js';
import processSystemQueue from './processors/system/index.js';
import { queueLogger } from './logger.js';
import { DriveFile } from '@/models/entities/drive-file.js';
import { getJobInfo } from './get-job-info.js';
import { systemQueue, dbQueue, deliverQueue, inboxQueue, objectStorageQueue } from './queues.js';
import { ThinUser } from './types.js';
import { IActivity } from '@/remote/activitypub/type.js';
function renderError(e: Error): any {
return {

View File

@ -1,5 +1,5 @@
import * as Bull from 'bull';
import config from '@/config/index';
import Bull from 'bull';
import config from '@/config/index.js';
export function initialize<T>(name: string, limitPerSec = -1) {
return new Bull<T>(name, {

View File

@ -1,3 +1,3 @@
import Logger from '@/services/logger';
import Logger from '@/services/logger.js';
export const queueLogger = new Logger('queue', 'orange');

View File

@ -1,12 +1,12 @@
import * as Bull from 'bull';
import { queueLogger } from '../../logger';
import { DriveFiles, Notes, UserProfiles, Users } from '@/models/index';
import { DbUserDeleteJobData } from '@/queue/types';
import { Note } from '@/models/entities/note';
import { DriveFile } from '@/models/entities/drive-file';
import Bull from 'bull';
import { queueLogger } from '../../logger.js';
import { DriveFiles, Notes, UserProfiles, Users } from '@/models/index.js';
import { DbUserDeleteJobData } from '@/queue/types.js';
import { Note } from '@/models/entities/note.js';
import { DriveFile } from '@/models/entities/drive-file.js';
import { MoreThan } from 'typeorm';
import { deleteFileSync } from '@/services/drive/delete-file';
import { sendEmail } from '@/services/send-email';
import { deleteFileSync } from '@/services/drive/delete-file.js';
import { sendEmail } from '@/services/send-email.js';
const logger = queueLogger.createSubLogger('delete-account');

View File

@ -1,10 +1,10 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import { deleteFileSync } from '@/services/drive/delete-file';
import { Users, DriveFiles } from '@/models/index';
import { queueLogger } from '../../logger.js';
import { deleteFileSync } from '@/services/drive/delete-file.js';
import { Users, DriveFiles } from '@/models/index.js';
import { MoreThan } from 'typeorm';
import { DbUserJobData } from '@/queue/types';
import { DbUserJobData } from '@/queue/types.js';
const logger = queueLogger.createSubLogger('delete-drive-files');

View File

@ -1,14 +1,14 @@
import * as Bull from 'bull';
import Bull from 'bull';
import * as tmp from 'tmp';
import * as fs from 'fs';
import * as fs from 'node:fs';
import { queueLogger } from '../../logger';
import { addFile } from '@/services/drive/add-file';
import { queueLogger } from '../../logger.js';
import { addFile } from '@/services/drive/add-file.js';
import { format as dateFormat } from 'date-fns';
import { getFullApAccount } from '@/misc/convert-host';
import { Users, Blockings } from '@/models/index';
import { getFullApAccount } from '@/misc/convert-host.js';
import { Users, Blockings } from '@/models/index.js';
import { MoreThan } from 'typeorm';
import { DbUserJobData } from '@/queue/types';
import { DbUserJobData } from '@/queue/types.js';
const logger = queueLogger.createSubLogger('export-blocking');

View File

@ -1,17 +1,17 @@
import * as Bull from 'bull';
import Bull from 'bull';
import * as tmp from 'tmp';
import * as fs from 'fs';
import * as fs from 'node:fs';
import { ulid } from 'ulid';
const mime = require('mime-types');
const archiver = require('archiver');
import { queueLogger } from '../../logger';
import { addFile } from '@/services/drive/add-file';
import mime from 'mime-types';
import archiver from 'archiver';
import { queueLogger } from '../../logger.js';
import { addFile } from '@/services/drive/add-file.js';
import { format as dateFormat } from 'date-fns';
import { Users, Emojis } from '@/models/index';
import { } from '@/queue/types';
import { downloadUrl } from '@/misc/download-url';
import config from '@/config/index';
import { Users, Emojis } from '@/models/index.js';
import { } from '@/queue/types.js';
import { downloadUrl } from '@/misc/download-url.js';
import config from '@/config/index.js';
const logger = queueLogger.createSubLogger('export-custom-emojis');

View File

@ -1,15 +1,15 @@
import * as Bull from 'bull';
import Bull from 'bull';
import * as tmp from 'tmp';
import * as fs from 'fs';
import * as fs from 'node:fs';
import { queueLogger } from '../../logger';
import { addFile } from '@/services/drive/add-file';
import { queueLogger } from '../../logger.js';
import { addFile } from '@/services/drive/add-file.js';
import { format as dateFormat } from 'date-fns';
import { getFullApAccount } from '@/misc/convert-host';
import { Users, Followings, Mutings } from '@/models/index';
import { getFullApAccount } from '@/misc/convert-host.js';
import { Users, Followings, Mutings } from '@/models/index.js';
import { In, MoreThan, Not } from 'typeorm';
import { DbUserJobData } from '@/queue/types';
import { Following } from '@/models/entities/following';
import { DbUserJobData } from '@/queue/types.js';
import { Following } from '@/models/entities/following.js';
const logger = queueLogger.createSubLogger('export-following');

View File

@ -1,14 +1,14 @@
import * as Bull from 'bull';
import Bull from 'bull';
import * as tmp from 'tmp';
import * as fs from 'fs';
import * as fs from 'node:fs';
import { queueLogger } from '../../logger';
import { addFile } from '@/services/drive/add-file';
import { queueLogger } from '../../logger.js';
import { addFile } from '@/services/drive/add-file.js';
import { format as dateFormat } from 'date-fns';
import { getFullApAccount } from '@/misc/convert-host';
import { Users, Mutings } from '@/models/index';
import { getFullApAccount } from '@/misc/convert-host.js';
import { Users, Mutings } from '@/models/index.js';
import { MoreThan } from 'typeorm';
import { DbUserJobData } from '@/queue/types';
import { DbUserJobData } from '@/queue/types.js';
const logger = queueLogger.createSubLogger('export-mute');

View File

@ -1,15 +1,15 @@
import * as Bull from 'bull';
import Bull from 'bull';
import * as tmp from 'tmp';
import * as fs from 'fs';
import * as fs from 'node:fs';
import { queueLogger } from '../../logger';
import { addFile } from '@/services/drive/add-file';
import { queueLogger } from '../../logger.js';
import { addFile } from '@/services/drive/add-file.js';
import { format as dateFormat } from 'date-fns';
import { Users, Notes, Polls } from '@/models/index';
import { Users, Notes, Polls } from '@/models/index.js';
import { MoreThan } from 'typeorm';
import { Note } from '@/models/entities/note';
import { Poll } from '@/models/entities/poll';
import { DbUserJobData } from '@/queue/types';
import { Note } from '@/models/entities/note.js';
import { Poll } from '@/models/entities/poll.js';
import { DbUserJobData } from '@/queue/types.js';
const logger = queueLogger.createSubLogger('export-notes');

View File

@ -1,14 +1,14 @@
import * as Bull from 'bull';
import Bull from 'bull';
import * as tmp from 'tmp';
import * as fs from 'fs';
import * as fs from 'node:fs';
import { queueLogger } from '../../logger';
import { addFile } from '@/services/drive/add-file';
import { queueLogger } from '../../logger.js';
import { addFile } from '@/services/drive/add-file.js';
import { format as dateFormat } from 'date-fns';
import { getFullApAccount } from '@/misc/convert-host';
import { Users, UserLists, UserListJoinings } from '@/models/index';
import { getFullApAccount } from '@/misc/convert-host.js';
import { Users, UserLists, UserListJoinings } from '@/models/index.js';
import { In } from 'typeorm';
import { DbUserJobData } from '@/queue/types';
import { DbUserJobData } from '@/queue/types.js';
const logger = queueLogger.createSubLogger('export-user-lists');

View File

@ -1,13 +1,13 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import * as Acct from 'misskey-js/built/acct';
import { resolveUser } from '@/remote/resolve-user';
import { downloadTextFile } from '@/misc/download-text-file';
import { isSelfHost, toPuny } from '@/misc/convert-host';
import { Users, DriveFiles, Blockings } from '@/models/index';
import { DbUserImportJobData } from '@/queue/types';
import block from '@/services/blocking/create';
import { queueLogger } from '../../logger.js';
import * as Acct from '@/misc/acct.js';
import { resolveUser } from '@/remote/resolve-user.js';
import { downloadTextFile } from '@/misc/download-text-file.js';
import { isSelfHost, toPuny } from '@/misc/convert-host.js';
import { Users, DriveFiles, Blockings } from '@/models/index.js';
import { DbUserImportJobData } from '@/queue/types.js';
import block from '@/services/blocking/create.js';
const logger = queueLogger.createSubLogger('import-blocking');

View File

@ -1,15 +1,15 @@
import * as Bull from 'bull';
import Bull from 'bull';
import * as tmp from 'tmp';
import * as fs from 'fs';
const unzipper = require('unzipper');
import * as fs from 'node:fs';
import unzipper from 'unzipper';
import { getConnection } from 'typeorm';
import { queueLogger } from '../../logger';
import { downloadUrl } from '@/misc/download-url';
import { DriveFiles, Emojis } from '@/models/index';
import { DbUserImportJobData } from '@/queue/types';
import { addFile } from '@/services/drive/add-file';
import { genId } from '@/misc/gen-id';
import { queueLogger } from '../../logger.js';
import { downloadUrl } from '@/misc/download-url.js';
import { DriveFiles, Emojis } from '@/models/index.js';
import { DbUserImportJobData } from '@/queue/types.js';
import { addFile } from '@/services/drive/add-file.js';
import { genId } from '@/misc/gen-id.js';
const logger = queueLogger.createSubLogger('import-custom-emojis');

View File

@ -1,13 +1,13 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import follow from '@/services/following/create';
import * as Acct from 'misskey-js/built/acct';
import { resolveUser } from '@/remote/resolve-user';
import { downloadTextFile } from '@/misc/download-text-file';
import { isSelfHost, toPuny } from '@/misc/convert-host';
import { Users, DriveFiles } from '@/models/index';
import { DbUserImportJobData } from '@/queue/types';
import { queueLogger } from '../../logger.js';
import follow from '@/services/following/create.js';
import * as Acct from '@/misc/acct.js';
import { resolveUser } from '@/remote/resolve-user.js';
import { downloadTextFile } from '@/misc/download-text-file.js';
import { isSelfHost, toPuny } from '@/misc/convert-host.js';
import { Users, DriveFiles } from '@/models/index.js';
import { DbUserImportJobData } from '@/queue/types.js';
const logger = queueLogger.createSubLogger('import-following');

View File

@ -1,14 +1,14 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import * as Acct from 'misskey-js/built/acct';
import { resolveUser } from '@/remote/resolve-user';
import { downloadTextFile } from '@/misc/download-text-file';
import { isSelfHost, toPuny } from '@/misc/convert-host';
import { Users, DriveFiles, Mutings } from '@/models/index';
import { DbUserImportJobData } from '@/queue/types';
import { User } from '@/models/entities/user';
import { genId } from '@/misc/gen-id';
import { queueLogger } from '../../logger.js';
import * as Acct from '@/misc/acct.js';
import { resolveUser } from '@/remote/resolve-user.js';
import { downloadTextFile } from '@/misc/download-text-file.js';
import { isSelfHost, toPuny } from '@/misc/convert-host.js';
import { Users, DriveFiles, Mutings } from '@/models/index.js';
import { DbUserImportJobData } from '@/queue/types.js';
import { User } from '@/models/entities/user.js';
import { genId } from '@/misc/gen-id.js';
const logger = queueLogger.createSubLogger('import-muting');

View File

@ -1,14 +1,14 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import * as Acct from 'misskey-js/built/acct';
import { resolveUser } from '@/remote/resolve-user';
import { pushUserToUserList } from '@/services/user-list/push';
import { downloadTextFile } from '@/misc/download-text-file';
import { isSelfHost, toPuny } from '@/misc/convert-host';
import { DriveFiles, Users, UserLists, UserListJoinings } from '@/models/index';
import { genId } from '@/misc/gen-id';
import { DbUserImportJobData } from '@/queue/types';
import { queueLogger } from '../../logger.js';
import * as Acct from '@/misc/acct.js';
import { resolveUser } from '@/remote/resolve-user.js';
import { pushUserToUserList } from '@/services/user-list/push.js';
import { downloadTextFile } from '@/misc/download-text-file.js';
import { isSelfHost, toPuny } from '@/misc/convert-host.js';
import { DriveFiles, Users, UserLists, UserListJoinings } from '@/models/index.js';
import { genId } from '@/misc/gen-id.js';
import { DbUserImportJobData } from '@/queue/types.js';
const logger = queueLogger.createSubLogger('import-user-lists');

View File

@ -1,18 +1,18 @@
import * as Bull from 'bull';
import { DbJobData } from '@/queue/types';
import { deleteDriveFiles } from './delete-drive-files';
import { exportCustomEmojis } from './export-custom-emojis';
import { exportNotes } from './export-notes';
import { exportFollowing } from './export-following';
import { exportMute } from './export-mute';
import { exportBlocking } from './export-blocking';
import { exportUserLists } from './export-user-lists';
import { importFollowing } from './import-following';
import { importUserLists } from './import-user-lists';
import { deleteAccount } from './delete-account';
import { importMuting } from './import-muting';
import { importBlocking } from './import-blocking';
import { importCustomEmojis } from './import-custom-emojis';
import Bull from 'bull';
import { DbJobData } from '@/queue/types.js';
import { deleteDriveFiles } from './delete-drive-files.js';
import { exportCustomEmojis } from './export-custom-emojis.js';
import { exportNotes } from './export-notes.js';
import { exportFollowing } from './export-following.js';
import { exportMute } from './export-mute.js';
import { exportBlocking } from './export-blocking.js';
import { exportUserLists } from './export-user-lists.js';
import { importFollowing } from './import-following.js';
import { importUserLists } from './import-user-lists.js';
import { deleteAccount } from './delete-account.js';
import { importMuting } from './import-muting.js';
import { importBlocking } from './import-blocking.js';
import { importCustomEmojis } from './import-custom-emojis.js';
const jobs = {
deleteDriveFiles,

View File

@ -1,17 +1,17 @@
import { URL } from 'url';
import * as Bull from 'bull';
import request from '@/remote/activitypub/request';
import { registerOrFetchInstanceDoc } from '@/services/register-or-fetch-instance-doc';
import Logger from '@/services/logger';
import { Instances } from '@/models/index';
import { apRequestChart, federationChart, instanceChart } from '@/services/chart/index';
import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata';
import { fetchMeta } from '@/misc/fetch-meta';
import { toPuny } from '@/misc/convert-host';
import { Cache } from '@/misc/cache';
import { Instance } from '@/models/entities/instance';
import { DeliverJobData } from '../types';
import { StatusError } from '@/misc/fetch';
import { URL } from 'node:url';
import Bull from 'bull';
import request from '@/remote/activitypub/request.js';
import { registerOrFetchInstanceDoc } from '@/services/register-or-fetch-instance-doc.js';
import Logger from '@/services/logger.js';
import { Instances } from '@/models/index.js';
import { apRequestChart, federationChart, instanceChart } from '@/services/chart/index.js';
import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata.js';
import { fetchMeta } from '@/misc/fetch-meta.js';
import { toPuny } from '@/misc/convert-host.js';
import { Cache } from '@/misc/cache.js';
import { Instance } from '@/models/entities/instance.js';
import { DeliverJobData } from '../types.js';
import { StatusError } from '@/misc/fetch.js';
const logger = new Logger('deliver');

View File

@ -1,20 +1,20 @@
import { URL } from 'url';
import * as Bull from 'bull';
import { URL } from 'node:url';
import Bull from 'bull';
import * as httpSignature from 'http-signature';
import perform from '@/remote/activitypub/perform';
import Logger from '@/services/logger';
import { registerOrFetchInstanceDoc } from '@/services/register-or-fetch-instance-doc';
import { Instances } from '@/models/index';
import { apRequestChart, federationChart, instanceChart } from '@/services/chart/index';
import { fetchMeta } from '@/misc/fetch-meta';
import { toPuny, extractDbHost } from '@/misc/convert-host';
import { getApId } from '@/remote/activitypub/type';
import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata';
import { InboxJobData } from '../types';
import DbResolver from '@/remote/activitypub/db-resolver';
import { resolvePerson } from '@/remote/activitypub/models/person';
import { LdSignature } from '@/remote/activitypub/misc/ld-signature';
import { StatusError } from '@/misc/fetch';
import perform from '@/remote/activitypub/perform.js';
import Logger from '@/services/logger.js';
import { registerOrFetchInstanceDoc } from '@/services/register-or-fetch-instance-doc.js';
import { Instances } from '@/models/index.js';
import { apRequestChart, federationChart, instanceChart } from '@/services/chart/index.js';
import { fetchMeta } from '@/misc/fetch-meta.js';
import { toPuny, extractDbHost } from '@/misc/convert-host.js';
import { getApId } from '@/remote/activitypub/type.js';
import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata.js';
import { InboxJobData } from '../types.js';
import DbResolver from '@/remote/activitypub/db-resolver.js';
import { resolvePerson } from '@/remote/activitypub/models/person.js';
import { LdSignature } from '@/remote/activitypub/misc/ld-signature.js';
import { StatusError } from '@/misc/fetch.js';
const logger = new Logger('inbox');

View File

@ -1,8 +1,8 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import { deleteFileSync } from '@/services/drive/delete-file';
import { DriveFiles } from '@/models/index';
import { queueLogger } from '../../logger.js';
import { deleteFileSync } from '@/services/drive/delete-file.js';
import { DriveFiles } from '@/models/index.js';
import { MoreThan, Not, IsNull } from 'typeorm';
const logger = queueLogger.createSubLogger('clean-remote-files');

View File

@ -1,6 +1,6 @@
import { ObjectStorageFileJobData } from '@/queue/types';
import * as Bull from 'bull';
import { deleteObjectStorageFile } from '@/services/drive/delete-file';
import { ObjectStorageFileJobData } from '@/queue/types.js';
import Bull from 'bull';
import { deleteObjectStorageFile } from '@/services/drive/delete-file.js';
export default async (job: Bull.Job<ObjectStorageFileJobData>) => {
const key: string = job.data.key;

View File

@ -1,7 +1,7 @@
import * as Bull from 'bull';
import { ObjectStorageJobData } from '@/queue/types';
import deleteFile from './delete-file';
import cleanRemoteFiles from './clean-remote-files';
import Bull from 'bull';
import { ObjectStorageJobData } from '@/queue/types.js';
import deleteFile from './delete-file.js';
import cleanRemoteFiles from './clean-remote-files.js';
const jobs = {
deleteFile,

View File

@ -1,7 +1,7 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import { activeUsersChart, driveChart, federationChart, hashtagChart, instanceChart, notesChart, perUserDriveChart, perUserFollowingChart, perUserNotesChart, perUserReactionsChart, usersChart, apRequestChart } from '@/services/chart/index';
import { queueLogger } from '../../logger.js';
import { activeUsersChart, driveChart, federationChart, hashtagChart, instanceChart, notesChart, perUserDriveChart, perUserFollowingChart, perUserNotesChart, perUserReactionsChart, usersChart, apRequestChart } from '@/services/chart/index.js';
const logger = queueLogger.createSubLogger('clean-charts');

View File

@ -1,7 +1,7 @@
import * as Bull from 'bull';
import { tickCharts } from './tick-charts';
import { resyncCharts } from './resync-charts';
import { cleanCharts } from './clean-charts';
import Bull from 'bull';
import { tickCharts } from './tick-charts.js';
import { resyncCharts } from './resync-charts.js';
import { cleanCharts } from './clean-charts.js';
const jobs = {
tickCharts,

View File

@ -1,7 +1,7 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import { driveChart, notesChart, usersChart } from '@/services/chart/index';
import { queueLogger } from '../../logger.js';
import { driveChart, notesChart, usersChart } from '@/services/chart/index.js';
const logger = queueLogger.createSubLogger('resync-charts');

View File

@ -1,7 +1,7 @@
import * as Bull from 'bull';
import Bull from 'bull';
import { queueLogger } from '../../logger';
import { activeUsersChart, driveChart, federationChart, hashtagChart, instanceChart, notesChart, perUserDriveChart, perUserFollowingChart, perUserNotesChart, perUserReactionsChart, usersChart, apRequestChart } from '@/services/chart/index';
import { queueLogger } from '../../logger.js';
import { activeUsersChart, driveChart, federationChart, hashtagChart, instanceChart, notesChart, perUserDriveChart, perUserFollowingChart, perUserNotesChart, perUserReactionsChart, usersChart, apRequestChart } from '@/services/chart/index.js';
const logger = queueLogger.createSubLogger('tick-charts');

View File

@ -1,6 +1,6 @@
import config from '@/config/index';
import { initialize as initializeQueue } from './initialize';
import { DeliverJobData, InboxJobData, DbJobData, ObjectStorageJobData } from './types';
import config from '@/config/index.js';
import { initialize as initializeQueue } from './initialize.js';
import { DeliverJobData, InboxJobData, DbJobData, ObjectStorageJobData } from './types.js';
export const systemQueue = initializeQueue<Record<string, unknown>>('system');
export const deliverQueue = initializeQueue<DeliverJobData>('deliver', config.deliverJobPerSec || 128);

View File

@ -1,6 +1,6 @@
import { DriveFile } from '@/models/entities/drive-file';
import { User } from '@/models/entities/user';
import { IActivity } from '@/remote/activitypub/type';
import { DriveFile } from '@/models/entities/drive-file.js';
import { User } from '@/models/entities/user.js';
import { IActivity } from '@/remote/activitypub/type.js';
import * as httpSignature from 'http-signature';
export type DeliverJobData = {