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,5 +1,5 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
export default (object: any, user: { id: User['id']; host: null }) => ({
type: 'Accept',

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { ILocalUser } from '@/models/entities/user';
import config from '@/config/index.js';
import { ILocalUser } from '@/models/entities/user.js';
export default (user: ILocalUser, target: any, object: any) => ({
type: 'Add',

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { Note } from '@/models/entities/note';
import config from '@/config/index.js';
import { Note } from '@/models/entities/note.js';
export default (object: any, note: Note) => {
const attributedTo = `${config.url}/users/${note.userId}`;

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { ILocalUser, IRemoteUser } from '@/models/entities/user';
import config from '@/config/index.js';
import { ILocalUser, IRemoteUser } from '@/models/entities/user.js';
export default (blocker: ILocalUser, blockee: IRemoteUser) => ({
type: 'Block',

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { Note } from '@/models/entities/note';
import config from '@/config/index.js';
import { Note } from '@/models/entities/note.js';
export default (object: any, note: Note) => {
const activity = {

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
export default (object: any, user: { id: User['id']; host: null }) => ({
type: 'Delete',

View File

@ -1,5 +1,5 @@
import { DriveFile } from '@/models/entities/drive-file';
import { DriveFiles } from '@/models/index';
import { DriveFile } from '@/models/entities/drive-file.js';
import { DriveFiles } from '@/models/index.js';
export default (file: DriveFile) => ({
type: 'Document',

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { Emoji } from '@/models/entities/emoji';
import config from '@/config/index.js';
import { Emoji } from '@/models/entities/emoji.js';
export default (emoji: Emoji) => ({
id: `${config.url}/emojis/${emoji.name}`,

View File

@ -1,7 +1,7 @@
import config from '@/config/index';
import { IObject, IActivity } from '@/remote/activitypub/type';
import { ILocalUser, IRemoteUser } from '@/models/entities/user';
import { getInstanceActor } from '@/services/instance-actor';
import config from '@/config/index.js';
import { IObject, IActivity } from '@/remote/activitypub/type.js';
import { ILocalUser, IRemoteUser } from '@/models/entities/user.js';
import { getInstanceActor } from '@/services/instance-actor.js';
// to anonymise reporters, the reporting actor must be a system user
// object has to be a uri or array of uris

View File

@ -1,6 +1,6 @@
import config from '@/config/index';
import { Relay } from '@/models/entities/relay';
import { ILocalUser } from '@/models/entities/user';
import config from '@/config/index.js';
import { Relay } from '@/models/entities/relay.js';
import { ILocalUser } from '@/models/entities/user.js';
export function renderFollowRelay(relay: Relay, relayActor: ILocalUser) {
const follow = {

View File

@ -1,6 +1,6 @@
import config from '@/config/index';
import { Users } from '@/models/index';
import { User } from '@/models/entities/user';
import config from '@/config/index.js';
import { Users } from '@/models/index.js';
import { User } from '@/models/entities/user.js';
/**
* Convert (local|remote)(Follower|Followee)ID to URL

View File

@ -1,6 +1,6 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import { Users } from '@/models/index';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
import { Users } from '@/models/index.js';
export default (follower: { id: User['id']; host: User['host']; uri: User['host'] }, followee: { id: User['id']; host: User['host']; uri: User['host'] }, requestId?: string) => {
const follow = {

View File

@ -1,4 +1,4 @@
import config from '@/config/index';
import config from '@/config/index.js';
export default (tag: string) => ({
type: 'Hashtag',

View File

@ -1,5 +1,5 @@
import { DriveFile } from '@/models/entities/drive-file';
import { DriveFiles } from '@/models/index';
import { DriveFile } from '@/models/entities/drive-file.js';
import { DriveFiles } from '@/models/index.js';
export default (file: DriveFile) => ({
type: 'Image',

View File

@ -1,9 +1,9 @@
import config from '@/config/index';
import config from '@/config/index.js';
import { v4 as uuid } from 'uuid';
import { IActivity } from '../type';
import { LdSignature } from '../misc/ld-signature';
import { getUserKeypair } from '@/misc/keypair-store';
import { User } from '@/models/entities/user';
import { IActivity } from '../type.js';
import { LdSignature } from '../misc/ld-signature.js';
import { getUserKeypair } from '@/misc/keypair-store.js';
import { User } from '@/models/entities/user.js';
export const renderActivity = (x: any): IActivity | null => {
if (x == null) return null;

View File

@ -1,7 +1,7 @@
import config from '@/config/index';
import { ILocalUser } from '@/models/entities/user';
import { UserKeypair } from '@/models/entities/user-keypair';
import { createPublicKey } from 'crypto';
import config from '@/config/index.js';
import { ILocalUser } from '@/models/entities/user.js';
import { UserKeypair } from '@/models/entities/user-keypair.js';
import { createPublicKey } from 'node:crypto';
export default (user: ILocalUser, key: UserKeypair, postfix?: string) => ({
id: `${config.url}/users/${user.id}${postfix || '/publickey'}`,

View File

@ -1,8 +1,8 @@
import config from '@/config/index';
import { NoteReaction } from '@/models/entities/note-reaction';
import { Note } from '@/models/entities/note';
import { Emojis } from '@/models/index';
import renderEmoji from './emoji';
import config from '@/config/index.js';
import { NoteReaction } from '@/models/entities/note-reaction.js';
import { Note } from '@/models/entities/note.js';
import { Emojis } from '@/models/index.js';
import renderEmoji from './emoji.js';
export const renderLike = async (noteReaction: NoteReaction, note: Note) => {
const reaction = noteReaction.reaction;

View File

@ -1,6 +1,6 @@
import config from '@/config/index';
import { User, ILocalUser } from '@/models/entities/user';
import { Users } from '@/models/index';
import config from '@/config/index.js';
import { User, ILocalUser } from '@/models/entities/user.js';
import { Users } from '@/models/index.js';
export default (mention: User) => ({
type: 'Mention',

View File

@ -1,15 +1,15 @@
import renderDocument from './document';
import renderHashtag from './hashtag';
import renderMention from './mention';
import renderEmoji from './emoji';
import config from '@/config/index';
import toHtml from '../misc/get-note-html';
import { Note, IMentionedRemoteUsers } from '@/models/entities/note';
import { DriveFile } from '@/models/entities/drive-file';
import { DriveFiles, Notes, Users, Emojis, Polls } from '@/models/index';
import renderDocument from './document.js';
import renderHashtag from './hashtag.js';
import renderMention from './mention.js';
import renderEmoji from './emoji.js';
import config from '@/config/index.js';
import toHtml from '../misc/get-note-html.js';
import { Note, IMentionedRemoteUsers } from '@/models/entities/note.js';
import { DriveFile } from '@/models/entities/drive-file.js';
import { DriveFiles, Notes, Users, Emojis, Polls } from '@/models/index.js';
import { In } from 'typeorm';
import { Emoji } from '@/models/entities/emoji';
import { Poll } from '@/models/entities/poll';
import { Emoji } from '@/models/entities/emoji.js';
import { Poll } from '@/models/entities/poll.js';
export default async function renderNote(note: Note, dive = true, isTalk = false): Promise<Record<string, unknown>> {
const getPromisedFiles = async (ids: string[]) => {

View File

@ -1,16 +1,16 @@
import { URL } from 'url';
import { URL } from 'node:url';
import * as mfm from 'mfm-js';
import renderImage from './image';
import renderKey from './key';
import config from '@/config/index';
import { ILocalUser } from '@/models/entities/user';
import { toHtml } from '../../../mfm/to-html';
import { getEmojis } from './note';
import renderEmoji from './emoji';
import { IIdentifier } from '../models/identifier';
import renderHashtag from './hashtag';
import { DriveFiles, UserProfiles } from '@/models/index';
import { getUserKeypair } from '@/misc/keypair-store';
import renderImage from './image.js';
import renderKey from './key.js';
import config from '@/config/index.js';
import { ILocalUser } from '@/models/entities/user.js';
import { toHtml } from '../../../mfm/to-html.js';
import { getEmojis } from './note.js';
import renderEmoji from './emoji.js';
import { IIdentifier } from '../models/identifier.js';
import renderHashtag from './hashtag.js';
import { DriveFiles, UserProfiles } from '@/models/index.js';
import { getUserKeypair } from '@/misc/keypair-store.js';
export async function renderPerson(user: ILocalUser) {
const id = `${config.url}/users/${user.id}`;

View File

@ -1,7 +1,7 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import { Note } from '@/models/entities/note';
import { Poll } from '@/models/entities/poll';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
import { Note } from '@/models/entities/note.js';
import { Poll } from '@/models/entities/poll.js';
export default async function renderQuestion(user: { id: User['id'] }, note: Note, poll: Poll) {
const question = {

View File

@ -1,6 +1,6 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import { MessagingMessage } from '@/models/entities/messaging-message';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
import { MessagingMessage } from '@/models/entities/messaging-message.js';
export const renderReadActivity = (user: { id: User['id'] }, message: MessagingMessage) => ({
type: 'Read',

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
export default (object: any, user: { id: User['id'] }) => ({
type: 'Reject',

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
export default (user: { id: User['id'] }, target: any, object: any) => ({
type: 'Remove',

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { ILocalUser, User } from '@/models/entities/user';
import config from '@/config/index.js';
import { ILocalUser, User } from '@/models/entities/user.js';
export default (object: any, user: { id: User['id'] }) => {
if (object == null) return null;

View File

@ -1,5 +1,5 @@
import config from '@/config/index';
import { User } from '@/models/entities/user';
import config from '@/config/index.js';
import { User } from '@/models/entities/user.js';
export default (object: any, user: { id: User['id'] }) => {
const activity = {

View File

@ -1,8 +1,8 @@
import config from '@/config/index';
import { Note } from '@/models/entities/note';
import { IRemoteUser, User } from '@/models/entities/user';
import { PollVote } from '@/models/entities/poll-vote';
import { Poll } from '@/models/entities/poll';
import config from '@/config/index.js';
import { Note } from '@/models/entities/note.js';
import { IRemoteUser, User } from '@/models/entities/user.js';
import { PollVote } from '@/models/entities/poll-vote.js';
import { Poll } from '@/models/entities/poll.js';
export default async function renderVote(user: { id: User['id'] }, vote: PollVote, note: Note, poll: Poll, pollOwner: IRemoteUser): Promise<any> {
return {