From 593e69fa06e6740267d6ae055e6d2b413fd1100a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikuro=E3=81=95=E3=81=84=E3=81=AA?= Date: Sat, 11 Jun 2022 17:21:15 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B5=B7=E5=8B=95=E3=81=97=E3=81=AA?= =?UTF-8?q?=E3=81=8F=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F=E5=95=8F?= =?UTF-8?q?=E9=A1=8C=E3=81=AE=E7=B7=8A=E6=80=A5=E4=BF=AE=E6=AD=A3=20(#254)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: Fix include * chore: Add esbuild * build: Migrate build into pure esm * fix: Migrate source into esm * build: Add skipLibCheck * chore: Clean up scripts * fix: Add node prefix --- package.json | 19 ++++++---- src/adaptor/clock.ts | 2 +- src/adaptor/discord-member-stats.ts | 4 +- src/adaptor/discord-output.ts | 4 +- src/adaptor/discord-participant.ts | 2 +- src/adaptor/discord-role.ts | 4 +- src/adaptor/discord-sheriff.ts | 4 +- src/adaptor/discord-voice.ts | 6 +-- src/adaptor/discord-ws.ts | 2 +- src/adaptor/embed-convert.ts | 2 +- src/adaptor/emoji-proxy.ts | 4 +- src/adaptor/in-memory-reservation.ts | 4 +- src/adaptor/in-memory-typo.ts | 4 +- src/adaptor/index.ts | 24 ++++++------ src/adaptor/message-proxy.ts | 4 +- src/adaptor/mock-voice.ts | 4 +- src/adaptor/random.ts | 4 +- src/adaptor/role-proxy.ts | 6 +-- src/adaptor/transformer/bot-filter.ts | 2 +- src/adaptor/transformer/index.ts | 13 ++++--- src/adaptor/transformer/message-convert.ts | 18 ++++----- src/adaptor/transformer/tuple.ts | 4 +- src/adaptor/voice-room-proxy.ts | 2 +- src/model/reservation.test.ts | 4 +- src/model/reservation.ts | 2 +- src/runner/index.ts | 10 ++--- src/server/index.ts | 35 +++++++++-------- src/service/bold-italic-cop.test.ts | 2 +- src/service/bold-italic-cop.ts | 2 +- src/service/command-message.ts | 6 +-- src/service/deletion-repeater.test.ts | 2 +- src/service/deletion-repeater.ts | 2 +- src/service/difference-detector.test.ts | 2 +- src/service/difference-detector.ts | 2 +- src/service/emoji-log.test.ts | 2 +- src/service/emoji-log.ts | 4 +- src/service/help.ts | 6 +-- src/service/index.ts | 44 ++++++++++++---------- src/service/judging.test.ts | 8 ++-- src/service/judging.ts | 6 +-- src/service/kaere.test.ts | 10 ++--- src/service/kaere.ts | 12 +++--- src/service/kawaemon-has-all-roles.test.ts | 6 +-- src/service/kawaemon-has-all-roles.ts | 6 +-- src/service/kokusei-chousa.test.ts | 4 +- src/service/kokusei-chousa.ts | 4 +- src/service/meme.test.ts | 6 +-- src/service/meme.ts | 16 ++++---- src/service/meme/dousurya.ts | 2 +- src/service/meme/hukueki.ts | 2 +- src/service/meme/lolicon.ts | 2 +- src/service/meme/n.ts | 2 +- src/service/meme/takopi.ts | 2 +- src/service/output.ts | 2 +- src/service/party.test.ts | 11 +++--- src/service/party.ts | 8 ++-- src/service/ping.ts | 4 +- src/service/stfu.test.ts | 6 +-- src/service/stfu.ts | 6 +-- src/service/typo-record.test.ts | 18 +++++---- src/service/typo-record.ts | 6 +-- src/service/voice-connection.ts | 2 +- src/service/voice-diff.test.ts | 4 +- src/service/voice-diff.ts | 7 +++- tsconfig.json | 14 +++---- yarn.lock | 2 +- 66 files changed, 233 insertions(+), 212 deletions(-) diff --git a/package.json b/package.json index f18ff694..d1fec5c1 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,20 @@ { "name": "oreorebot2", "version": "1.5.0", - "main": "index.js", + "exports": "./index.js", + "type": "module", "license": "MIT", "repository": "https://github.com/approvers/OreOreBot2", "author": "merunno ", "scripts": { - "start": "node ./build/server/index.js", + "start": "node ./build/index.js", "setup": "pm2 start ./build/server/index.js --name OreOreBot2", - "debug": "ts-node ./src/server/index.ts", - "build": "tsc -p .", - "format": "prettier --write \"**/*.{js,ts,md}\"", - "check": "prettier --check \"**/*.{js,ts,md}\"", - "eslint": "eslint --ignore-path .gitignore \"**/*.{js,ts,md}\"", - "eslint:fix": "eslint --ignore-path .gitignore \"**/*.{js,ts,md}\" --fix", + "debug": "ts-node --esm ./src/server/index.ts", + "build": "esbuild ./src/server/index.ts --bundle --platform=node --target=node16 --format=esm --external:./node_modules/* --outfile=build/index.js", + "format": "prettier --write \"src/**/*.{js,ts,md}\"", + "check": "prettier --check \"src/**/*.{js,ts,md}\" && tsc -p . --noEmit", + "eslint": "eslint \"src/**/*.{js,ts,md}\"", + "eslint:fix": "eslint \"src/**/*.{js,ts,md}\" --fix", "fix": "yarn run format && yarn run eslint:fix", "test": "vitest run", "coverage": "vitest run --coverage", @@ -21,6 +22,7 @@ "lint-staged": "lint-staged" }, "engines": { + "node": ">=14.16", "yarn": "1.x" }, "lint-staged": { @@ -48,6 +50,7 @@ "@typescript-eslint/eslint-plugin": "^5.27.1", "@typescript-eslint/parser": "^5.27.1", "c8": "^7.11.3", + "esbuild": "^0.14.43", "eslint": "^8.17.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-markdown": "^2.2.1", diff --git a/src/adaptor/clock.ts b/src/adaptor/clock.ts index 2ef19e27..7aa3dd16 100644 --- a/src/adaptor/clock.ts +++ b/src/adaptor/clock.ts @@ -1,4 +1,4 @@ -import type { Clock } from '../runner'; +import type { Clock } from '../runner/index.js'; export class MockClock implements Clock { constructor(public placeholder: Date) {} diff --git a/src/adaptor/discord-member-stats.ts b/src/adaptor/discord-member-stats.ts index b702c5fd..595f6d7d 100644 --- a/src/adaptor/discord-member-stats.ts +++ b/src/adaptor/discord-member-stats.ts @@ -1,6 +1,6 @@ import type { Client } from 'discord.js'; -import type { MemberStats } from '../service/kokusei-chousa'; -import type { Snowflake } from '../model/id'; +import type { MemberStats } from '../service/kokusei-chousa.js'; +import type { Snowflake } from '../model/id.js'; export class DiscordMemberStats implements MemberStats { constructor( diff --git a/src/adaptor/discord-output.ts b/src/adaptor/discord-output.ts index f7e88568..41562359 100644 --- a/src/adaptor/discord-output.ts +++ b/src/adaptor/discord-output.ts @@ -1,6 +1,6 @@ import { type Client, MessageEmbed } from 'discord.js'; -import type { EmbedMessage } from '../model/embed-message'; -import type { StandardOutput } from '../service/output'; +import type { EmbedMessage } from '../model/embed-message.js'; +import type { StandardOutput } from '../service/output.js'; export class DiscordOutput implements StandardOutput { constructor( diff --git a/src/adaptor/discord-participant.ts b/src/adaptor/discord-participant.ts index 24ed4931..74ef6f54 100644 --- a/src/adaptor/discord-participant.ts +++ b/src/adaptor/discord-participant.ts @@ -1,4 +1,4 @@ -import type { VoiceChannelParticipant } from '../service/voice-diff'; +import type { VoiceChannelParticipant } from '../service/voice-diff.js'; import type { VoiceState } from 'discord.js'; export class DiscordParticipant implements VoiceChannelParticipant { diff --git a/src/adaptor/discord-role.ts b/src/adaptor/discord-role.ts index 23cea808..67f71c75 100644 --- a/src/adaptor/discord-role.ts +++ b/src/adaptor/discord-role.ts @@ -1,6 +1,6 @@ import type { Client } from 'discord.js'; -import type { RoleManager } from '../service/kawaemon-has-all-roles'; -import type { Snowflake } from '../model/id'; +import type { RoleManager } from '../service/kawaemon-has-all-roles.js'; +import type { Snowflake } from '../model/id.js'; export class DiscordRoleManager implements RoleManager { constructor( diff --git a/src/adaptor/discord-sheriff.ts b/src/adaptor/discord-sheriff.ts index 809f26a9..8ee70142 100644 --- a/src/adaptor/discord-sheriff.ts +++ b/src/adaptor/discord-sheriff.ts @@ -1,6 +1,6 @@ import type { Client } from 'discord.js'; -import type { Sheriff } from '../service/stfu'; -import type { Snowflake } from '../model/id'; +import type { Sheriff } from '../service/stfu.js'; +import type { Snowflake } from '../model/id.js'; export class DiscordSheriff implements Sheriff { constructor(private readonly client: Client) {} diff --git a/src/adaptor/discord-voice.ts b/src/adaptor/discord-voice.ts index 2daff914..dceafbd5 100644 --- a/src/adaptor/discord-voice.ts +++ b/src/adaptor/discord-voice.ts @@ -12,9 +12,9 @@ import { type Client, Permissions, type VoiceBasedChannel } from 'discord.js'; import type { VoiceConnection, VoiceConnectionFactory -} from '../service/voice-connection'; -import type { Snowflake } from '../model/id'; -import type { VoiceRoomController } from '../service/kaere'; +} from '../service/voice-connection.js'; +import type { Snowflake } from '../model/id.js'; +import type { VoiceRoomController } from '../service/kaere.js'; /** * ボイスチャンネルへの接続が、復帰できない切断 (管理者の手で切断させられたなど) になったと判断するまでのミリ秒数。 diff --git a/src/adaptor/discord-ws.ts b/src/adaptor/discord-ws.ts index dea18969..f58c6a17 100644 --- a/src/adaptor/discord-ws.ts +++ b/src/adaptor/discord-ws.ts @@ -1,5 +1,5 @@ import type { Client } from 'discord.js'; -import type { Ping } from '../service/ping'; +import type { Ping } from '../service/ping.js'; export class DiscordWS implements Ping { constructor(private readonly client: Client) {} diff --git a/src/adaptor/embed-convert.ts b/src/adaptor/embed-convert.ts index aed49e4c..4725a9b3 100644 --- a/src/adaptor/embed-convert.ts +++ b/src/adaptor/embed-convert.ts @@ -1,4 +1,4 @@ -import type { EmbedMessage } from '../model/embed-message'; +import type { EmbedMessage } from '../model/embed-message.js'; import { MessageEmbed } from 'discord.js'; export const convertEmbed = ({ diff --git a/src/adaptor/emoji-proxy.ts b/src/adaptor/emoji-proxy.ts index 93071864..e46a0834 100644 --- a/src/adaptor/emoji-proxy.ts +++ b/src/adaptor/emoji-proxy.ts @@ -1,6 +1,6 @@ import type { Client } from 'discord.js'; -import type { EmojiData } from '../service/emoji-log'; -import type { EmojiEventProvider } from '../runner'; +import type { EmojiData } from '../service/emoji-log.js'; +import type { EmojiEventProvider } from '../runner/index.js'; export type EmojiHandler = (emoji: E) => Promise; diff --git a/src/adaptor/in-memory-reservation.ts b/src/adaptor/in-memory-reservation.ts index b0cbabb7..daa61ad1 100644 --- a/src/adaptor/in-memory-reservation.ts +++ b/src/adaptor/in-memory-reservation.ts @@ -1,8 +1,8 @@ -import type { Reservation, ReservationTime } from '../model/reservation'; +import type { Reservation, ReservationTime } from '../model/reservation.js'; import type { ReservationRepository, ReservationResult -} from '../service/kaere'; +} from '../service/kaere.js'; export class InMemoryReservationRepository implements ReservationRepository { map: Map = new Map(); diff --git a/src/adaptor/in-memory-typo.ts b/src/adaptor/in-memory-typo.ts index a6e3fa49..0322777f 100644 --- a/src/adaptor/in-memory-typo.ts +++ b/src/adaptor/in-memory-typo.ts @@ -1,5 +1,5 @@ -import type { Snowflake } from '../model/id'; -import type { TypoRepository } from '../service/typo-record'; +import type { Snowflake } from '../model/id.js'; +import type { TypoRepository } from '../service/typo-record.js'; export class InMemoryTypoRepository implements TypoRepository { private dict: Map = new Map(); diff --git a/src/adaptor/index.ts b/src/adaptor/index.ts index 255a88b0..e823dd97 100644 --- a/src/adaptor/index.ts +++ b/src/adaptor/index.ts @@ -1,12 +1,12 @@ -export * from './clock'; -export * from './discord-voice'; -export * from './embed-convert'; -export * from './in-memory-reservation'; -export * from './in-memory-typo'; -export * from './message-proxy'; -export * from './mock-voice'; -export * from './random'; -export * from './transformer'; -export * from './voice-room-proxy'; -export * from './discord-participant'; -export * from './discord-output'; +export * from './clock.js'; +export * from './discord-voice.js'; +export * from './embed-convert.js'; +export * from './in-memory-reservation.js'; +export * from './in-memory-typo.js'; +export * from './message-proxy.js'; +export * from './mock-voice.js'; +export * from './random.js'; +export * from './transformer/index.js'; +export * from './voice-room-proxy.js'; +export * from './discord-participant.js'; +export * from './discord-output.js'; diff --git a/src/adaptor/message-proxy.ts b/src/adaptor/message-proxy.ts index 790439e3..3c1e093d 100644 --- a/src/adaptor/message-proxy.ts +++ b/src/adaptor/message-proxy.ts @@ -1,8 +1,8 @@ import type { MessageEventProvider, MessageUpdateEventProvider -} from '../runner'; -import type { RawMessage, Transformer } from './transformer'; +} from '../runner/index.js'; +import type { RawMessage, Transformer } from './transformer/index.js'; import type { Client } from 'discord.js'; export type MessageHandler = (message: M) => Promise; diff --git a/src/adaptor/mock-voice.ts b/src/adaptor/mock-voice.ts index 5f994fa7..b003db06 100644 --- a/src/adaptor/mock-voice.ts +++ b/src/adaptor/mock-voice.ts @@ -1,8 +1,8 @@ import type { VoiceConnection, VoiceConnectionFactory -} from '../service/voice-connection'; -import EventEmitter from 'events'; +} from '../service/voice-connection.js'; +import EventEmitter from 'node:events'; export class MockVoiceConnectionFactory implements VoiceConnectionFactory diff --git a/src/adaptor/random.ts b/src/adaptor/random.ts index 748cca6c..dfa528f2 100644 --- a/src/adaptor/random.ts +++ b/src/adaptor/random.ts @@ -1,5 +1,5 @@ -import type { RandomGenerator as JudgingRng } from '../service/judging'; -import type { RandomGenerator as PartyRng } from '../service/party'; +import type { RandomGenerator as JudgingRng } from '../service/judging.js'; +import type { RandomGenerator as PartyRng } from '../service/party.js'; export class MathRandomGenerator implements PartyRng, JudgingRng { minutes(): number { diff --git a/src/adaptor/role-proxy.ts b/src/adaptor/role-proxy.ts index 98dc36e8..b7e14e7c 100644 --- a/src/adaptor/role-proxy.ts +++ b/src/adaptor/role-proxy.ts @@ -1,7 +1,7 @@ import type { Client, Role } from 'discord.js'; -import type { NewRole } from '../service/kawaemon-has-all-roles'; -import type { RoleResponseRunner } from '../runner'; -import type { Snowflake } from '../model/id'; +import type { NewRole } from '../service/kawaemon-has-all-roles.js'; +import type { RoleResponseRunner } from '../runner/index.js'; +import type { Snowflake } from '../model/id.js'; type AllRoleModel = NewRole; diff --git a/src/adaptor/transformer/bot-filter.ts b/src/adaptor/transformer/bot-filter.ts index 40a4707c..a0de3e6a 100644 --- a/src/adaptor/transformer/bot-filter.ts +++ b/src/adaptor/transformer/bot-filter.ts @@ -1,4 +1,4 @@ -import type { RawMessage, Transformer } from '.'; +import type { RawMessage, Transformer } from './index.js'; export const botFilter: Transformer = (func: (message: RawMessage) => Promise) => diff --git a/src/adaptor/transformer/index.ts b/src/adaptor/transformer/index.ts index f8a0ec9b..a339e73b 100644 --- a/src/adaptor/transformer/index.ts +++ b/src/adaptor/transformer/index.ts @@ -1,9 +1,12 @@ import type { Message, PartialMessage } from 'discord.js'; -import { converterWithPrefix, observableTransformer } from './message-convert'; -import type { EditingObservable } from '../../service/difference-detector'; -import type { MessageHandler } from '..'; -import { botFilter } from './bot-filter'; -import { tupleTransformer } from './tuple'; +import { + converterWithPrefix, + observableTransformer +} from './message-convert.js'; +import type { EditingObservable } from '../../service/difference-detector.js'; +import type { MessageHandler } from '../index.js'; +import { botFilter } from './bot-filter.js'; +import { tupleTransformer } from './tuple.js'; export type RawMessage = Message | PartialMessage; diff --git a/src/adaptor/transformer/message-convert.ts b/src/adaptor/transformer/message-convert.ts index fe1af00f..3d3aae93 100644 --- a/src/adaptor/transformer/message-convert.ts +++ b/src/adaptor/transformer/message-convert.ts @@ -1,12 +1,12 @@ -import type { RawMessage, Transformer } from '.'; -import type { BoldItalicCop } from '../../service/bold-italic-cop'; -import type { CommandMessage } from '../../service/command-message'; -import type { DeletionObservable } from '../../service/deletion-repeater'; -import type { EditingObservable } from '../../service/difference-detector'; -import type { MessageHandler } from '..'; -import type { Snowflake } from '../../model/id'; -import type { TypoObservable } from '../../service/typo-record'; -import { convertEmbed } from '../embed-convert'; +import type { RawMessage, Transformer } from './index.js'; +import type { BoldItalicCop } from '../../service/bold-italic-cop.js'; +import type { CommandMessage } from '../../service/command-message.js'; +import type { DeletionObservable } from '../../service/deletion-repeater.js'; +import type { EditingObservable } from '../../service/difference-detector.js'; +import type { MessageHandler } from '../index.js'; +import type { Snowflake } from '../../model/id.js'; +import type { TypoObservable } from '../../service/typo-record.js'; +import { convertEmbed } from '../embed-convert.js'; const getAuthorSnowflake = (message: RawMessage): Snowflake => (message.author?.id || 'unknown') as Snowflake; diff --git a/src/adaptor/transformer/tuple.ts b/src/adaptor/transformer/tuple.ts index f4553393..1f2369a3 100644 --- a/src/adaptor/transformer/tuple.ts +++ b/src/adaptor/transformer/tuple.ts @@ -10,8 +10,8 @@ \- A2=> <----------- B2=> <-/ */ -import type { MessageHandler } from '..'; -import type { Transformer } from '.'; +import type { MessageHandler } from '../index.js'; +import type { Transformer } from './index.js'; // A1=> -> A2=> -> A1*A2=> const merge = diff --git a/src/adaptor/voice-room-proxy.ts b/src/adaptor/voice-room-proxy.ts index c53b507a..b425d448 100644 --- a/src/adaptor/voice-room-proxy.ts +++ b/src/adaptor/voice-room-proxy.ts @@ -1,5 +1,5 @@ import type { Client, VoiceState } from 'discord.js'; -import type { VoiceRoomEventProvider } from '../runner'; +import type { VoiceRoomEventProvider } from '../runner/index.js'; type ObserveExpectation = 'ChangingIntoFalsy' | 'ChangingIntoTruthy' | 'All'; diff --git a/src/model/reservation.test.ts b/src/model/reservation.test.ts index 106db57c..946eff11 100644 --- a/src/model/reservation.test.ts +++ b/src/model/reservation.test.ts @@ -1,6 +1,6 @@ -import { Reservation, ReservationId, ReservationTime } from './reservation'; +import { Reservation, ReservationId, ReservationTime } from './reservation.js'; import { expect, it } from 'vitest'; -import type { Snowflake } from './id'; +import type { Snowflake } from './id.js'; it('invalid time construction', () => { expect(() => new ReservationTime(-1, 0)).toThrow( diff --git a/src/model/reservation.ts b/src/model/reservation.ts index e95dd12e..947d793c 100644 --- a/src/model/reservation.ts +++ b/src/model/reservation.ts @@ -1,4 +1,4 @@ -import type { Snowflake } from './id'; +import type { Snowflake } from './id.js'; import { nanoid } from 'nanoid'; declare const reservationIdNominal: unique symbol; diff --git a/src/runner/index.ts b/src/runner/index.ts index e60cc1bb..a09085ed 100644 --- a/src/runner/index.ts +++ b/src/runner/index.ts @@ -1,5 +1,5 @@ -export * from './message'; -export * from './schedule'; -export * from './voice-room'; -export * from './role'; -export * from './emoji'; +export * from './message.js'; +export * from './schedule.js'; +export * from './voice-room.js'; +export * from './role.js'; +export * from './emoji.js'; diff --git a/src/server/index.ts b/src/server/index.ts index 8bb146f7..57937a1a 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -13,12 +13,12 @@ import { transformerForCommand, transformerForMessage, transformerForUpdateMessage -} from '../adaptor'; +} from '../adaptor/index.js'; import { Client, Intents, version } from 'discord.js'; import type { CommandMessage, CommandResponder -} from '../service/command-message'; +} from '../service/command-message.js'; import { EmojiResponseRunner, MessageResponseRunner, @@ -26,28 +26,31 @@ import { RoleResponseRunner, ScheduleRunner, VoiceRoomResponseRunner -} from '../runner'; -import { type VoiceChannelParticipant, VoiceDiff } from '../service/voice-diff'; +} from '../runner/index.js'; +import { + type VoiceChannelParticipant, + VoiceDiff +} from '../service/voice-diff.js'; import { allEmojiResponder, allMessageEventResponder, allMessageUpdateEventResponder, allRoleResponder, registerAllCommandResponder -} from '../service'; -import type { AssetKey } from '../service/party'; -import { DiscordMemberStats } from '../adaptor/discord-member-stats'; -import { DiscordRoleManager } from '../adaptor/discord-role'; -import { DiscordSheriff } from '../adaptor/discord-sheriff'; -import { DiscordWS } from '../adaptor/discord-ws'; -import { EmojiProxy } from '../adaptor/emoji-proxy'; -import type { KaereMusicKey } from '../service/kaere'; -import { Snowflake } from '../model/id'; +} from '../service/index.js'; +import type { AssetKey } from '../service/party.js'; +import { DiscordMemberStats } from '../adaptor/discord-member-stats.js'; +import { DiscordRoleManager } from '../adaptor/discord-role.js'; +import { DiscordSheriff } from '../adaptor/discord-sheriff.js'; +import { DiscordWS } from '../adaptor/discord-ws.js'; +import { EmojiProxy } from '../adaptor/emoji-proxy.js'; +import type { KaereMusicKey } from '../service/kaere.js'; +import { Snowflake } from '../model/id.js'; import dotenv from 'dotenv'; -import { extractEnv } from './extract-env'; +import { extractEnv } from './extract-env.js'; import { generateDependencyReport } from '@discordjs/voice'; -import { join } from 'path'; -import { roleProxy } from '../adaptor/role-proxy'; +import { join } from 'node:path'; +import { roleProxy } from '../adaptor/role-proxy.js'; dotenv.config(); const { diff --git a/src/service/bold-italic-cop.test.ts b/src/service/bold-italic-cop.test.ts index 0782cd33..146c62f1 100644 --- a/src/service/bold-italic-cop.test.ts +++ b/src/service/bold-italic-cop.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from 'vitest'; -import { BoldItalicCopReporter } from './bold-italic-cop'; +import { BoldItalicCopReporter } from './bold-italic-cop.js'; describe('bold italic cop', () => { const responder = new BoldItalicCopReporter(); diff --git a/src/service/bold-italic-cop.ts b/src/service/bold-italic-cop.ts index 7b124eea..b1629824 100644 --- a/src/service/bold-italic-cop.ts +++ b/src/service/bold-italic-cop.ts @@ -1,4 +1,4 @@ -import type { MessageEvent, MessageEventResponder } from '../runner'; +import type { MessageEvent, MessageEventResponder } from '../runner/index.js'; const boldItalic = /\*\*\*/g; diff --git a/src/service/command-message.ts b/src/service/command-message.ts index 47e8970e..e8776931 100644 --- a/src/service/command-message.ts +++ b/src/service/command-message.ts @@ -1,6 +1,6 @@ -import type { EmbedMessage } from '../model/embed-message'; -import type { MessageEventResponder } from '../runner'; -import type { Snowflake } from '../model/id'; +import type { EmbedMessage } from '../model/embed-message.js'; +import type { MessageEventResponder } from '../runner/index.js'; +import type { Snowflake } from '../model/id.js'; /** * コマンド形式のメッセージの抽象。 diff --git a/src/service/deletion-repeater.test.ts b/src/service/deletion-repeater.test.ts index c64a71c0..0446659b 100644 --- a/src/service/deletion-repeater.test.ts +++ b/src/service/deletion-repeater.test.ts @@ -1,5 +1,5 @@ import { expect, it, vi } from 'vitest'; -import { DeletionRepeater } from './deletion-repeater'; +import { DeletionRepeater } from './deletion-repeater.js'; it('react to deleted message', async () => { const responder = new DeletionRepeater(); diff --git a/src/service/deletion-repeater.ts b/src/service/deletion-repeater.ts index 9632e68c..141fb6d0 100644 --- a/src/service/deletion-repeater.ts +++ b/src/service/deletion-repeater.ts @@ -1,4 +1,4 @@ -import type { MessageEvent, MessageEventResponder } from '../runner'; +import type { MessageEvent, MessageEventResponder } from '../runner/index.js'; /** * 監視するメッセージの抽象。 diff --git a/src/service/difference-detector.test.ts b/src/service/difference-detector.test.ts index f2260b86..85cb22bd 100644 --- a/src/service/difference-detector.test.ts +++ b/src/service/difference-detector.test.ts @@ -1,5 +1,5 @@ import { expect, it, vi } from 'vitest'; -import { DifferenceDetector } from './difference-detector'; +import { DifferenceDetector } from './difference-detector.js'; it('react to edited message', async () => { const responder = new DifferenceDetector(); diff --git a/src/service/difference-detector.ts b/src/service/difference-detector.ts index d0c7f413..6461fc23 100644 --- a/src/service/difference-detector.ts +++ b/src/service/difference-detector.ts @@ -1,5 +1,5 @@ import { Differ } from 'difflib-ts'; -import type { MessageUpdateEventResponder } from '../runner'; +import type { MessageUpdateEventResponder } from '../runner/index.js'; /** * 監視するメッセージの抽象。 diff --git a/src/service/emoji-log.test.ts b/src/service/emoji-log.test.ts index 43c6b398..11aeae52 100644 --- a/src/service/emoji-log.test.ts +++ b/src/service/emoji-log.test.ts @@ -1,5 +1,5 @@ import { expect, it, vi } from 'vitest'; -import { EmojiLog } from './emoji-log'; +import { EmojiLog } from './emoji-log.js'; it('create emoji', async () => { const sendEmbed = vi.fn(() => Promise.resolve()); diff --git a/src/service/emoji-log.ts b/src/service/emoji-log.ts index d1a9f429..da646392 100644 --- a/src/service/emoji-log.ts +++ b/src/service/emoji-log.ts @@ -1,5 +1,5 @@ -import type { EmojiEventResponder, RoleEvent } from '../runner'; -import type { StandardOutput } from './output'; +import type { EmojiEventResponder, RoleEvent } from '../runner/index.js'; +import type { StandardOutput } from './output.js'; export interface EmojiData { emoji: string; diff --git a/src/service/help.ts b/src/service/help.ts index 143684aa..2a585ff6 100644 --- a/src/service/help.ts +++ b/src/service/help.ts @@ -2,9 +2,9 @@ import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; -import type { MessageEvent, MessageResponseRunner } from '../runner'; -import type { EmbedMessageField } from '../model/embed-message'; +} from './command-message.js'; +import type { MessageEvent, MessageResponseRunner } from '../runner/index.js'; +import type { EmbedMessageField } from '../model/embed-message.js'; export class HelpCommand implements CommandResponder { help: Readonly = { diff --git a/src/service/index.ts b/src/service/index.ts index d6eb3597..523c0ec4 100644 --- a/src/service/index.ts +++ b/src/service/index.ts @@ -2,8 +2,11 @@ import { type AssetKey, PartyCommand, type RandomGenerator as PartyRng -} from './party'; -import { type BoldItalicCop, BoldItalicCopReporter } from './bold-italic-cop'; +} from './party.js'; +import { + type BoldItalicCop, + BoldItalicCopReporter +} from './bold-italic-cop.js'; import { type Clock, type MessageResponseRunner, @@ -12,33 +15,36 @@ import { composeMessageEventResponders, composeMessageUpdateEventResponders, composeRoleEventResponders -} from '../runner'; -import type { CommandMessage, CommandResponder } from './command-message'; -import { type DeletionObservable, DeletionRepeater } from './deletion-repeater'; -import { JudgingCommand, type RandomGenerator } from './judging'; +} from '../runner/index.js'; +import type { CommandMessage, CommandResponder } from './command-message.js'; +import { + type DeletionObservable, + DeletionRepeater +} from './deletion-repeater.js'; +import { JudgingCommand, type RandomGenerator } from './judging.js'; import { KaereCommand, type KaereMusicKey, type ReservationRepository, type VoiceRoomController -} from './kaere'; -import { KawaemonHasAllRoles, RoleManager } from './kawaemon-has-all-roles'; -import { KokuseiChousa, MemberStats } from './kokusei-chousa'; -import { Ping, PingCommand } from './ping'; -import { Sheriff, SheriffCommand } from './stfu'; +} from './kaere.js'; +import { KawaemonHasAllRoles, RoleManager } from './kawaemon-has-all-roles.js'; +import { KokuseiChousa, MemberStats } from './kokusei-chousa.js'; +import { Ping, PingCommand } from './ping.js'; +import { Sheriff, SheriffCommand } from './stfu.js'; import { type TypoObservable, TypoRecorder, TypoReporter, type TypoRepository -} from './typo-record'; -import { DifferenceDetector } from './difference-detector'; -import { EmojiLog } from './emoji-log'; -import { HelpCommand } from './help'; -import { Meme } from './meme'; -import type { Snowflake } from '../model/id'; -import type { StandardOutput } from './output'; -import type { VoiceConnectionFactory } from './voice-connection'; +} from './typo-record.js'; +import { DifferenceDetector } from './difference-detector.js'; +import { EmojiLog } from './emoji-log.js'; +import { HelpCommand } from './help.js'; +import { Meme } from './meme.js'; +import type { Snowflake } from '../model/id.js'; +import type { StandardOutput } from './output.js'; +import type { VoiceConnectionFactory } from './voice-connection.js'; export const allMessageEventResponder = (repo: TypoRepository) => composeMessageEventResponders< diff --git a/src/service/judging.test.ts b/src/service/judging.test.ts index 387cb79c..d038d997 100644 --- a/src/service/judging.test.ts +++ b/src/service/judging.test.ts @@ -1,8 +1,8 @@ -import { emojiOf, waitingJudgingEmoji } from '../model/judging-status'; +import { emojiOf, waitingJudgingEmoji } from '../model/judging-status.js'; import { expect, it, vi } from 'vitest'; -import type { EmbedMessage } from '../model/embed-message'; -import { JudgingCommand } from './judging'; -import { createMockMessage } from './command-message'; +import type { EmbedMessage } from '../model/embed-message.js'; +import { JudgingCommand } from './judging.js'; +import { createMockMessage } from './command-message.js'; it('use case of jd', async () => { const responder = new JudgingCommand({ diff --git a/src/service/judging.ts b/src/service/judging.ts index 87bfba89..3023a4b1 100644 --- a/src/service/judging.ts +++ b/src/service/judging.ts @@ -2,14 +2,14 @@ import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; +} from './command-message.js'; import { emojiOf, hasNoTestCases, isJudgingStatus, waitingJudgingEmoji -} from '../model/judging-status'; -import type { MessageEvent } from '../runner'; +} from '../model/judging-status.js'; +import type { MessageEvent } from '../runner/index.js'; /** * `JudgingCommand` のための乱数生成器。 diff --git a/src/service/kaere.test.ts b/src/service/kaere.test.ts index 059b81ba..19796c00 100644 --- a/src/service/kaere.test.ts +++ b/src/service/kaere.test.ts @@ -1,12 +1,12 @@ import { InMemoryReservationRepository, + MockClock, MockVoiceConnectionFactory -} from '../adaptor'; -import { KaereCommand, type KaereMusicKey } from './kaere'; +} from '../adaptor/index.js'; +import { KaereCommand, type KaereMusicKey } from './kaere.js'; import { expect, it, vi } from 'vitest'; -import { MockClock } from '../adaptor'; -import { ScheduleRunner } from '../runner'; -import { createMockMessage } from './command-message'; +import { ScheduleRunner } from '../runner/index.js'; +import { createMockMessage } from './command-message.js'; it('use case of kaere', async () => { const fn = vi.fn(); diff --git a/src/service/kaere.ts b/src/service/kaere.ts index 2e8ffb45..f9d7ce99 100644 --- a/src/service/kaere.ts +++ b/src/service/kaere.ts @@ -1,14 +1,14 @@ -import type { Clock, MessageEvent, ScheduleRunner } from '../runner'; +import type { Clock, MessageEvent, ScheduleRunner } from '../runner/index.js'; import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; -import { Reservation, ReservationTime } from '../model/reservation'; +} from './command-message.js'; +import { Reservation, ReservationTime } from '../model/reservation.js'; import { addDays, isBefore, setHours, setMinutes, setSeconds } from 'date-fns'; -import type { EmbedMessage } from '../model/embed-message'; -import type { Snowflake } from '../model/id'; -import type { VoiceConnectionFactory } from './voice-connection'; +import type { EmbedMessage } from '../model/embed-message.js'; +import type { Snowflake } from '../model/id.js'; +import type { VoiceConnectionFactory } from './voice-connection.js'; export type KaereMusicKey = 'NEROYO'; diff --git a/src/service/kawaemon-has-all-roles.test.ts b/src/service/kawaemon-has-all-roles.test.ts index 22f799de..f02d94d8 100644 --- a/src/service/kawaemon-has-all-roles.test.ts +++ b/src/service/kawaemon-has-all-roles.test.ts @@ -1,7 +1,7 @@ -import { KawaemonHasAllRoles, RoleManager } from './kawaemon-has-all-roles'; +import { KawaemonHasAllRoles, RoleManager } from './kawaemon-has-all-roles.js'; import { afterEach, describe, expect, it, vi } from 'vitest'; -import type { Snowflake } from '../model/id'; -import { StandardOutput } from './output'; +import type { Snowflake } from '../model/id.js'; +import { StandardOutput } from './output.js'; const KAWAEMON_ID = '391857452360007680' as Snowflake; diff --git a/src/service/kawaemon-has-all-roles.ts b/src/service/kawaemon-has-all-roles.ts index 6a7f3501..4e082d52 100644 --- a/src/service/kawaemon-has-all-roles.ts +++ b/src/service/kawaemon-has-all-roles.ts @@ -1,6 +1,6 @@ -import type { RoleEvent, RoleEventResponder } from '../runner'; -import type { Snowflake } from '../model/id'; -import type { StandardOutput } from './output'; +import type { RoleEvent, RoleEventResponder } from '../runner/index.js'; +import type { Snowflake } from '../model/id.js'; +import type { StandardOutput } from './output.js'; export interface NewRole { roleId: Snowflake; diff --git a/src/service/kokusei-chousa.test.ts b/src/service/kokusei-chousa.test.ts index e7b18026..8a660db7 100644 --- a/src/service/kokusei-chousa.test.ts +++ b/src/service/kokusei-chousa.test.ts @@ -1,6 +1,6 @@ import { expect, it, vi } from 'vitest'; -import { KokuseiChousa } from './kokusei-chousa'; -import { createMockMessage } from './command-message'; +import { KokuseiChousa } from './kokusei-chousa.js'; +import { createMockMessage } from './command-message.js'; it('use case of kokusei-chousa', async () => { const responder = new KokuseiChousa({ diff --git a/src/service/kokusei-chousa.ts b/src/service/kokusei-chousa.ts index c4290f51..34a1c7ef 100644 --- a/src/service/kokusei-chousa.ts +++ b/src/service/kokusei-chousa.ts @@ -2,8 +2,8 @@ import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; -import type { MessageEvent } from '../runner'; +} from './command-message.js'; +import type { MessageEvent } from '../runner/index.js'; export interface MemberStats { allMemberCount(): Promise; diff --git a/src/service/meme.test.ts b/src/service/meme.test.ts index 6afefb09..652d85a7 100644 --- a/src/service/meme.test.ts +++ b/src/service/meme.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, vi } from 'vitest'; -import type { EmbedMessage } from '../model/embed-message'; -import { Meme } from './meme'; -import { createMockMessage } from './command-message'; +import type { EmbedMessage } from '../model/embed-message.js'; +import { Meme } from './meme.js'; +import { createMockMessage } from './command-message.js'; describe('meme', () => { const responder = new Meme(); diff --git a/src/service/meme.ts b/src/service/meme.ts index fbdb3515..185f9a19 100644 --- a/src/service/meme.ts +++ b/src/service/meme.ts @@ -2,15 +2,15 @@ import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; -import type { MemeTemplate } from '../model/meme-template'; -import type { MessageEvent } from '../runner'; -import { dousurya } from './meme/dousurya'; -import { hukueki } from './meme/hukueki'; -import { lolicon } from './meme/lolicon'; -import { n } from './meme/n'; +} from './command-message.js'; +import type { MemeTemplate } from '../model/meme-template.js'; +import type { MessageEvent } from '../runner/index.js'; +import { dousurya } from './meme/dousurya.js'; +import { hukueki } from './meme/hukueki.js'; +import { lolicon } from './meme/lolicon.js'; +import { n } from './meme/n.js'; import parse from 'cli-argparse'; -import { takopi } from './meme/takopi'; +import { takopi } from './meme/takopi.js'; const memes = [dousurya, hukueki, lolicon, n, takopi]; const memesByCommandName: Record< diff --git a/src/service/meme/dousurya.ts b/src/service/meme/dousurya.ts index 89141508..e5b3baec 100644 --- a/src/service/meme/dousurya.ts +++ b/src/service/meme/dousurya.ts @@ -1,4 +1,4 @@ -import type { MemeTemplate } from '../../model/meme-template'; +import type { MemeTemplate } from '../../model/meme-template.js'; export const dousurya: MemeTemplate = { commandNames: ['dousurya', 'dousureba'], diff --git a/src/service/meme/hukueki.ts b/src/service/meme/hukueki.ts index e4716454..c61b0935 100644 --- a/src/service/meme/hukueki.ts +++ b/src/service/meme/hukueki.ts @@ -1,4 +1,4 @@ -import type { MemeTemplate } from '../../model/meme-template'; +import type { MemeTemplate } from '../../model/meme-template.js'; export const hukueki: MemeTemplate = { commandNames: ['hukueki'], diff --git a/src/service/meme/lolicon.ts b/src/service/meme/lolicon.ts index 96b71626..70ac2bfc 100644 --- a/src/service/meme/lolicon.ts +++ b/src/service/meme/lolicon.ts @@ -1,4 +1,4 @@ -import type { MemeTemplate } from '../../model/meme-template'; +import type { MemeTemplate } from '../../model/meme-template.js'; export const lolicon: MemeTemplate = { commandNames: ['lolicon'], diff --git a/src/service/meme/n.ts b/src/service/meme/n.ts index c0520f74..5fc57730 100644 --- a/src/service/meme/n.ts +++ b/src/service/meme/n.ts @@ -1,4 +1,4 @@ -import type { MemeTemplate } from '../../model/meme-template'; +import type { MemeTemplate } from '../../model/meme-template.js'; export const n: MemeTemplate = { commandNames: ['n'], diff --git a/src/service/meme/takopi.ts b/src/service/meme/takopi.ts index bf568f25..02a4e8da 100644 --- a/src/service/meme/takopi.ts +++ b/src/service/meme/takopi.ts @@ -1,4 +1,4 @@ -import type { MemeTemplate } from '../../model/meme-template'; +import type { MemeTemplate } from '../../model/meme-template.js'; const takopiFlags = ['f'] as const; diff --git a/src/service/output.ts b/src/service/output.ts index e68ad0b6..d8983476 100644 --- a/src/service/output.ts +++ b/src/service/output.ts @@ -1,4 +1,4 @@ -import type { EmbedMessage } from '../model/embed-message'; +import type { EmbedMessage } from '../model/embed-message.js'; export interface StandardOutput { sendEmbed(embed: EmbedMessage): Promise; diff --git a/src/service/party.test.ts b/src/service/party.test.ts index 8611c277..3f888e17 100644 --- a/src/service/party.test.ts +++ b/src/service/party.test.ts @@ -1,10 +1,9 @@ -import { type AssetKey, PartyCommand, type RandomGenerator } from './party'; +import { type AssetKey, PartyCommand, type RandomGenerator } from './party.js'; +import { MockClock, MockVoiceConnectionFactory } from '../adaptor/index.js'; import { afterAll, describe, expect, it, vi } from 'vitest'; -import type { EmbedMessage } from '../model/embed-message'; -import { MockClock } from '../adaptor'; -import { MockVoiceConnectionFactory } from '../adaptor'; -import { ScheduleRunner } from '../runner'; -import { createMockMessage } from './command-message'; +import type { EmbedMessage } from '../model/embed-message.js'; +import { ScheduleRunner } from '../runner/index.js'; +import { createMockMessage } from './command-message.js'; const random: RandomGenerator = { minutes: () => 42, diff --git a/src/service/party.ts b/src/service/party.ts index b6aab278..b0d323f2 100644 --- a/src/service/party.ts +++ b/src/service/party.ts @@ -1,15 +1,15 @@ -import type { Clock, MessageEvent, ScheduleRunner } from '../runner'; +import type { Clock, MessageEvent, ScheduleRunner } from '../runner/index.js'; import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; +} from './command-message.js'; import type { VoiceConnection, VoiceConnectionFactory -} from './voice-connection'; +} from './voice-connection.js'; import { addHours, getMinutes, setMinutes, setSeconds } from 'date-fns'; -import type { EmbedMessage } from '../model/embed-message'; +import type { EmbedMessage } from '../model/embed-message.js'; const partyStarting: EmbedMessage = { title: 'パーティー Nigth', diff --git a/src/service/ping.ts b/src/service/ping.ts index cae3bff8..b8bd82bb 100644 --- a/src/service/ping.ts +++ b/src/service/ping.ts @@ -2,8 +2,8 @@ import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; -import type { MessageEvent } from '../runner'; +} from './command-message.js'; +import type { MessageEvent } from '../runner/index.js'; export interface Ping { /** diff --git a/src/service/stfu.test.ts b/src/service/stfu.test.ts index 36eadc15..1a275f43 100644 --- a/src/service/stfu.test.ts +++ b/src/service/stfu.test.ts @@ -1,7 +1,7 @@ -import { type Sheriff, SheriffCommand } from './stfu'; +import { type Sheriff, SheriffCommand } from './stfu.js'; import { afterEach, describe, expect, it, vi } from 'vitest'; -import { type Snowflake } from '../model/id'; -import { createMockMessage } from './command-message'; +import { type Snowflake } from '../model/id.js'; +import { createMockMessage } from './command-message.js'; describe('stfu', () => { afterEach(() => { diff --git a/src/service/stfu.ts b/src/service/stfu.ts index a371d7a6..79263fab 100644 --- a/src/service/stfu.ts +++ b/src/service/stfu.ts @@ -2,9 +2,9 @@ import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; -import type { MessageEvent } from '../runner'; -import type { Snowflake } from '../model/id'; +} from './command-message.js'; +import type { MessageEvent } from '../runner/index.js'; +import type { Snowflake } from '../model/id.js'; /** * 'SheriffCommandのための削除機能。 diff --git a/src/service/typo-record.test.ts b/src/service/typo-record.test.ts index 23c8f598..6b93f5d1 100644 --- a/src/service/typo-record.test.ts +++ b/src/service/typo-record.test.ts @@ -1,12 +1,16 @@ -import { InMemoryTypoRepository, MockClock } from '../adaptor'; -import { SentMessage, createMockMessage } from './command-message'; -import { TypoRecorder, TypoReporter, type TypoRepository } from './typo-record'; +import { InMemoryTypoRepository, MockClock } from '../adaptor/index.js'; +import { SentMessage, createMockMessage } from './command-message.js'; +import { + TypoRecorder, + TypoReporter, + type TypoRepository +} from './typo-record.js'; import { addDays, setHours, setMinutes } from 'date-fns'; import { afterAll, describe, expect, it, vi } from 'vitest'; -import type { EmbedMessage } from '../model/embed-message'; -import EventEmitter from 'events'; -import { ScheduleRunner } from '../runner'; -import type { Snowflake } from '../model/id'; +import type { EmbedMessage } from '../model/embed-message.js'; +import EventEmitter from 'node:events'; +import { ScheduleRunner } from '../runner/index.js'; +import type { Snowflake } from '../model/id.js'; class MockRepository extends EventEmitter implements TypoRepository { private db = new InMemoryTypoRepository(); diff --git a/src/service/typo-record.ts b/src/service/typo-record.ts index 5a308c59..1d2d7156 100644 --- a/src/service/typo-record.ts +++ b/src/service/typo-record.ts @@ -4,14 +4,14 @@ import type { MessageEventResponder, ScheduleRunner, ScheduleTask -} from '../runner'; +} from '../runner/index.js'; import type { CommandMessage, CommandResponder, HelpInfo -} from './command-message'; +} from './command-message.js'; import { addDays, setHours, setMinutes } from 'date-fns'; -import type { Snowflake } from '../model/id'; +import type { Snowflake } from '../model/id.js'; /** * 監視するメッセージの抽象。 diff --git a/src/service/voice-connection.ts b/src/service/voice-connection.ts index 4b4d34a1..d03c3d53 100644 --- a/src/service/voice-connection.ts +++ b/src/service/voice-connection.ts @@ -1,4 +1,4 @@ -import type { Snowflake } from '../model/id'; +import type { Snowflake } from '../model/id.js'; /** * ボイスチャンネルへの接続を生成する抽象。`K` は再生したいデータを指すためのキーの型で `"hoge" | "fuga"` などが入る。 diff --git a/src/service/voice-diff.test.ts b/src/service/voice-diff.test.ts index 9db5f737..7c04746e 100644 --- a/src/service/voice-diff.test.ts +++ b/src/service/voice-diff.test.ts @@ -1,6 +1,6 @@ import { expect, it } from 'vitest'; -import type { StandardOutput } from './output'; -import { VoiceDiff } from './voice-diff'; +import type { StandardOutput } from './output.js'; +import { VoiceDiff } from './voice-diff.js'; it('use case of VoiceDiff', async () => { const outputJoin: StandardOutput = { diff --git a/src/service/voice-diff.ts b/src/service/voice-diff.ts index d2662324..0d309a3e 100644 --- a/src/service/voice-diff.ts +++ b/src/service/voice-diff.ts @@ -1,5 +1,8 @@ -import type { VoiceRoomEvent, VoiceRoomEventResponder } from '../runner'; -import type { StandardOutput } from './output'; +import type { + VoiceRoomEvent, + VoiceRoomEventResponder +} from '../runner/index.js'; +import type { StandardOutput } from './output.js'; export interface VoiceChannelParticipant { userName: string; diff --git a/tsconfig.json b/tsconfig.json index cedc6399..3e7c75a5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,10 +2,12 @@ "compileOnSave": true, "compilerOptions": { "target": "ESNext", - "module": "CommonJS", + "module": "node16", "outDir": "./build", "rootDir": "./src", + "noEmit": true, "removeComments": true, + "skipLibCheck": true, "strict": true, "noImplicitThis": true, "noUnusedLocals": true, @@ -13,15 +15,13 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "forceConsistentCasingInFileNames": true, - "moduleResolution": "node", + "moduleResolution": "node16", "esModuleInterop": true, "experimentalDecorators": true, "pretty": true, "newLine": "CRLF", "resolveJsonModule": true, - "typeRoots": [ - "./node_modules/@types", - "./src/typings" - ] - } + "typeRoots": ["./node_modules/@types", "./src/typings"] + }, + "include": ["src/**/*.ts"] } diff --git a/yarn.lock b/yarn.lock index 793aad53..7a863a3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -971,7 +971,7 @@ esbuild-windows-arm64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.43.tgz#3caed1b430d394d7a7836407b9d36c4750246e76" integrity sha512-7ZlD7bo++kVRblJEoG+cepljkfP8bfuTPz5fIXzptwnPaFwGS6ahvfoYzY7WCf5v/1nX2X02HDraVItTgbHnKw== -esbuild@^0.14.27: +esbuild@^0.14.27, esbuild@^0.14.43: version "0.14.43" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.43.tgz#c227d585c512d3e0f23b88f50b8e16501147f647" integrity sha512-Uf94+kQmy/5jsFwKWiQB4hfo/RkM9Dh7b79p8yqd1tshULdr25G2szLz631NoH3s2ujnKEKVD16RmOxvCNKRFA==