diff --git a/.config/example.yml b/.config/example.yml deleted file mode 100644 index 8326d7f7..00000000 --- a/.config/example.yml +++ /dev/null @@ -1,14 +0,0 @@ -# DiscordBot Token -token: "YOUR_TOKEN_HERE" - -# Your Discord ID (e.g using for spotify auth) -botMasterId: "Your Discord ID" - -# DiscordBot Prefix -prefix: "YOUR_BOT_PREFIX_HERE" - -# DeepL API Key -deeplApiKey: "YOUR_DEEPL_API_KEY_HERE" - -# Commands Install Target Server ID -setCommandsTargetServers: [] diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..3685120b --- /dev/null +++ b/.env.example @@ -0,0 +1,15 @@ +# DiscordBot Token +TOKEN="YOUR_TOKEN_HERE" + +# DiscordBot Owner +BOT_MASTER_ID="Your Discord ID" + +# DiscordBot Prefix +PREFIX="YOUR_BOT_PREFIX_HERE" + +# DeepL API Key +DEEPL_API_KEY="YOUR_DEEPL_API_KEY_HERE" + +# Commands Install Target Server ID +# e.g. 123456789012345678,123456789012345678,123456789012345678 +SET_COMMANDS_TARGET_SERVERS="YOUR_SERVER_ID_HERE" diff --git a/.github/workflows/approve.yml b/.github/workflows/approve.yml index 2fa9e661..82388410 100644 --- a/.github/workflows/approve.yml +++ b/.github/workflows/approve.yml @@ -25,7 +25,6 @@ jobs: with: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} - # ghコマンドを利用して自身をreviewerに追加 - name: Approve run: gh pr review ${{ env.NUMBER }} --approve env: diff --git a/.vscode/settings.json b/.vscode/settings.json index 0be62bc0..db5f37b0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,4 @@ { - "files.eol": "\n", - "cSpell.words": [ - "discordjs" - ] + "files.eol": "\n", + "cSpell.words": ["discordjs", "divitation"] } diff --git a/Dockerfile b/Dockerfile index d2ee3c8a..3a0246b7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,6 @@ COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/built ./built COPY --from=builder /app/package.json ./package.json -ENV NODE_ENV=production +ENV NODE_ENV=container ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["yarn", "start"] diff --git a/docker-compose.yml b/compose.yml similarity index 72% rename from docker-compose.yml rename to compose.yml index 67a15ab8..c53c2537 100644 --- a/docker-compose.yml +++ b/compose.yml @@ -4,5 +4,5 @@ services: container_name: app image: na2na/2na2-discord:main restart: always - volumes: - - .config:/app/.config + env_file: + - ./.env diff --git a/package.json b/package.json index 20cd8e1b..d50bb489 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "license": "MIT", "scripts": { "start": "node built/index.js --trace-warnings", - "dev": "nodemon", + "dev": "yarn nodemon", "build": "yarn tsc -p tsconfig.json && yarn tsc-alias -p tsconfig.json", "lint": "yarn eslint --ext .js,.ts .", "lint:fix": "yarn eslint --ext .js,.ts . --fix", @@ -24,22 +24,21 @@ "deepl-node": "1.7.1", "discord-api-types": "0.37.16", "discord.js": "14.6.0", - "js-yaml": "4.1.0", + "dotenv": "^16.0.3", "libsodium-wrappers": "0.7.10", "spotify-web-api-node": "5.0.2", "twemoji-parser": "14.0.0" }, "devDependencies": { - "@swc/core": "1.3.11", + "@swc/core": "1.3.14", "@swc/helpers": "0.4.12", "@types/chai": "4.3.3", "@types/color": "3.0.3", - "@types/js-yaml": "4.0.5", "@types/mocha": "10.0.0", - "@types/node": "18.11.8", + "@types/node": "18.11.9", "@types/twemoji-parser": "13.1.1", - "@typescript-eslint/eslint-plugin": "5.41.0", - "@typescript-eslint/parser": "5.41.0", + "@typescript-eslint/eslint-plugin": "5.42.0", + "@typescript-eslint/parser": "5.42.0", "chai": "4.3.6", "eslint": "8.26.0", "eslint-config-google": "0.14.0", diff --git a/src/client.ts b/src/client.ts index 6dc55b0e..021722c9 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,6 +1,6 @@ /* eslint-disable require-jsdoc */ import {CacheType, Client, GatewayIntentBits, Interaction, InteractionType, Message} from 'discord.js'; -import {config} from '@/config.js'; +import {config} from '@/config/index.js'; import { commandSetType, interactionHookType, diff --git a/src/config.ts b/src/config.ts deleted file mode 100644 index 1776c4a9..00000000 --- a/src/config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import {load} from 'js-yaml'; -import {readFileSync} from 'fs'; - -type config = { - token: string; - botMasterId: string; - prefix: string; - deeplApiKey: string; - setCommandsTargetServers: string[]; -} - -export const config = load(readFileSync('.config/default.yml', 'utf8')) as Readonly; diff --git a/src/config/index.ts b/src/config/index.ts new file mode 100644 index 00000000..eef3e090 --- /dev/null +++ b/src/config/index.ts @@ -0,0 +1,59 @@ +import _log from '@utils/log.js'; +// eslint-disable-next-line require-jsdoc +function log(msg: string): void { + _log(`[Config]: ${msg}`); +} + +type configType = { + token: string; + botMasterId: string; + prefix: string; + deeplApiKey: string; + setCommandsTargetServers: string[]; +} + +if (process.env['NODE_ENV'] !== 'container') { + log('Running in direct deployment mode. .env file loaded.'); + const dotenv = await import('dotenv'); + dotenv.config(); +} else { + log('Running in container mode. using environment variables.'); +}; + +export const config: configType = { + token: (() => { + if (process.env['TOKEN']) { + return process.env['TOKEN']; + } else { + throw new Error('TOKEN is not defined.'); + } + })(), + botMasterId: (() => { + if (process.env['BOT_MASTER_ID']) { + return process.env['BOT_MASTER_ID']; + } else { + throw new Error('BOT_MASTER_ID is not defined.'); + } + })(), + prefix: (() => { + if (process.env['PREFIX']) { + return process.env['PREFIX']; + } else { + throw new Error('PREFIX is not defined.'); + } + })(), + deeplApiKey: (() => { + if (process.env['DEEPL_API_KEY']) { + return process.env['DEEPL_API_KEY']; + } else { + throw new Error('DEEPL_API_KEY is not defined.'); + } + })(), + setCommandsTargetServers: (() => { + if (process.env['SET_COMMANDS_TARGET_SERVERS']) { + return process.env['SET_COMMANDS_TARGET_SERVERS'].split(','); + } else { + return []; + } + })(), +}; diff --git a/src/index.ts b/src/index.ts index 210adf5d..dbcf31c2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -11,7 +11,7 @@ function log(msg: string): void { import {Ping} from '@modules/hooks/ping/index.js'; import {Dice} from '@modules/hooks/dice/index.js'; import {Translate} from '@modules/hooks/translate/index.js'; -import {ColorPicker} from '@/modules/hooks/colorpicker/index.js'; +import {ColorPicker} from '@/modules/hooks/colorPicker/index.js'; import {Divination} from '@modules/hooks/divination/index.js'; import {Menu} from '@modules/hooks/menu/index.js'; import {Search} from '@modules/hooks/search/index.js'; @@ -49,4 +49,5 @@ const commands: commandSetType[] = [ ]; log('Starting Na2Client...'); + new Na2Client(hooks, commands); diff --git a/src/modules/hooks/colorpicker/index.ts b/src/modules/hooks/colorPicker/index.ts similarity index 100% rename from src/modules/hooks/colorpicker/index.ts rename to src/modules/hooks/colorPicker/index.ts diff --git a/src/modules/hooks/divination/index.ts b/src/modules/hooks/divination/index.ts index a819300d..0515005e 100644 --- a/src/modules/hooks/divination/index.ts +++ b/src/modules/hooks/divination/index.ts @@ -2,7 +2,7 @@ /* eslint-disable require-jsdoc */ import {boundMethod} from 'autobind-decorator'; import {queryMessage} from '@/types.js'; -import {config} from '@/config.js'; +import {config} from '@/config/index.js'; import {EmbedBuilder, ColorResolvable, EmbedFooterData, Message} from 'discord.js'; import dayjs from 'dayjs'; import {Translator} from 'deepl-node'; diff --git a/src/modules/hooks/translate/index.ts b/src/modules/hooks/translate/index.ts index cf569d36..ed94e4b2 100644 --- a/src/modules/hooks/translate/index.ts +++ b/src/modules/hooks/translate/index.ts @@ -1,6 +1,6 @@ /* eslint-disable require-jsdoc */ import {queryMessage} from '@/types.js'; -import {config} from '@/config.js'; +import {config} from '@/config/index.js'; import {Translator} from 'deepl-node'; import {Message} from 'discord.js'; diff --git a/yarn.lock b/yarn.lock index 2f7013a0..495de02d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -724,101 +724,71 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@swc/core-android-arm-eabi@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.3.11.tgz#a0a3f0231922f5e6c1cc7248dd38b379e8074d7d" - integrity sha512-LC9JlMcdFmTU94KKmQkJKaPSeVmYTfVm2rKGESMiFrgIjopXL/Zeg+XHA97ucnh5iUMkWIpXAMzSOaVRs33K5g== - dependencies: - "@swc/wasm" "1.2.122" - -"@swc/core-android-arm64@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.3.11.tgz#d6301ff9875f96586685f0daa14b9cedebfbd486" - integrity sha512-M7FamR3kFpVTyTw73FzKcOZmS7/TWHX75eqtwBTaU9fW4shf0KTLr/h9DnMxNKAnwUMeub/lqlINUe5EKFIKwQ== - dependencies: - "@swc/wasm" "1.2.130" - -"@swc/core-darwin-arm64@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.11.tgz#fcedec7ba90be97059aa0ebd6e587fe33a4092f4" - integrity sha512-LOoiw3uQDuoKBLW3Mn8p6wIccpYjAoDI3ROdto4MksLQSraHMufXY8bqqncfVuy1750XZmC1qnU39RC3yihPfA== - -"@swc/core-darwin-x64@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.11.tgz#bc8421f256e05a40d0a859fbc67c07b35443e118" - integrity sha512-ycjrEbWmpU8MTDdVLdf76ClxQCSTfNqSoP59hieLzhmXpXUa7Oy4sN/v6WSQgp4I1euGs1Wp5kPU5hH5f7XBJQ== - -"@swc/core-freebsd-x64@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.3.11.tgz#6b8badd7a927542f8b5094db51384aa074f4a1ac" - integrity sha512-02uqYktPp6WmZfZ2Crc/yIVOcgANtjo8ciHcT7yLHvz7v+S7gx1I2tyNGUFtTX5hcR2IFNGrL8Yj4DvpTABFHg== - dependencies: - "@swc/wasm" "1.2.130" - -"@swc/core-linux-arm-gnueabihf@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.11.tgz#da8d017ba1f1872a4bcfa6d95df581b56da5e05c" - integrity sha512-nZ2T/gPFncsIiFGhVeVY9vRCTX0hTdqso8OEvFhSwRfRvcEYOpb/rhMG09are7YoB44GMiku5tSzEiNmvT3GuQ== - dependencies: - "@swc/wasm" "1.2.130" - -"@swc/core-linux-arm64-gnu@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.11.tgz#8c190f9f04f2e1a87911b364aef77092a7f13221" - integrity sha512-EWEd8NnGwhykEDFIet/r4Fcfr6805ecnBniHZWmG8UVYUp5tz7LYEMZesxCxa0+aGVpCmxHL5/Cdk1uEIrVIzg== - -"@swc/core-linux-arm64-musl@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.11.tgz#1391125a8bccb30d6b7088830b562fb7ebf5057b" - integrity sha512-ms7CLj2+8sfTM2QnnwqDheYRky9rgPpX2hXmc0KltX+AiSAs7WURjn2JwXWkaICDzXL+djennfswxSspJ53knw== - -"@swc/core-linux-x64-gnu@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.11.tgz#37583244495d1e01d43d58cbd5282f3424e51bce" - integrity sha512-Fq5/QEY0IbzpIrqlvQT59aMf+nLk//esL3Aj4nvZdsvF4iZaD2oHtXW+/MBi0i1HV9OBWApGZMygYNVS0uVZkQ== - -"@swc/core-linux-x64-musl@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.11.tgz#2ff2f34abd1717ce9ad5c718f106f71dca0aa3a8" - integrity sha512-S/KoEgRHwGhs7VunHiz4jLrnFOJvqZe391j2MiYN1p2EThoGI3rvwcUoHkoxLCXVuDbi4E91qodOheaMGetWNA== - -"@swc/core-win32-arm64-msvc@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.11.tgz#496c881be09eda3cf87b1cc375449432e06531f0" - integrity sha512-fFby7KOQIxolR6w4Gie8MSkgQ3ee6j3r7A6PX4ekzu+509QsZogLPZnWFTJ8WFo7ui0tx/ocA5X8BV4ZNBVlKQ== - dependencies: - "@swc/wasm" "1.2.130" - -"@swc/core-win32-ia32-msvc@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.11.tgz#99e3a8d3d73f6df7f781e87a0b9589ea343be383" - integrity sha512-fii7Y33S9Z5oZ/BTsXa8Ou/RZ4T/ZsAOFpG7mMvifpdAP6LVWdhLoNy7SeeEHTEAWGcWNA/FslA6p2WETvEEfA== - dependencies: - "@swc/wasm" "1.2.130" - -"@swc/core-win32-x64-msvc@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.11.tgz#c2764abec1ddeebda52bc86a951596fb12518db9" - integrity sha512-cDF4qBQLf3U0KypnLn3T1HtE12QmEplPGjWs2Xd/hzVkjsPixVR8XIgLlczsj7Pk7Of7VDnUDLIl52aIdgTm8w== - -"@swc/core@1.3.11": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.11.tgz#6525610caa101cc966f6cc047250d704243e37b0" - integrity sha512-lnCnnnNCsnbrhW/gwkoN0sAeIqOyoHLS4ZB20xmPJjKVfvTnJrAcNnLSiwlYdcoUSFqT2GYZjUAG6usEzRQASA== +"@swc/core-darwin-arm64@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.14.tgz#47350e5cc3807a44321e883b35516146747ce4d0" + integrity sha512-QFuUq3341uOCrJMIWGuo+CmRC5qZoM2lUo7o2lmv1FO1Dh9njTG85pLD83vz6y4j/F034DBGzvRgSti/Bsoccw== + +"@swc/core-darwin-x64@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.14.tgz#5028baa85f99e5fb65117a8413d6f0a000dfd136" + integrity sha512-fpAjbjXimJBmxCumRB8zjEtPc0lGUi9Uvu92XH6ww6AyXvg7KQmua5P2R9tnzAm6NwTCXKkgS86cgKysAbbObw== + +"@swc/core-linux-arm-gnueabihf@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.14.tgz#6c03573b9b4b53c2e2ebb9bb52e097649bc19c5b" + integrity sha512-3XSFlgIyDPS+x2c0IFr0AGj4NUbrWGKbkkUCpmAURII0n3YoDsYw8Ux73I8MkWxTTwDGkou8qQOXyA28kAUM4w== + +"@swc/core-linux-arm64-gnu@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.14.tgz#2dc7aa4b6c58be99061307fd06e56570f0f94e0e" + integrity sha512-r3fToDRYX76NEptAjvDg5aGrbitOgqooV37RpSTIGYd/CSNuin4cpCNFdca/Vh5lnNfal7mqdGDbG7gMruARtw== + +"@swc/core-linux-arm64-musl@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.14.tgz#d9b8e6c91779fba0a1e8fc74f27848005516663d" + integrity sha512-IivEUC+3HNSsQNCfaCDzev2CpsvWpgFReitCmj0PKIdXFRsTi78jtJiraLWnYy956j4wwZbKN0OFGkS2ekKAVg== + +"@swc/core-linux-x64-gnu@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.14.tgz#d00f39e8ab6b65761a9f6352520310154b01efbf" + integrity sha512-HtwwA1Z0tE2z9fgaR5ehgY5ULbnVLHj3tayyWhIElF4EWsi6aQfCyn/oCZAcjoPKfEnJiSNBYt5gMmfK8l4mJA== + +"@swc/core-linux-x64-musl@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.14.tgz#0868546ea3228795734e771a6835c3921864604b" + integrity sha512-RPXilkTD8IVgpou4TNuqZJOB7kMrVJ7sm7GgHF4v1eV3xdIyvy4w5FWjXZRdwMW6iunLgQEckuOmVx0I4mrdNg== + +"@swc/core-win32-arm64-msvc@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.14.tgz#398f6a0517b0e8bceb98680e7d2eaa9430a4df95" + integrity sha512-H8Ka/ahJRs84hQCHC5ndORujbLBmi1mv+Z/m4CXpOaEX7TmeAo8nA17rrRckNvVkud9fghsKQGjkBQvJ0v7mRw== + +"@swc/core-win32-ia32-msvc@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.14.tgz#be356a8fa3810e89d72bef57497aebdf03d64b7a" + integrity sha512-H3ZmDXrVxrqBzzCFodwYfcXfTHE0xGNLJlLGzJ4haV6RBM3ZYIvRzDtPivDzic/VQncmPj1WpLoEDfx/7KNC8Q== + +"@swc/core-win32-x64-msvc@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.14.tgz#5d1dba5203030538d2c0161630068a17b5b4fd88" + integrity sha512-/D1lhWF/DQi2M7b6jWL35NmTY0mRJ5mwTXdmjqNNWOZ8h8TXQo1A3/FDFnfIIcRUeSNdF7IeB3xInT3BI34E1w== + +"@swc/core@1.3.14": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.14.tgz#596a0ba34ffd63eb87778eeffe9e97916a87af7d" + integrity sha512-LpTTrXOGS7vnbR/rHrAux7GykUWbyVmI5NbICl9iF9yeqFdGm6JjaGBhbanmG8zrQL5aFx2kMxxb92V9D1KUiw== optionalDependencies: - "@swc/core-android-arm-eabi" "1.3.11" - "@swc/core-android-arm64" "1.3.11" - "@swc/core-darwin-arm64" "1.3.11" - "@swc/core-darwin-x64" "1.3.11" - "@swc/core-freebsd-x64" "1.3.11" - "@swc/core-linux-arm-gnueabihf" "1.3.11" - "@swc/core-linux-arm64-gnu" "1.3.11" - "@swc/core-linux-arm64-musl" "1.3.11" - "@swc/core-linux-x64-gnu" "1.3.11" - "@swc/core-linux-x64-musl" "1.3.11" - "@swc/core-win32-arm64-msvc" "1.3.11" - "@swc/core-win32-ia32-msvc" "1.3.11" - "@swc/core-win32-x64-msvc" "1.3.11" + "@swc/core-darwin-arm64" "1.3.14" + "@swc/core-darwin-x64" "1.3.14" + "@swc/core-linux-arm-gnueabihf" "1.3.14" + "@swc/core-linux-arm64-gnu" "1.3.14" + "@swc/core-linux-arm64-musl" "1.3.14" + "@swc/core-linux-x64-gnu" "1.3.14" + "@swc/core-linux-x64-musl" "1.3.14" + "@swc/core-win32-arm64-msvc" "1.3.14" + "@swc/core-win32-ia32-msvc" "1.3.14" + "@swc/core-win32-x64-msvc" "1.3.14" "@swc/helpers@0.4.12": version "0.4.12" @@ -827,16 +797,6 @@ dependencies: tslib "^2.4.0" -"@swc/wasm@1.2.122": - version "1.2.122" - resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.2.122.tgz#87a5e654b26a71b2e84b801f41e45f823b856639" - integrity sha512-sM1VCWQxmNhFtdxME+8UXNyPNhxNu7zdb6ikWpz0YKAQQFRGT5ThZgJrubEpah335SUToNg8pkdDF7ibVCjxbQ== - -"@swc/wasm@1.2.130": - version "1.2.130" - resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.2.130.tgz#88ac26433335d1f957162a9a92f1450b73c176a0" - integrity sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q== - "@tokenizer/token@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" @@ -945,11 +905,6 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/js-yaml@4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" - integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== - "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" @@ -970,10 +925,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== -"@types/node@18.11.8": - version "18.11.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.8.tgz#16d222a58d4363a2a359656dd20b28414de5d265" - integrity sha512-uGwPWlE0Hj972KkHtCDVwZ8O39GmyjfMane1Z3GUBGGnkZ2USDq7SxLpVIiIHpweY9DS0QTDH0Nw7RNBsAAZ5A== +"@types/node@18.11.9": + version "18.11.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" + integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== "@types/prettier@^2.1.5": version "2.6.3" @@ -1014,86 +969,87 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz#f8eeb1c6bb2549f795f3ba71aec3b38d1ab6b1e1" - integrity sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA== +"@typescript-eslint/eslint-plugin@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz#36a8c0c379870127059889a9cc7e05c260d2aaa5" + integrity sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ== dependencies: - "@typescript-eslint/scope-manager" "5.41.0" - "@typescript-eslint/type-utils" "5.41.0" - "@typescript-eslint/utils" "5.41.0" + "@typescript-eslint/scope-manager" "5.42.0" + "@typescript-eslint/type-utils" "5.42.0" + "@typescript-eslint/utils" "5.42.0" debug "^4.3.4" ignore "^5.2.0" + natural-compare-lite "^1.4.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.41.0.tgz#0414a6405007e463dc527b459af1f19430382d67" - integrity sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA== +"@typescript-eslint/parser@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.0.tgz#be0ffbe279e1320e3d15e2ef0ad19262f59e9240" + integrity sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA== dependencies: - "@typescript-eslint/scope-manager" "5.41.0" - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/typescript-estree" "5.41.0" + "@typescript-eslint/scope-manager" "5.42.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/typescript-estree" "5.42.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz#28e3a41d626288d0628be14cf9de8d49fc30fadf" - integrity sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ== +"@typescript-eslint/scope-manager@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz#e1f2bb26d3b2a508421ee2e3ceea5396b192f5ef" + integrity sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow== dependencies: - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/visitor-keys" "5.41.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/visitor-keys" "5.42.0" -"@typescript-eslint/type-utils@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz#2371601171e9f26a4e6da918a7913f7266890cdf" - integrity sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA== +"@typescript-eslint/type-utils@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz#4206d7192d4fe903ddf99d09b41d4ac31b0b7dca" + integrity sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg== dependencies: - "@typescript-eslint/typescript-estree" "5.41.0" - "@typescript-eslint/utils" "5.41.0" + "@typescript-eslint/typescript-estree" "5.42.0" + "@typescript-eslint/utils" "5.42.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.41.0.tgz#6800abebc4e6abaf24cdf220fb4ce28f4ab09a85" - integrity sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA== +"@typescript-eslint/types@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.0.tgz#5aeff9b5eced48f27d5b8139339bf1ef805bad7a" + integrity sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw== -"@typescript-eslint/typescript-estree@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz#bf5c6b3138adbdc73ba4871d060ae12c59366c61" - integrity sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg== +"@typescript-eslint/typescript-estree@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz#2592d24bb5f89bf54a63384ff3494870f95b3fd8" + integrity sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg== dependencies: - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/visitor-keys" "5.41.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/visitor-keys" "5.42.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.41.0.tgz#f41ae5883994a249d00b2ce69f4188f3a23fa0f9" - integrity sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ== +"@typescript-eslint/utils@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.0.tgz#f06bd43b9a9a06ed8f29600273240e84a53f2f15" + integrity sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.41.0" - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/typescript-estree" "5.41.0" + "@typescript-eslint/scope-manager" "5.42.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/typescript-estree" "5.42.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz#d3510712bc07d5540160ed3c0f8f213b73e3bcd9" - integrity sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw== +"@typescript-eslint/visitor-keys@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz#ee8d62d486f41cfe646632fab790fbf0c1db5bb0" + integrity sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg== dependencies: - "@typescript-eslint/types" "5.41.0" + "@typescript-eslint/types" "5.42.0" eslint-visitor-keys "^3.3.0" abbrev@1: @@ -1757,6 +1713,11 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dotenv@^16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + electron-to-chromium@^1.4.188: version "1.4.199" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz#e0384fde79fdda89880e8be58196a9153e04db3b" @@ -3326,6 +3287,11 @@ nanoid@3.3.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"