diff --git a/api/.dockerignore b/.dockerignore
index 76add878..76add878 100644
--- a/api/.dockerignore
+++ b/.dockerignore
diff --git a/api/.env.example b/api/.env.example
deleted file mode 100644
index 5974f628..00000000
--- a/api/.env.example
+++ /dev/null
@@ -1,8 +0,0 @@
-MONGO_URL=mongodb://localhost/fosscord
-PORT=3001
-PRODUCTION=TRUE
-THREADS=# automatically use all available cores, only available if production = true
-#LOG_REQUESTS=
-# only log 200 and 204: LOG_REQUESTS=200 204
-# log everything except 200 and 204: LOG_REQUESTS=-200 204
-# log all requests: LOG_REQUESTS=-
\ No newline at end of file
diff --git a/api/.gitignore b/api/.gitignore
deleted file mode 100644
index 662816b9..00000000
--- a/api/.gitignore
+++ /dev/null
@@ -1,115 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# TypeScript v1 declaration files
-typings/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Microbundle cache
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-.env.test
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-
-# Next.js build output
-.next
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-build
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and *not* Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# TernJS port file
-.tern-port
-
-.DS_STORE
-src/ready.json
-
-# Docker
-.docker/config/*
-!.docker/config/.keep
-
-# fosscord
-*.db
\ No newline at end of file
diff --git a/api/.npmignore b/api/.npmignore
deleted file mode 100644
index 05a9d0cf..00000000
--- a/api/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-!dist/
\ No newline at end of file
diff --git a/api/.prettierrc b/api/.prettierrc
deleted file mode 100644
index 8a2c607f..00000000
--- a/api/.prettierrc
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "tabWidth": 4,
- "useTabs": true,
- "printWidth": 140,
- "trailingComma": "none"
-}
diff --git a/api/.vscode/api-snippets.code-snippets b/api/.vscode/api-snippets.code-snippets
deleted file mode 100644
index ef4b6386..00000000
--- a/api/.vscode/api-snippets.code-snippets
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "API Router": {
- "scope": "javascript,typescript",
- "prefix": "router",
- "body": [
- "import { Router, Response, Request } from \"express\";",
- "import { route } from \"@fosscord/api\";",
- "",
- "const router = Router();",
- "",
- "router.get(\"/\", route({}), (req: Request, res: Response) => {",
- "\tres.json({});",
- "});",
- "",
- "export default router;"
- ],
- "description": "A basic API router setup for a blank route."
- },
- "Route": {
- "scope": "typescript",
- "prefix": "route",
- "body": ["router.get(\"$1\", route({}), (req: Request, res: Response) => {", "\t$2", "});"],
- "description": "An API endpoint"
- }
-}
diff --git a/api/.vscode/launch.json b/api/.vscode/launch.json
deleted file mode 100644
index 221931ee..00000000
--- a/api/.vscode/launch.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "sourceMaps": true,
- "type": "node",
- "request": "launch",
- "name": "Launch Server",
- "program": "${workspaceFolder}/dist/start.js",
- "preLaunchTask": "tsc: build - tsconfig.json",
- "outFiles": ["${workspaceFolder}/dist/**/*.js"],
- "envFile": "${workspaceFolder}/.env"
- },
- {
- "name": "Debug current file",
- "program": "${file}",
- "request": "launch",
- "skipFiles": ["<node_internals>/**"],
- "runtimeArgs": ["--nolazy", "-r", "ts-node/register/transpile-only"],
- "preLaunchTask": "tsc: build - tsconfig.json",
- "type": "node",
- "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"]
- }
- ]
-}
diff --git a/api/Dockerfile b/api/Dockerfile
deleted file mode 100644
index 08d15f72..00000000
--- a/api/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM node:lts-alpine
-# needed for native packages (bcrypt, canvas)
-RUN apk add --no-cache make gcc g++ python cairo-dev jpeg-dev pango-dev giflib-dev
-WORKDIR /usr/src/fosscord-server
-COPY package.json .
-COPY package-lock.json .
-RUN npm rebuild bcrypt --build-from-source && npm install canvas --build-from-source
-RUN npm install
-COPY . .
-EXPOSE 3001
-RUN npm run build-docker
-CMD ["node", "dist/start.js"]
diff --git a/api/README.md b/api/README.md
deleted file mode 100644
index 384a9611..00000000
--- a/api/README.md
+++ /dev/null
@@ -1,67 +0,0 @@
-<p align="center">
- <img width="100" src="https://raw.githubusercontent.com/fosscord/fosscord/master/assets/logo_big_transparent.png" />
-</p>
-<h1 align="center">Fosscord HTTP API Server</h1>
-
-<p>
- <a href="https://discord.gg/ZrnGQP6p3d">
- <img src="https://img.shields.io/discord/806142446094385153?color=7489d5&logo=discord&logoColor=ffffff" />
- </a>
- <img src="https://img.shields.io/static/v1?label=Status&message=Development&color=blue">
- <a title="Crowdin" target="_blank" href="https://translate.fosscord.com/"><img src="https://badges.crowdin.net/fosscord/localized.svg"></a>
- <a href="https://opencollective.com/fosscord">
- <img src="https://opencollective.com/fosscord/tiers/badge.svg">
- </a>
-</p>
-
-## [About](https://github.com/fosscord/fosscord-server/wiki)
-
-This repository contains the Fosscord HTTP API Server
-
-## Bug Tracker
-
-[Project Board](https://fosscord.notion.site/2c7fe9e73f9842d3bab3a4912dedd091)
-
-## API
-
-We use [express](https://expressjs.com/) for the HTTP Server and
-[lambert-server](https://www.npmjs.com/package/lambert-server) for route handling and body validation (customized).
-
-## Contribution
-
-You should be familiar with:
-
-- [Git](https://git-scm.com/)
-- [NodeJS](https://nodejs.org/)
-- [TypeScript](https://www.typescriptlang.org/)
-- [MongoDB/mongoose](http://mongoosejs.com/)
-
-and the other technologies we use
-
-### Getting Started
-
-Clone the Repository:
-
-```bash
-git clone https://github.com/fosscord/fosscord-server
-cd fosscord-server
-```
-
-#### Install (dev)dependencies:
-
-```bash
-npm install
-npm install --only=dev
-```
-
-#### Starting:
-
-```
-npm start
-```
-
-#### Debugging:
-
-**Vscode:**
-The Launch file configuration is in `./vscode/launch.json`,
-so you can just debug the server by pressing `F5` or the `> Launch Server` button
diff --git a/api/assets/checkLocale.js b/api/assets/checkLocale.js
deleted file mode 100644
index 016d66c8..00000000
--- a/api/assets/checkLocale.js
+++ /dev/null
@@ -1,47 +0,0 @@
- const localStorage = window.localStorage;
- // TODO: remote auth
- // window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
- localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
- localStorage.setItem(
- "DeveloperOptionsStore",
- `{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
- );
-
- const supportedLocales = [
- "bg",
- "cs",
- "da",
- "de",
- "el",
- "en-GB",
- "es-ES",
- "fi",
- "fr",
- "hi",
- "hr",
- "hu",
- "it",
- "ja",
- "ko",
- "lt",
- "nl",
- "no",
- "pl",
- "pt-BR",
- "ro",
- "ru",
- "sv-SE",
- "th",
- "tr",
- "uk",
- "vi",
- "zh-CN",
- "zh-TW"
- ];
-
- const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
- if (settings && !supportedLocales.includes(settings.locale)) {
- // fix client locale wrong and client not loading at all
- settings.locale = "en-US";
- localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
- }
\ No newline at end of file
diff --git a/api/assets/schemas.json b/api/assets/schemas.json
deleted file mode 100644
index 2102292b..00000000
--- a/api/assets/schemas.json
+++ /dev/null
@@ -1,13982 +0,0 @@
-{
- "MessageCreateSchema": {
- "type": "object",
- "properties": {
- "type": {
- "type": "integer"
- },
- "content": {
- "type": "string"
- },
- "nonce": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "tts": {
- "type": "boolean"
- },
- "flags": {
- "type": "string"
- },
- "embeds": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Embed"
- }
- },
- "embed": {
- "$ref": "#/definitions/Embed"
- },
- "allowed_mentions": {
- "type": "object",
- "properties": {
- "parse": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "users": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "replied_user": {
- "type": "boolean"
- }
- },
- "additionalProperties": false
- },
- "message_reference": {
- "type": "object",
- "properties": {
- "message_id": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "fail_if_not_exists": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "channel_id",
- "message_id"
- ]
- },
- "payload_json": {
- "type": "string"
- },
- "file": {},
- "attachments": {
- "description": "TODO: we should create an interface for attachments\nTODO: OpenWAAO<-->attachment-style metadata conversion",
- "type": "array",
- "items": {}
- },
- "sticker_ids": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "RouteResponse": {
- "type": "object",
- "properties": {
- "status": {
- "type": "integer"
- },
- "body": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "headers": {
- "$ref": "#/definitions/Record<string,string>"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "LoginSchema": {
- "type": "object",
- "properties": {
- "login": {
- "type": "string"
- },
- "password": {
- "type": "string"
- },
- "undelete": {
- "type": "boolean"
- },
- "captcha_key": {
- "type": "string"
- },
- "login_source": {
- "type": "string"
- },
- "gift_code_sku_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "login",
- "password"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "RegisterSchema": {
- "type": "object",
- "properties": {
- "username": {
- "minLength": 2,
- "maxLength": 32,
- "type": "string"
- },
- "password": {
- "minLength": 1,
- "maxLength": 72,
- "type": "string"
- },
- "consent": {
- "type": "boolean"
- },
- "email": {
- "format": "email",
- "type": "string"
- },
- "fingerprint": {
- "type": "string"
- },
- "invite": {
- "type": "string"
- },
- "date_of_birth": {
- "type": "string"
- },
- "gift_code_sku_id": {
- "type": "string"
- },
- "captcha_key": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "consent",
- "username"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "InviteCreateSchema": {
- "type": "object",
- "properties": {
- "target_user_id": {
- "type": "string"
- },
- "target_type": {
- "type": "string"
- },
- "validate": {
- "type": "string"
- },
- "max_age": {
- "type": "integer"
- },
- "max_uses": {
- "type": "integer"
- },
- "temporary": {
- "type": "boolean"
- },
- "unique": {
- "type": "boolean"
- },
- "target_user": {
- "type": "string"
- },
- "target_user_type": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "MessageAcknowledgeSchema": {
- "type": "object",
- "properties": {
- "manual": {
- "type": "boolean"
- },
- "mention_count": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BulkDeleteSchema": {
- "type": "object",
- "properties": {
- "messages": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "messages"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "ChannelPermissionOverwriteSchema": {
- "type": "object",
- "properties": {
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "PurgeSchema": {
- "type": "object",
- "properties": {
- "before": {
- "type": "string"
- },
- "after": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "after",
- "before"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "WebhookCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 80,
- "type": "string"
- },
- "avatar": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "avatar",
- "name"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GatewayBotResponse": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "shards": {
- "type": "integer"
- },
- "session_start_limit": {
- "type": "object",
- "properties": {
- "total": {
- "type": "integer"
- },
- "remaining": {
- "type": "integer"
- },
- "reset_after": {
- "type": "integer"
- },
- "max_concurrency": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "max_concurrency",
- "remaining",
- "reset_after",
- "total"
- ]
- }
- },
- "additionalProperties": false,
- "required": [
- "session_start_limit",
- "shards",
- "url"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GatewayResponse": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "url"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BanCreateSchema": {
- "type": "object",
- "properties": {
- "delete_message_days": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BanRegistrySchema": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "user_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "executor_id": {
- "type": "string"
- },
- "ip": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "executor_id",
- "guild_id",
- "id",
- "user_id"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BanModeratorSchema": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "user_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "executor_id": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "executor_id",
- "guild_id",
- "id",
- "user_id"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "ChannelReorderSchema": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- },
- "lock_permissions": {
- "type": "boolean"
- },
- "parent_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "id"
- ]
- },
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "EmojiCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "require_colons": {
- "type": [
- "null",
- "boolean"
- ]
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "image"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "EmojiModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GuildCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "channels": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ChannelModifySchema"
- }
- },
- "guild_template_code": {
- "type": "string"
- },
- "system_channel_id": {
- "type": "string"
- },
- "rules_channel_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GuildUpdateSchema": {
- "type": "object",
- "properties": {
- "banner": {
- "type": [
- "null",
- "string"
- ]
- },
- "splash": {
- "type": [
- "null",
- "string"
- ]
- },
- "description": {
- "type": "string"
- },
- "features": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "verification_level": {
- "type": "integer"
- },
- "default_message_notifications": {
- "type": "integer"
- },
- "system_channel_flags": {
- "type": "integer"
- },
- "explicit_content_filter": {
- "type": "integer"
- },
- "public_updates_channel_id": {
- "type": "string"
- },
- "afk_timeout": {
- "type": "integer"
- },
- "afk_channel_id": {
- "type": "string"
- },
- "preferred_locale": {
- "type": "string"
- },
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "guild_template_code": {
- "type": "string"
- },
- "system_channel_id": {
- "type": "string"
- },
- "rules_channel_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "MemberChangeSchema": {
- "type": "object",
- "properties": {
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "MemberNickChangeSchema": {
- "type": "object",
- "properties": {
- "nick": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "nick"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "PruneSchema": {
- "type": "object",
- "properties": {
- "days": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "days"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "RoleModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "permissions": {
- "type": "string"
- },
- "color": {
- "type": "integer"
- },
- "hoist": {
- "type": "boolean"
- },
- "mentionable": {
- "type": "boolean"
- },
- "position": {
- "type": "integer"
- },
- "icon": {
- "type": "string"
- },
- "unicode_emoji": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "RolePositionUpdateSchema": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "id",
- "position"
- ]
- },
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "ModifyGuildStickerSchema": {
- "type": "object",
- "properties": {
- "name": {
- "minLength": 2,
- "maxLength": 30,
- "type": "string"
- },
- "description": {
- "maxLength": 100,
- "type": "string"
- },
- "tags": {
- "maxLength": 200,
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "tags"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "TemplateCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "TemplateModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "VanityUrlSchema": {
- "type": "object",
- "properties": {
- "code": {
- "minLength": 1,
- "maxLength": 20,
- "type": "string"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "VoiceStateUpdateSchema": {
- "type": "object",
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "suppress": {
- "type": "boolean"
- },
- "request_to_speak_timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "self_mute": {
- "type": "boolean"
- },
- "self_deaf": {
- "type": "boolean"
- },
- "self_video": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "channel_id"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GuildUpdateWelcomeScreenSchema": {
- "type": "object",
- "properties": {
- "welcome_channels": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "emoji_id": {
- "type": "string"
- },
- "emoji_name": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "channel_id",
- "description",
- "emoji_name"
- ]
- }
- },
- "enabled": {
- "type": "boolean"
- },
- "description": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "WidgetModifySchema": {
- "type": "object",
- "properties": {
- "enabled": {
- "type": "boolean"
- },
- "channel_id": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "channel_id",
- "enabled"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GuildTemplateCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "avatar": {
- "type": [
- "null",
- "string"
- ]
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "UserProfileResponse": {
- "type": "object",
- "properties": {
- "user": {
- "$ref": "#/definitions/UserPublic"
- },
- "connected_accounts": {
- "$ref": "#/definitions/PublicConnectedAccount"
- },
- "premium_guild_since": {
- "type": "string",
- "format": "date-time"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "connected_accounts",
- "user"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "UserRelationsResponse": {
- "type": "object",
- "properties": {
- "object": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "username": {
- "type": "string"
- },
- "avatar": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- }
- },
- "additionalProperties": false,
- "required": [
- "object"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "DmChannelCreateSchema": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "recipients": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "recipients"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "UserModifySchema": {
- "type": "object",
- "properties": {
- "username": {
- "minLength": 1,
- "maxLength": 100,
- "type": "string"
- },
- "avatar": {
- "type": [
- "null",
- "string"
- ]
- },
- "bio": {
- "maxLength": 1024,
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": [
- "null",
- "string"
- ]
- },
- "password": {
- "type": "string"
- },
- "new_password": {
- "type": "string"
- },
- "code": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "RelationshipPutSchema": {
- "type": "object",
- "properties": {
- "type": {
- "enum": [
- 1,
- 2,
- 3,
- 4
- ],
- "type": "number"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "RelationshipPostSchema": {
- "type": "object",
- "properties": {
- "discriminator": {
- "type": "string"
- },
- "username": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "discriminator",
- "username"
- ],
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "UserSettingsSchema": {
- "type": "object",
- "properties": {
- "afk_timeout": {
- "type": "integer"
- },
- "allow_accessibility_detection": {
- "type": "boolean"
- },
- "animate_emoji": {
- "type": "boolean"
- },
- "animate_stickers": {
- "type": "integer"
- },
- "contact_sync_enabled": {
- "type": "boolean"
- },
- "convert_emoticons": {
- "type": "boolean"
- },
- "custom_status": {
- "anyOf": [
- {
- "type": "object",
- "properties": {
- "emoji_id": {
- "type": "string"
- },
- "emoji_name": {
- "type": "string"
- },
- "expires_at": {
- "type": "integer"
- },
- "text": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- {
- "type": "null"
- }
- ]
- },
- "default_guilds_restricted": {
- "type": "boolean"
- },
- "detect_platform_accounts": {
- "type": "boolean"
- },
- "developer_mode": {
- "type": "boolean"
- },
- "disable_games_tab": {
- "type": "boolean"
- },
- "enable_tts_command": {
- "type": "boolean"
- },
- "explicit_content_filter": {
- "type": "integer"
- },
- "friend_source_flags": {
- "type": "object",
- "properties": {
- "all": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "all"
- ]
- },
- "gateway_connected": {
- "type": "boolean"
- },
- "gif_auto_play": {
- "type": "boolean"
- },
- "guild_folders": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "color": {
- "type": "integer"
- },
- "guild_ids": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "color",
- "guild_ids",
- "id",
- "name"
- ]
- }
- },
- "guild_positions": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "inline_attachment_media": {
- "type": "boolean"
- },
- "inline_embed_media": {
- "type": "boolean"
- },
- "locale": {
- "type": "string"
- },
- "message_display_compact": {
- "type": "boolean"
- },
- "native_phone_integration_enabled": {
- "type": "boolean"
- },
- "render_embeds": {
- "type": "boolean"
- },
- "render_reactions": {
- "type": "boolean"
- },
- "restricted_guilds": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "show_current_game": {
- "type": "boolean"
- },
- "status": {
- "enum": [
- "dnd",
- "idle",
- "invisible",
- "offline",
- "online"
- ],
- "type": "string"
- },
- "stream_notifications_enabled": {
- "type": "boolean"
- },
- "theme": {
- "enum": [
- "dark",
- "white"
- ],
- "type": "string"
- },
- "timezone_offset": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Embed": {
- "type": "object",
- "properties": {
- "title": {
- "type": "string"
- },
- "type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
- "type": "integer"
- },
- "footer": {
- "type": "object",
- "properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "text"
- ]
- },
- "image": {
- "$ref": "#/definitions/EmbedImage"
- },
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
- },
- "video": {
- "$ref": "#/definitions/EmbedImage"
- },
- "provider": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "author": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
- },
- "proxy_icon_url": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
- },
- "height": {
- "type": "integer"
- },
- "width": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- },
- "ChannelPermissionOverwriteType": {
- "enum": [
- 0,
- 1,
- 2
- ],
- "type": "number"
- },
- "ChannelModifySchema": {
- "type": "object",
- "properties": {
- "name": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 2,
- 255,
- 3,
- 33,
- 34,
- 35,
- 4,
- 5,
- 6,
- 64,
- 7,
- 8,
- 9
- ],
- "type": "number"
- },
- "topic": {
- "type": "string"
- },
- "icon": {
- "type": [
- "null",
- "string"
- ]
- },
- "bitrate": {
- "type": "integer"
- },
- "user_limit": {
- "type": "integer"
- },
- "rate_limit_per_user": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "permission_overwrites": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/ChannelPermissionOverwriteType"
- },
- "allow": {
- "type": "string"
- },
- "deny": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "allow",
- "deny",
- "id",
- "type"
- ]
- }
- },
- "parent_id": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "nsfw": {
- "type": "boolean"
- },
- "rtc_region": {
- "type": "string"
- },
- "default_auto_archive_duration": {
- "type": "integer"
- }
- },
- "additionalProperties": false
- },
- "UserPublic": {
- "type": "object",
- "properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- },
- "avatar": {
- "type": "string"
- },
- "accent_color": {
- "type": "integer"
- },
- "banner": {
- "type": "string"
- },
- "bio": {
- "type": "string"
- },
- "bot": {
- "type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
- ]
- },
- "PublicConnectedAccount": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- }
-}
\ No newline at end of file
diff --git a/api/assets/user.css b/api/assets/user.css
deleted file mode 100644
index a7e5c4f3..00000000
--- a/api/assets/user.css
+++ /dev/null
@@ -1 +0,0 @@
-/* Your custom CSS goes here, enjoy! */
\ No newline at end of file
diff --git a/api/babel.config.js b/api/babel.config.js
deleted file mode 100644
index 45ab8ad8..00000000
--- a/api/babel.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- presets: [
- ["@babel/preset-env", { targets: { node: "current" } }],
- ["@babel/preset-typescript", { allowDeclareFields: true }]
- ]
-};
diff --git a/api/jest/getRouteDescriptions.js b/api/jest/getRouteDescriptions.js
deleted file mode 100644
index 4f8d2e75..00000000
--- a/api/jest/getRouteDescriptions.js
+++ /dev/null
@@ -1,66 +0,0 @@
-const { traverseDirectory } = require("lambert-server");
-const path = require("path");
-const express = require("express");
-const RouteUtility = require("../dist/util/route");
-const Router = express.Router;
-
-/**
- * Some documentation.
- *
- * @type {Map<string, RouteUtility.RouteOptions>}
- */
-const routes = new Map();
-let currentPath = "";
-let currentFile = "";
-const methods = ["get", "post", "put", "delete", "patch"];
-
-function registerPath(file, method, prefix, path, ...args) {
- const urlPath = prefix + path;
- const sourceFile = file.replace("/dist/", "/src/").replace(".js", ".ts");
- const opts = args.find((x) => typeof x === "object");
- if (opts) {
- routes.set(urlPath + "|" + method, opts); // @ts-ignore
- opts.file = sourceFile;
- // console.log(method, urlPath, opts);
- } else {
- console.log(`${sourceFile}\nrouter.${method}("${path}") is missing the "route()" description middleware\n`);
- }
-}
-
-function routeOptions(opts) {
- return opts;
-}
-
-// @ts-ignore
-RouteUtility.route = routeOptions;
-
-express.Router = (opts) => {
- const path = currentPath;
- const file = currentFile;
- const router = Router(opts);
-
- for (const method of methods) {
- router[method] = registerPath.bind(null, file, method, path);
- }
-
- return router;
-};
-
-module.exports = function getRouteDescriptions() {
- const root = path.join(__dirname, "..", "dist", "routes", "/");
- traverseDirectory({ dirname: root, recursive: true }, (file) => {
- currentFile = file;
- let path = file.replace(root.slice(0, -1), "");
- path = path.split(".").slice(0, -1).join("."); // trancate .js/.ts file extension of path
- path = path.replaceAll("#", ":").replaceAll("\\", "/"); // replace # with : for path parameters and windows paths with slashes
- if (path.endsWith("/index")) path = path.slice(0, "/index".length * -1); // delete index from path
- currentPath = path;
-
- try {
- require(file);
- } catch (error) {
- console.error("error loading file " + file, error);
- }
- });
- return routes;
-};
diff --git a/api/jest/globalSetup.js b/api/jest/globalSetup.js
deleted file mode 100644
index 520aa0e2..00000000
--- a/api/jest/globalSetup.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const { Config, initDatabase } = require("@fosscord/util");
-const fs = require("fs");
-const path = require("path");
-const { FosscordServer } = require("../dist/Server");
-const Server = new FosscordServer({ port: 3001 });
-global.server = Server;
-module.exports = async () => {
- try {
- fs.unlinkSync(path.join(process.cwd(), "database.db"));
- } catch {}
-
- await initDatabase();
- await Config.init();
- Config.get().limits.rate.disabled = true;
- return await Server.start();
-};
-
-// afterAll(async () => {
-// return await Server.stop();
-// });
diff --git a/api/jest/setup.js b/api/jest/setup.js
deleted file mode 100644
index abc485ae..00000000
--- a/api/jest/setup.js
+++ /dev/null
@@ -1,2 +0,0 @@
-jest.spyOn(global.console, "log").mockImplementation(() => jest.fn());
-jest.spyOn(global.console, "info").mockImplementation(() => jest.fn());
diff --git a/api/locales/ber/auth.json b/api/locales/ber/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ber/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/bg/auth.json b/api/locales/bg/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/bg/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/bo/auth.json b/api/locales/bo/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/bo/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ca/auth.json b/api/locales/ca/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ca/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/cs/auth.json b/api/locales/cs/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/cs/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/da/auth.json b/api/locales/da/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/da/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/de/auth.json b/api/locales/de/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/de/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/el/auth.json b/api/locales/el/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/el/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/en/auth.json b/api/locales/en/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/en/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/eo/auth.json b/api/locales/eo/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/eo/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/es/auth.json b/api/locales/es/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/es/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/eu/auth.json b/api/locales/eu/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/eu/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/fa/auth.json b/api/locales/fa/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/fa/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/fi/auth.json b/api/locales/fi/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/fi/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/fr/auth.json b/api/locales/fr/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/fr/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/gn/auth.json b/api/locales/gn/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/gn/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ha/auth.json b/api/locales/ha/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ha/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/he/auth.json b/api/locales/he/auth.json
deleted file mode 100644
index b7296868..00000000
--- a/api/locales/he/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "מייל או מספר טלפון לא נמצאים במאגר",
- "INVALID_PASSWORD": "סיסמא שגויה",
- "ACCOUNT_DISABLED": "משתמש זה חסום / מבוטל"
- },
- "register": {
- "REGISTRATION_DISABLED": "לא ניתן לאפשר רישום משתמשים חדשים",
- "INVITE_ONLY": "עליך להיות מוזמן בכדי להרשם",
- "EMAIL_INVALID": "מייל שגוי",
- "EMAIL_ALREADY_REGISTERED": "מייל זה כבר רשום",
- "DATE_OF_BIRTH_UNDERAGE": "{{years}} עלייך להיות מעל גיל",
- "CONSENT_REQUIRED": ".עליך להסכים לתנאי השירות ולמדיניות הפרטיות",
- "USERNAME_TOO_MANY_USERS": "ליותר מדי משתמשים יש שם משתמש זהה, אנא נסה אחר"
- }
-}
diff --git a/api/locales/he/common.json b/api/locales/he/common.json
deleted file mode 100644
index 4101eac4..00000000
--- a/api/locales/he/common.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "field": {
- "BASE_TYPE_REQUIRED": "שדה זה חובה",
- "BASE_TYPE_STRING": "שדה זה חייב להיות כטקסט",
- "BASE_TYPE_NUMBER": "שדה זה חייב להיות מספר",
- "BASE_TYPE_BIGINT": "השדה הזה חייב להיות ביגינט",
- "BASE_TYPE_BOOLEAN": "השדה הזה חייב להיות בוליאני",
- "BASE_TYPE_CHOICES": "({{types}}) שדה זה חייב להיות אחד מ",
- "BASE_TYPE_CLASS": "{{type}} מסוג instance שדה זה חייב להיות",
- "BASE_TYPE_OBJECT": "שדה זה חייב להיות אובייקט",
- "BASE_TYPE_ARRAY": "שדה זה חייב להיות מערך",
- "UNKOWN_FIELD": "{{key}} :מפתח לא ידוע",
- "BASE_TYPE_CONSTANT": "{{value}} שדה זה חייב להיות",
- "EMAIL_TYPE_INVALID_EMAIL": "כתובת דואר אלקטרוני לא חוקית",
- "DATE_TYPE_PARSE": "ISO8601 אמור להיות {{date}} לא ניתן לאתר",
- "BASE_TYPE_BAD_LENGTH": "{{length}} האורך חייב להיות בין"
- }
-}
diff --git a/api/locales/hi/auth.json b/api/locales/hi/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/hi/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/hr/auth.json b/api/locales/hr/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/hr/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/hu/auth.json b/api/locales/hu/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/hu/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/id/auth.json b/api/locales/id/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/id/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/it/auth.json b/api/locales/it/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/it/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ja/auth.json b/api/locales/ja/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ja/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/jv/auth.json b/api/locales/jv/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/jv/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/kk/auth.json b/api/locales/kk/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/kk/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ko/auth.json b/api/locales/ko/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ko/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ku/auth.json b/api/locales/ku/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ku/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/la/auth.json b/api/locales/la/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/la/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/lt/auth.json b/api/locales/lt/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/lt/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/mi/auth.json b/api/locales/mi/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/mi/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/mn/auth.json b/api/locales/mn/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/mn/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/mr/auth.json b/api/locales/mr/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/mr/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/nl/auth.json b/api/locales/nl/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/nl/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/nn/auth.json b/api/locales/nn/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/nn/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/no/auth.json b/api/locales/no/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/no/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/pa/auth.json b/api/locales/pa/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/pa/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/pt/auth.json b/api/locales/pt/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/pt/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/qu/auth.json b/api/locales/qu/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/qu/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ro/auth.json b/api/locales/ro/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ro/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ru/common.json b/api/locales/ru/common.json
deleted file mode 100644
index 35a74cfa..00000000
--- a/api/locales/ru/common.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "field": {
- "BASE_TYPE_REQUIRED": "Это поле является обязательным",
- "BASE_TYPE_STRING": "This field must be a string",
- "BASE_TYPE_NUMBER": "This field must be a number",
- "BASE_TYPE_BIGINT": "This field must be a bigint",
- "BASE_TYPE_BOOLEAN": "This field must be a boolean",
- "BASE_TYPE_CHOICES": "Это поле должно быть одним из ({{types}})",
- "BASE_TYPE_CLASS": "Это поле должно быть экземпляром {{type}}",
- "BASE_TYPE_OBJECT": "This field must be an object",
- "BASE_TYPE_ARRAY": "This field must be an array",
- "UNKOWN_FIELD": "Unknown key: {{key}}",
- "BASE_TYPE_CONSTANT": "Это поле должно быть {{value}}",
- "EMAIL_TYPE_INVALID_EMAIL": "Неправильный формат адреса электронной почты",
- "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
- "BASE_TYPE_BAD_LENGTH": "Длина должна быть между {{length}} в длину"
- }
-}
diff --git a/api/locales/sh/auth.json b/api/locales/sh/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/sh/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/si/auth.json b/api/locales/si/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/si/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/sk/auth.json b/api/locales/sk/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/sk/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/sr/auth.json b/api/locales/sr/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/sr/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/sw/auth.json b/api/locales/sw/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/sw/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ta/auth.json b/api/locales/ta/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ta/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/te/auth.json b/api/locales/te/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/te/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/tl/auth.json b/api/locales/tl/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/tl/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ug/auth.json b/api/locales/ug/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ug/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/uk/auth.json b/api/locales/uk/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/uk/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/ur/auth.json b/api/locales/ur/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/ur/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/vec/auth.json b/api/locales/vec/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/vec/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/vec/common.json b/api/locales/vec/common.json
deleted file mode 100644
index 8bb9c042..00000000
--- a/api/locales/vec/common.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "field": {
- "BASE_TYPE_REQUIRED": "This field is required",
- "BASE_TYPE_STRING": "This field must be a string",
- "BASE_TYPE_NUMBER": "This field must be a number",
- "BASE_TYPE_BIGINT": "This field must be a bigint",
- "BASE_TYPE_BOOLEAN": "This field must be a boolean",
- "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
- "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
- "BASE_TYPE_OBJECT": "This field must be an object",
- "BASE_TYPE_ARRAY": "This field must be an array",
- "UNKOWN_FIELD": "Unknown key: {{key}}",
- "BASE_TYPE_CONSTANT": "This field must be {{value}}",
- "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
- "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
- "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
- }
-}
diff --git a/api/locales/vi/auth.json b/api/locales/vi/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/vi/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/locales/vi/common.json b/api/locales/vi/common.json
deleted file mode 100644
index 8bb9c042..00000000
--- a/api/locales/vi/common.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "field": {
- "BASE_TYPE_REQUIRED": "This field is required",
- "BASE_TYPE_STRING": "This field must be a string",
- "BASE_TYPE_NUMBER": "This field must be a number",
- "BASE_TYPE_BIGINT": "This field must be a bigint",
- "BASE_TYPE_BOOLEAN": "This field must be a boolean",
- "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
- "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
- "BASE_TYPE_OBJECT": "This field must be an object",
- "BASE_TYPE_ARRAY": "This field must be an array",
- "UNKOWN_FIELD": "Unknown key: {{key}}",
- "BASE_TYPE_CONSTANT": "This field must be {{value}}",
- "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
- "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
- "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
- }
-}
diff --git a/api/locales/zh/auth.json b/api/locales/zh/auth.json
deleted file mode 100644
index e19547a0..00000000
--- a/api/locales/zh/auth.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "login": {
- "INVALID_LOGIN": "E-Mail or Phone not found",
- "INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
- },
- "register": {
- "REGISTRATION_DISABLED": "New user registration is disabled",
- "INVITE_ONLY": "You must be invited to register",
- "EMAIL_INVALID": "Invalid Email",
- "EMAIL_ALREADY_REGISTERED": "Email is already registered",
- "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
- "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
- "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
- }
-}
diff --git a/api/package-lock.json b/api/package-lock.json
deleted file mode 100644
index de889188..00000000
--- a/api/package-lock.json
+++ /dev/null
@@ -1,25947 +0,0 @@
-{
- "name": "@fosscord/api",
- "version": "1.0.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "@fosscord/api",
- "version": "1.0.0",
- "hasInstallScript": true,
- "license": "GPLV3",
- "dependencies": {
- "@babel/preset-env": "^7.15.8",
- "@babel/preset-typescript": "^7.15.0",
- "@fosscord/util": "file:../util",
- "@sentry/node": "^6.16.1",
- "@sentry/tracing": "^6.16.1",
- "ajv": "8.6.2",
- "ajv-formats": "^2.1.1",
- "amqplib": "^0.8.0",
- "assert": "^1.5.0",
- "bcrypt": "^5.0.1",
- "body-parser": "^1.19.0",
- "cheerio": "^1.0.0-rc.10",
- "dotenv": "^8.2.0",
- "express": "^4.17.1",
- "form-data": "^3.0.0",
- "i18next": "^19.9.2",
- "i18next-http-middleware": "^3.1.3",
- "i18next-node-fs-backend": "^2.1.3",
- "image-size": "^1.0.0",
- "jsonwebtoken": "^8.5.1",
- "lambert-server": "^1.2.12",
- "missing-native-js-functions": "^1.2.18",
- "morgan": "^1.10.0",
- "multer": "^1.4.2",
- "node-fetch": "^2.6.2",
- "patch-package": "^6.4.7",
- "picocolors": "^1.0.0",
- "proxy-agent": "^5.0.0",
- "supertest": "^6.1.6",
- "typeorm": "^0.2.37"
- },
- "devDependencies": {
- "@babel/core": "^7.15.5",
- "@babel/preset-env": "^7.15.8",
- "@babel/preset-typescript": "^7.15.0",
- "@types/amqplib": "^0.8.1",
- "@types/bcrypt": "^5.0.0",
- "@types/express": "^4.17.9",
- "@types/i18next-node-fs-backend": "^2.1.0",
- "@types/jest": "^27.0.1",
- "@types/jest-expect-message": "^1.0.3",
- "@types/jsonwebtoken": "^8.5.0",
- "@types/morgan": "^1.9.3",
- "@types/multer": "^1.4.5",
- "@types/node": "^14.17.9",
- "@types/node-fetch": "^2.5.5",
- "@types/supertest": "^2.0.11",
- "@zerollup/ts-transform-paths": "^1.7.18",
- "jest": "^27.2.5",
- "jest-expect-message": "^1.0.2",
- "jest-runtime": "^27.2.1",
- "ts-node": "^9.1.1",
- "ts-node-dev": "^1.1.6",
- "ts-patch": "^1.4.4",
- "typescript": "^4.4.2",
- "typescript-json-schema": "0.50.1"
- }
- },
- "../util": {
- "name": "@fosscord/util",
- "version": "1.0.0",
- "hasInstallScript": true,
- "license": "GPLV3",
- "dependencies": {
- "amqplib": "^0.8.0",
- "form-data": "^4.0.0",
- "jsonwebtoken": "^8.5.1",
- "lambert-server": "^1.2.12",
- "missing-native-js-functions": "^1.2.18",
- "multer": "^1.4.3",
- "node-fetch": "^2.6.2",
- "patch-package": "^6.4.7",
- "pg": "^8.7.1",
- "picocolors": "^1.0.0",
- "proxy-agent": "^5.0.0",
- "reflect-metadata": "^0.1.13",
- "typeorm": "^0.2.38",
- "typescript": "^4.4.2",
- "typescript-json-schema": "^0.50.1"
- },
- "devDependencies": {
- "@types/amqplib": "^0.8.1",
- "@types/jsonwebtoken": "^8.5.0",
- "@types/multer": "^1.4.7",
- "@types/node": "^14.17.9",
- "@types/node-fetch": "^2.5.12",
- "jest": "^27.0.6",
- "ts-node": "^10.2.1"
- }
- },
- "../util/node_modules/@babel/code-frame": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/highlight": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/compat-data": {
- "version": "7.15.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/core": {
- "version": "7.15.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helpers": "^7.15.4",
- "@babel/parser": "^7.15.5",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "../util/node_modules/@babel/core/node_modules/debug": {
- "version": "4.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/@babel/core/node_modules/ms": {
- "version": "2.1.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@babel/core/node_modules/source-map": {
- "version": "0.5.7",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/@babel/generator": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/generator/node_modules/source-map": {
- "version": "0.5.7",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/@babel/helper-compilation-targets": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "../util/node_modules/@babel/helper-function-name": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-get-function-arity": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-hoist-variables": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-module-imports": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-module-transforms": {
- "version": "7.15.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-simple-access": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-replace-supers": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-simple-access": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-split-export-declaration": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helper-validator-option": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/helpers": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/highlight": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "../util/node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/@babel/parser": {
- "version": "7.15.7",
- "dev": true,
- "license": "MIT",
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../util/node_modules/@babel/template": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/traverse": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@babel/traverse/node_modules/debug": {
- "version": "4.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/@babel/traverse/node_modules/ms": {
- "version": "2.1.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@babel/types": {
- "version": "7.15.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/@bcoe/v8-coverage": {
- "version": "0.2.3",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@cspotcode/source-map-consumer": {
- "version": "0.8.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">= 12"
- }
- },
- "../util/node_modules/@cspotcode/source-map-support": {
- "version": "0.6.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@cspotcode/source-map-consumer": "0.8.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "../util/node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/@jest/console": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.2.0",
- "jest-util": "^27.2.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/core": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.0",
- "@jest/reporters": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.1.1",
- "jest-config": "^27.2.0",
- "jest-haste-map": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-resolve-dependencies": "^27.2.0",
- "jest-runner": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "jest-watcher": "^27.2.0",
- "micromatch": "^4.0.4",
- "p-each-series": "^2.1.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../util/node_modules/@jest/core/node_modules/jest-config": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.0",
- "@jest/types": "^27.1.1",
- "babel-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.0",
- "jest-environment-jsdom": "^27.2.0",
- "jest-environment-node": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-runner": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": true
- }
- }
- },
- "../util/node_modules/@jest/environment": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/fake-timers": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "jest-mock": "^27.1.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/fake-timers": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "@sinonjs/fake-timers": "^7.0.2",
- "@types/node": "*",
- "jest-message-util": "^27.2.0",
- "jest-mock": "^27.1.1",
- "jest-util": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/globals": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.0",
- "@jest/types": "^27.1.1",
- "expect": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/reporters": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.2.0",
- "jest-resolve": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-worker": "^27.2.0",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../util/node_modules/@jest/source-map": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/test-result": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/test-sequencer": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/test-result": "^27.2.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-runtime": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/transform": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.1.1",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-util": "^27.2.0",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@jest/types": {
- "version": "27.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/@sinonjs/commons": {
- "version": "1.8.3",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "type-detect": "4.0.8"
- }
- },
- "../util/node_modules/@sinonjs/fake-timers": {
- "version": "7.1.2",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "../util/node_modules/@sqltools/formatter": {
- "version": "1.2.3",
- "license": "MIT"
- },
- "../util/node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/@tsconfig/node10": {
- "version": "1.0.8",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@tsconfig/node12": {
- "version": "1.0.9",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@tsconfig/node14": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@tsconfig/node16": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/amqplib": {
- "version": "0.8.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/bluebird": "*",
- "@types/node": "*"
- }
- },
- "../util/node_modules/@types/babel__core": {
- "version": "7.1.16",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "../util/node_modules/@types/babel__generator": {
- "version": "7.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "../util/node_modules/@types/babel__template": {
- "version": "7.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "../util/node_modules/@types/babel__traverse": {
- "version": "7.14.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.3.0"
- }
- },
- "../util/node_modules/@types/bluebird": {
- "version": "3.5.36",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/body-parser": {
- "version": "1.19.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "../util/node_modules/@types/connect": {
- "version": "3.4.35",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "../util/node_modules/@types/express": {
- "version": "4.17.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "../util/node_modules/@types/express-serve-static-core": {
- "version": "4.17.24",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "../util/node_modules/@types/graceful-fs": {
- "version": "4.1.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "../util/node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "../util/node_modules/@types/istanbul-reports": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "../util/node_modules/@types/json-schema": {
- "version": "7.0.9",
- "license": "MIT"
- },
- "../util/node_modules/@types/jsonwebtoken": {
- "version": "8.5.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "../util/node_modules/@types/mime": {
- "version": "1.3.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/multer": {
- "version": "1.4.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/express": "*"
- }
- },
- "../util/node_modules/@types/node": {
- "version": "14.17.17",
- "license": "MIT"
- },
- "../util/node_modules/@types/node-fetch": {
- "version": "2.5.12",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- }
- },
- "../util/node_modules/@types/node-fetch/node_modules/form-data": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/@types/prettier": {
- "version": "2.3.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/qs": {
- "version": "6.9.7",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/range-parser": {
- "version": "1.2.4",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/serve-static": {
- "version": "1.13.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "../util/node_modules/@types/stack-utils": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/yargs": {
- "version": "16.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "../util/node_modules/@types/yargs-parser": {
- "version": "20.2.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/@types/zen-observable": {
- "version": "0.8.3",
- "license": "MIT"
- },
- "../util/node_modules/@yarnpkg/lockfile": {
- "version": "1.1.0",
- "license": "BSD-2-Clause"
- },
- "../util/node_modules/abab": {
- "version": "2.0.5",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "../util/node_modules/abbrev": {
- "version": "1.1.1",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/accepts": {
- "version": "1.3.7",
- "license": "MIT",
- "dependencies": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/acorn": {
- "version": "8.7.0",
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../util/node_modules/acorn-globals": {
- "version": "6.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- }
- },
- "../util/node_modules/acorn-globals/node_modules/acorn": {
- "version": "7.4.1",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../util/node_modules/acorn-walk": {
- "version": "7.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../util/node_modules/agent-base": {
- "version": "6.0.2",
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "../util/node_modules/agent-base/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/agent-base/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/ajv": {
- "version": "6.12.6",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "../util/node_modules/amqplib": {
- "version": "0.8.0",
- "license": "MIT",
- "dependencies": {
- "bitsyntax": "~0.1.0",
- "bluebird": "^3.7.2",
- "buffer-more-ints": "~1.0.0",
- "readable-stream": "1.x >=1.1.9",
- "safe-buffer": "~5.2.1",
- "url-parse": "~1.5.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/ansi-escapes": {
- "version": "4.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/ansi-regex": {
- "version": "5.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/ansi-styles": {
- "version": "4.3.0",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "../util/node_modules/any-promise": {
- "version": "1.3.0",
- "license": "MIT"
- },
- "../util/node_modules/anymatch": {
- "version": "3.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/app-root-path": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "../util/node_modules/append-field": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "../util/node_modules/aproba": {
- "version": "1.2.0",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/are-we-there-yet": {
- "version": "1.1.7",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "../util/node_modules/are-we-there-yet/node_modules/isarray": {
- "version": "1.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/are-we-there-yet/node_modules/readable-stream": {
- "version": "2.3.7",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "../util/node_modules/are-we-there-yet/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/are-we-there-yet/node_modules/string_decoder": {
- "version": "1.1.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "../util/node_modules/arg": {
- "version": "4.1.3",
- "license": "MIT"
- },
- "../util/node_modules/argparse": {
- "version": "1.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "../util/node_modules/array-flatten": {
- "version": "1.1.1",
- "license": "MIT"
- },
- "../util/node_modules/asn1": {
- "version": "0.2.4",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "../util/node_modules/assert-plus": {
- "version": "1.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.8"
- }
- },
- "../util/node_modules/ast-types": {
- "version": "0.13.4",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/asynckit": {
- "version": "0.4.0",
- "license": "MIT"
- },
- "../util/node_modules/aws-sign2": {
- "version": "0.7.0",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "engines": {
- "node": "*"
- }
- },
- "../util/node_modules/aws4": {
- "version": "1.11.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/babel-jest": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.8.0"
- }
- },
- "../util/node_modules/babel-plugin-istanbul": {
- "version": "6.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^4.0.0",
- "test-exclude": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/babel-plugin-jest-hoist": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "../util/node_modules/babel-preset-jest": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "babel-plugin-jest-hoist": "^27.2.0",
- "babel-preset-current-node-syntax": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "../util/node_modules/balanced-match": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "../util/node_modules/base64-js": {
- "version": "1.5.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "../util/node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "license": "BSD-3-Clause",
- "optional": true,
- "peer": true,
- "dependencies": {
- "tweetnacl": "^0.14.3"
- }
- },
- "../util/node_modules/better-sqlite3": {
- "version": "7.4.3",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "bindings": "^1.5.0",
- "prebuild-install": "^6.0.1",
- "tar": "^6.1.0"
- }
- },
- "../util/node_modules/better-sqlite3/node_modules/chownr": {
- "version": "2.0.0",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/better-sqlite3/node_modules/fs-minipass": {
- "version": "2.1.0",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/better-sqlite3/node_modules/minipass": {
- "version": "3.1.5",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/better-sqlite3/node_modules/minizlib": {
- "version": "2.1.2",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/better-sqlite3/node_modules/mkdirp": {
- "version": "1.0.4",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/better-sqlite3/node_modules/tar": {
- "version": "6.1.11",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "../util/node_modules/bindings": {
- "version": "1.5.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "file-uri-to-path": "1.0.0"
- }
- },
- "../util/node_modules/bitsyntax": {
- "version": "0.1.0",
- "license": "MIT",
- "dependencies": {
- "buffer-more-ints": "~1.0.0",
- "debug": "~2.6.9",
- "safe-buffer": "~5.1.2"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "../util/node_modules/bitsyntax/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "../util/node_modules/bl": {
- "version": "4.1.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "../util/node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/bl/node_modules/string_decoder": {
- "version": "1.3.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "../util/node_modules/block-stream": {
- "version": "0.0.9",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "inherits": "~2.0.0"
- },
- "engines": {
- "node": "0.4 || >=0.5.8"
- }
- },
- "../util/node_modules/bluebird": {
- "version": "3.7.2",
- "license": "MIT"
- },
- "../util/node_modules/body-parser": {
- "version": "1.19.0",
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/brace-expansion": {
- "version": "1.1.11",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "../util/node_modules/braces": {
- "version": "3.0.2",
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/browser-process-hrtime": {
- "version": "1.0.0",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "../util/node_modules/browserslist": {
- "version": "4.17.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001254",
- "colorette": "^1.3.0",
- "electron-to-chromium": "^1.3.830",
- "escalade": "^3.1.1",
- "node-releases": "^1.1.75"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "../util/node_modules/bser": {
- "version": "2.1.1",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "node-int64": "^0.4.0"
- }
- },
- "../util/node_modules/buffer": {
- "version": "5.7.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "../util/node_modules/buffer-equal-constant-time": {
- "version": "1.0.1",
- "license": "BSD-3-Clause"
- },
- "../util/node_modules/buffer-from": {
- "version": "1.1.2",
- "license": "MIT"
- },
- "../util/node_modules/buffer-more-ints": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "../util/node_modules/buffer-writer": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/busboy": {
- "version": "0.2.14",
- "dependencies": {
- "dicer": "0.2.5",
- "readable-stream": "1.1.x"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/bytes": {
- "version": "3.1.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/callsites": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/camelcase": {
- "version": "5.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/caniuse-lite": {
- "version": "1.0.30001258",
- "dev": true,
- "license": "CC-BY-4.0",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "../util/node_modules/caseless": {
- "version": "0.12.0",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/chalk": {
- "version": "4.1.2",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "../util/node_modules/char-regex": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/chownr": {
- "version": "1.1.4",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/ci-info": {
- "version": "3.2.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/cjs-module-lexer": {
- "version": "1.2.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/cli-highlight": {
- "version": "2.1.11",
- "license": "ISC",
- "dependencies": {
- "chalk": "^4.0.0",
- "highlight.js": "^10.7.1",
- "mz": "^2.4.0",
- "parse5": "^5.1.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.0",
- "yargs": "^16.0.0"
- },
- "bin": {
- "highlight": "bin/highlight"
- },
- "engines": {
- "node": ">=8.0.0",
- "npm": ">=5.0.0"
- }
- },
- "../util/node_modules/cli-highlight/node_modules/parse5": {
- "version": "5.1.1",
- "license": "MIT"
- },
- "../util/node_modules/cliui": {
- "version": "7.0.4",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "../util/node_modules/cliui/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/cliui/node_modules/string-width": {
- "version": "4.2.2",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/co": {
- "version": "4.6.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">= 1.0.0",
- "node": ">= 0.12.0"
- }
- },
- "../util/node_modules/code-point-at": {
- "version": "1.1.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/collect-v8-coverage": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/color-convert": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "../util/node_modules/color-name": {
- "version": "1.1.4",
- "license": "MIT"
- },
- "../util/node_modules/colorette": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/combined-stream": {
- "version": "1.0.8",
- "license": "MIT",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/concat-map": {
- "version": "0.0.1",
- "license": "MIT"
- },
- "../util/node_modules/concat-stream": {
- "version": "1.6.2",
- "engines": [
- "node >= 0.8"
- ],
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "../util/node_modules/concat-stream/node_modules/isarray": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "../util/node_modules/concat-stream/node_modules/readable-stream": {
- "version": "2.3.7",
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "../util/node_modules/concat-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "../util/node_modules/concat-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "../util/node_modules/console-control-strings": {
- "version": "1.1.0",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/content-disposition": {
- "version": "0.5.3",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "5.1.2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/content-disposition/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "../util/node_modules/content-type": {
- "version": "1.0.4",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/convert-source-map": {
- "version": "1.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
- },
- "../util/node_modules/convert-source-map/node_modules/safe-buffer": {
- "version": "5.1.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/cookie": {
- "version": "0.4.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/cookie-signature": {
- "version": "1.0.6",
- "license": "MIT"
- },
- "../util/node_modules/core-util-is": {
- "version": "1.0.3",
- "license": "MIT"
- },
- "../util/node_modules/create-require": {
- "version": "1.1.1",
- "license": "MIT"
- },
- "../util/node_modules/cross-spawn": {
- "version": "7.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/cssom": {
- "version": "0.4.4",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/cssstyle": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssom": "~0.3.6"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/cssstyle/node_modules/cssom": {
- "version": "0.3.8",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/dashdash": {
- "version": "1.14.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "../util/node_modules/data-uri-to-buffer": {
- "version": "3.0.1",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/data-urls": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "../util/node_modules/decimal.js": {
- "version": "10.3.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/decompress-response": {
- "version": "4.2.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "mimic-response": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/dedent": {
- "version": "0.7.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/deep-extend": {
- "version": "0.6.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "../util/node_modules/deep-is": {
- "version": "0.1.4",
- "license": "MIT"
- },
- "../util/node_modules/deepmerge": {
- "version": "4.2.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/degenerator": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "ast-types": "^0.13.2",
- "escodegen": "^1.8.1",
- "esprima": "^4.0.0",
- "vm2": "^3.9.3"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/degenerator/node_modules/escodegen": {
- "version": "1.14.3",
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=4.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "../util/node_modules/degenerator/node_modules/estraverse": {
- "version": "4.3.0",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "../util/node_modules/delayed-stream": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../util/node_modules/delegates": {
- "version": "1.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/depd": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/destroy": {
- "version": "1.0.4",
- "license": "MIT"
- },
- "../util/node_modules/detect-libc": {
- "version": "1.0.3",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "bin": {
- "detect-libc": "bin/detect-libc.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "../util/node_modules/detect-newline": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/dicer": {
- "version": "0.2.5",
- "dependencies": {
- "readable-stream": "1.1.x",
- "streamsearch": "0.1.2"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/diff": {
- "version": "4.0.2",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "../util/node_modules/diff-sequences": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/domexception": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "webidl-conversions": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/domexception/node_modules/webidl-conversions": {
- "version": "5.0.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/dotenv": {
- "version": "8.6.0",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "../util/node_modules/ecdsa-sig-formatter": {
- "version": "1.0.11",
- "license": "Apache-2.0",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
- },
- "../util/node_modules/ee-first": {
- "version": "1.1.1",
- "license": "MIT"
- },
- "../util/node_modules/electron-to-chromium": {
- "version": "1.3.843",
- "dev": true,
- "license": "ISC"
- },
- "../util/node_modules/emittery": {
- "version": "0.8.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
- }
- },
- "../util/node_modules/emoji-regex": {
- "version": "8.0.0",
- "license": "MIT"
- },
- "../util/node_modules/encodeurl": {
- "version": "1.0.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/end-of-stream": {
- "version": "1.4.4",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "../util/node_modules/escalade": {
- "version": "3.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/escape-html": {
- "version": "1.0.3",
- "license": "MIT"
- },
- "../util/node_modules/escape-string-regexp": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/escodegen": {
- "version": "2.0.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "../util/node_modules/esprima": {
- "version": "4.0.1",
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/estraverse": {
- "version": "5.2.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "../util/node_modules/esutils": {
- "version": "2.0.3",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/etag": {
- "version": "1.8.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/execa": {
- "version": "5.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "../util/node_modules/exit": {
- "version": "0.1.2",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/expand-template": {
- "version": "2.0.3",
- "license": "(MIT OR WTFPL)",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/expect": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.0.6",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-regex-util": "^27.0.6"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/expect/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "../util/node_modules/express": {
- "version": "4.17.1",
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "../util/node_modules/express-async-errors": {
- "version": "3.1.1",
- "license": "ISC",
- "peerDependencies": {
- "express": "^4.16.2"
- }
- },
- "../util/node_modules/express/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "../util/node_modules/extend": {
- "version": "3.0.2",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/extsprintf": {
- "version": "1.3.0",
- "engines": [
- "node >=0.6.0"
- ],
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "devOptional": true,
- "license": "MIT"
- },
- "../util/node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "license": "MIT"
- },
- "../util/node_modules/fb-watchman": {
- "version": "2.0.1",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "bser": "2.1.1"
- }
- },
- "../util/node_modules/figlet": {
- "version": "1.5.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "../util/node_modules/file-uri-to-path": {
- "version": "1.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/fill-range": {
- "version": "7.0.1",
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/finalhandler": {
- "version": "1.1.2",
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/find-up": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/find-yarn-workspace-root": {
- "version": "2.0.0",
- "license": "Apache-2.0",
- "dependencies": {
- "micromatch": "^4.0.2"
- }
- },
- "../util/node_modules/forever-agent": {
- "version": "0.6.1",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "engines": {
- "node": "*"
- }
- },
- "../util/node_modules/form-data": {
- "version": "4.0.0",
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/forwarded": {
- "version": "0.2.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/fresh": {
- "version": "0.5.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/fs-constants": {
- "version": "1.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/fs-extra": {
- "version": "7.0.1",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "../util/node_modules/fs-minipass": {
- "version": "1.2.7",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "minipass": "^2.6.0"
- }
- },
- "../util/node_modules/fs.realpath": {
- "version": "1.0.0",
- "license": "ISC"
- },
- "../util/node_modules/fstream": {
- "version": "1.0.12",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- },
- "engines": {
- "node": ">=0.6"
- }
- },
- "../util/node_modules/fstream/node_modules/rimraf": {
- "version": "2.7.1",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "../util/node_modules/ftp": {
- "version": "0.3.10",
- "dependencies": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/function-bind": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/gauge": {
- "version": "2.7.4",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "../util/node_modules/gauge/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/gauge/node_modules/strip-ansi": {
- "version": "3.0.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../util/node_modules/get-caller-file": {
- "version": "2.0.5",
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "../util/node_modules/get-package-type": {
- "version": "0.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "../util/node_modules/get-stream": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/get-uri": {
- "version": "3.0.2",
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "1",
- "data-uri-to-buffer": "3",
- "debug": "4",
- "file-uri-to-path": "2",
- "fs-extra": "^8.1.0",
- "ftp": "^0.3.10"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/get-uri/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/get-uri/node_modules/file-uri-to-path": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/get-uri/node_modules/fs-extra": {
- "version": "8.1.0",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "../util/node_modules/get-uri/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/getpass": {
- "version": "0.1.7",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- }
- },
- "../util/node_modules/github-from-package": {
- "version": "0.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/glob": {
- "version": "7.1.7",
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "../util/node_modules/globals": {
- "version": "11.12.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/graceful-fs": {
- "version": "4.2.8",
- "license": "ISC"
- },
- "../util/node_modules/har-schema": {
- "version": "2.0.0",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/har-validator": {
- "version": "5.1.5",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/has": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "../util/node_modules/has-ansi": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/has-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/has-flag": {
- "version": "4.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/has-unicode": {
- "version": "2.0.1",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/helmet": {
- "version": "4.6.0",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "../util/node_modules/highlight.js": {
- "version": "10.7.3",
- "license": "BSD-3-Clause",
- "engines": {
- "node": "*"
- }
- },
- "../util/node_modules/html-encoding-sniffer": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-encoding": "^1.0.5"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/html-escaper": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/http-errors": {
- "version": "1.7.2",
- "license": "MIT",
- "dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/http-errors/node_modules/inherits": {
- "version": "2.0.3",
- "license": "ISC"
- },
- "../util/node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/http-proxy-agent/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/http-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/http-signature": {
- "version": "1.2.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- },
- "engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
- }
- },
- "../util/node_modules/https-proxy-agent": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/https-proxy-agent/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/https-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/human-signals": {
- "version": "2.1.0",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "../util/node_modules/iconv-lite": {
- "version": "0.4.24",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/ieee754": {
- "version": "1.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "../util/node_modules/ignore-walk": {
- "version": "3.0.4",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "minimatch": "^3.0.4"
- }
- },
- "../util/node_modules/import-local": {
- "version": "3.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/imurmurhash": {
- "version": "0.1.4",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "../util/node_modules/inflight": {
- "version": "1.0.6",
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "../util/node_modules/inherits": {
- "version": "2.0.4",
- "license": "ISC"
- },
- "../util/node_modules/ini": {
- "version": "1.3.8",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/ip": {
- "version": "1.1.5",
- "license": "MIT"
- },
- "../util/node_modules/ipaddr.js": {
- "version": "1.9.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "../util/node_modules/is-ci": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ci-info": "^3.1.1"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
- "../util/node_modules/is-core-module": {
- "version": "2.6.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "../util/node_modules/is-docker": {
- "version": "2.2.1",
- "license": "MIT",
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/is-generator-fn": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/is-number": {
- "version": "7.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "../util/node_modules/is-potential-custom-element-name": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/is-stream": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/is-typedarray": {
- "version": "1.0.0",
- "devOptional": true,
- "license": "MIT"
- },
- "../util/node_modules/is-wsl": {
- "version": "2.2.0",
- "license": "MIT",
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/isarray": {
- "version": "0.0.1",
- "license": "MIT"
- },
- "../util/node_modules/isexe": {
- "version": "2.0.0",
- "license": "ISC"
- },
- "../util/node_modules/isstream": {
- "version": "0.1.2",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/istanbul-lib-coverage": {
- "version": "3.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/istanbul-lib-instrument": {
- "version": "4.0.3",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/istanbul-lib-source-maps": {
- "version": "4.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/istanbul-lib-source-maps/node_modules/debug": {
- "version": "4.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/istanbul-lib-source-maps/node_modules/ms": {
- "version": "2.1.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/istanbul-reports": {
- "version": "3.0.2",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/jest": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/core": "^27.2.0",
- "import-local": "^3.0.2",
- "jest-cli": "^27.2.0"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../util/node_modules/jest-changed-files": {
- "version": "27.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-circus": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.2.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.0",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "pretty-format": "^27.2.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-cli": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/core": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "jest-config": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "prompts": "^2.0.1",
- "yargs": "^16.0.3"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../util/node_modules/jest-cli/node_modules/jest-config": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.0",
- "@jest/types": "^27.1.1",
- "babel-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.0",
- "jest-environment-jsdom": "^27.2.0",
- "jest-environment-node": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-runner": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": true
- }
- }
- },
- "../util/node_modules/jest-diff": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.0.6",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-docblock": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "detect-newline": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-each": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "jest-util": "^27.2.0",
- "pretty-format": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-environment-jsdom": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.0",
- "@jest/fake-timers": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "jest-mock": "^27.1.1",
- "jest-util": "^27.2.0",
- "jsdom": "^16.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-environment-node": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.0",
- "@jest/fake-timers": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "jest-mock": "^27.1.1",
- "jest-util": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-get-type": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-haste-map": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.0.6",
- "jest-serializer": "^27.0.6",
- "jest-util": "^27.2.0",
- "jest-worker": "^27.2.0",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "optionalDependencies": {
- "fsevents": "^2.3.2"
- }
- },
- "../util/node_modules/jest-jasmine2": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.2.0",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.2.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.0",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "pretty-format": "^27.2.0",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-leak-detector": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-matcher-utils": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-message-util": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.1.1",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-mock": {
- "version": "27.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "@types/node": "*"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-pnp-resolver": {
- "version": "1.2.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "jest-resolve": "*"
- },
- "peerDependenciesMeta": {
- "jest-resolve": {
- "optional": true
- }
- }
- },
- "../util/node_modules/jest-regex-util": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-resolve": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "escalade": "^3.1.1",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "resolve": "^1.20.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-resolve-dependencies": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "jest-regex-util": "^27.0.6",
- "jest-snapshot": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-runner": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.0",
- "@jest/environment": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.0.6",
- "jest-environment-jsdom": "^27.2.0",
- "jest-environment-node": "^27.2.0",
- "jest-haste-map": "^27.2.0",
- "jest-leak-detector": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-resolve": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-worker": "^27.2.0",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-runtime": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.0",
- "@jest/environment": "^27.2.0",
- "@jest/fake-timers": "^27.2.0",
- "@jest/globals": "^27.2.0",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "execa": "^5.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-mock": "^27.1.1",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.0.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-serializer": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-snapshot": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.2.0",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "jest-haste-map": "^27.2.0",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-resolve": "^27.2.0",
- "jest-util": "^27.2.0",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.2.0",
- "semver": "^7.3.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-snapshot/node_modules/semver": {
- "version": "7.3.5",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/jest-util": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-validate": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "leven": "^3.1.0",
- "pretty-format": "^27.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-validate/node_modules/camelcase": {
- "version": "6.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/jest-watcher": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.2.0",
- "string-length": "^4.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/jest-worker": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "../util/node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "../util/node_modules/js-tokens": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/js-yaml": {
- "version": "3.14.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "../util/node_modules/jsbn": {
- "version": "0.1.1",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/jsdom": {
- "version": "16.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.6",
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "canvas": "^2.5.0"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
- }
- },
- "../util/node_modules/jsdom/node_modules/form-data": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/jsesc": {
- "version": "2.5.2",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/json-schema": {
- "version": "0.2.3",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/json-stable-stringify": {
- "version": "1.0.1",
- "license": "MIT",
- "dependencies": {
- "jsonify": "~0.0.0"
- }
- },
- "../util/node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/json5": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/jsonfile": {
- "version": "4.0.0",
- "license": "MIT",
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "../util/node_modules/jsonify": {
- "version": "0.0.0",
- "license": "Public Domain"
- },
- "../util/node_modules/jsonwebtoken": {
- "version": "8.5.1",
- "license": "MIT",
- "dependencies": {
- "jws": "^3.2.2",
- "lodash.includes": "^4.3.0",
- "lodash.isboolean": "^3.0.3",
- "lodash.isinteger": "^4.0.4",
- "lodash.isnumber": "^3.0.3",
- "lodash.isplainobject": "^4.0.6",
- "lodash.isstring": "^4.0.1",
- "lodash.once": "^4.0.0",
- "ms": "^2.1.1",
- "semver": "^5.6.0"
- },
- "engines": {
- "node": ">=4",
- "npm": ">=1.4.28"
- }
- },
- "../util/node_modules/jsonwebtoken/node_modules/ms": {
- "version": "2.1.3",
- "license": "MIT"
- },
- "../util/node_modules/jsonwebtoken/node_modules/semver": {
- "version": "5.7.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "../util/node_modules/jsprim": {
- "version": "1.4.1",
- "engines": [
- "node >=0.6.0"
- ],
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "../util/node_modules/jwa": {
- "version": "1.4.1",
- "license": "MIT",
- "dependencies": {
- "buffer-equal-constant-time": "1.0.1",
- "ecdsa-sig-formatter": "1.0.11",
- "safe-buffer": "^5.0.1"
- }
- },
- "../util/node_modules/jws": {
- "version": "3.2.2",
- "license": "MIT",
- "dependencies": {
- "jwa": "^1.4.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "../util/node_modules/klaw-sync": {
- "version": "6.0.0",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.1.11"
- }
- },
- "../util/node_modules/kleur": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/lambert-server": {
- "version": "1.2.12",
- "license": "ISC",
- "dependencies": {
- "body-parser": "^1.19.0",
- "chalk": "^4.1.1",
- "express": "^4.17.1",
- "express-async-errors": "^3.1.1",
- "helmet": "^4.4.1",
- "missing-native-js-functions": "^1.2.11"
- }
- },
- "../util/node_modules/leven": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/levn": {
- "version": "0.3.0",
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/locate-path": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/lodash": {
- "version": "4.17.21",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/lodash.includes": {
- "version": "4.3.0",
- "license": "MIT"
- },
- "../util/node_modules/lodash.isboolean": {
- "version": "3.0.3",
- "license": "MIT"
- },
- "../util/node_modules/lodash.isinteger": {
- "version": "4.0.4",
- "license": "MIT"
- },
- "../util/node_modules/lodash.isnumber": {
- "version": "3.0.3",
- "license": "MIT"
- },
- "../util/node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "license": "MIT"
- },
- "../util/node_modules/lodash.isstring": {
- "version": "4.0.1",
- "license": "MIT"
- },
- "../util/node_modules/lodash.once": {
- "version": "4.1.1",
- "license": "MIT"
- },
- "../util/node_modules/lru-cache": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/make-dir": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/make-error": {
- "version": "1.3.6",
- "license": "ISC"
- },
- "../util/node_modules/makeerror": {
- "version": "1.0.11",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "tmpl": "1.0.x"
- }
- },
- "../util/node_modules/media-typer": {
- "version": "0.3.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/merge-descriptors": {
- "version": "1.0.1",
- "license": "MIT"
- },
- "../util/node_modules/merge-stream": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/methods": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/micromatch": {
- "version": "4.0.4",
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "../util/node_modules/mime": {
- "version": "1.6.0",
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/mime-db": {
- "version": "1.49.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/mime-types": {
- "version": "2.1.32",
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.49.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/mimic-fn": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/mimic-response": {
- "version": "2.1.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/minimatch": {
- "version": "3.0.4",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "../util/node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
- },
- "../util/node_modules/minipass": {
- "version": "2.9.0",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "../util/node_modules/minipass/node_modules/yallist": {
- "version": "3.1.1",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/minizlib": {
- "version": "1.3.3",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "minipass": "^2.9.0"
- }
- },
- "../util/node_modules/missing-native-js-functions": {
- "version": "1.2.18",
- "license": "ISC"
- },
- "../util/node_modules/mkdirp": {
- "version": "0.5.5",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "../util/node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "../util/node_modules/multer": {
- "version": "1.4.3",
- "license": "MIT",
- "dependencies": {
- "append-field": "^1.0.0",
- "busboy": "^0.2.11",
- "concat-stream": "^1.5.2",
- "mkdirp": "^0.5.4",
- "object-assign": "^4.1.1",
- "on-finished": "^2.3.0",
- "type-is": "^1.6.4",
- "xtend": "^4.0.0"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "../util/node_modules/mz": {
- "version": "2.7.0",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "../util/node_modules/napi-build-utils": {
- "version": "1.0.2",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/natural-compare": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/needle": {
- "version": "2.9.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "debug": "^3.2.6",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- },
- "bin": {
- "needle": "bin/needle"
- },
- "engines": {
- "node": ">= 4.4.x"
- }
- },
- "../util/node_modules/needle/node_modules/debug": {
- "version": "3.2.7",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "../util/node_modules/needle/node_modules/ms": {
- "version": "2.1.3",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/negotiator": {
- "version": "0.6.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/netmask": {
- "version": "2.0.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "../util/node_modules/nice-try": {
- "version": "1.0.5",
- "license": "MIT"
- },
- "../util/node_modules/node-abi": {
- "version": "2.30.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "semver": "^5.4.1"
- }
- },
- "../util/node_modules/node-abi/node_modules/semver": {
- "version": "5.7.1",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "../util/node_modules/node-addon-api": {
- "version": "3.2.1",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/node-fetch": {
- "version": "2.6.7",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "../util/node_modules/node-fetch/node_modules/tr46": {
- "version": "0.0.3",
- "license": "MIT"
- },
- "../util/node_modules/node-fetch/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "license": "BSD-2-Clause"
- },
- "../util/node_modules/node-fetch/node_modules/whatwg-url": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "../util/node_modules/node-gyp": {
- "version": "3.8.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "fstream": "^1.0.0",
- "glob": "^7.0.3",
- "graceful-fs": "^4.1.2",
- "mkdirp": "^0.5.0",
- "nopt": "2 || 3",
- "npmlog": "0 || 1 || 2 || 3 || 4",
- "osenv": "0",
- "request": "^2.87.0",
- "rimraf": "2",
- "semver": "~5.3.0",
- "tar": "^2.0.0",
- "which": "1"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/node-gyp/node_modules/rimraf": {
- "version": "2.7.1",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "../util/node_modules/node-gyp/node_modules/semver": {
- "version": "5.3.0",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "../util/node_modules/node-gyp/node_modules/which": {
- "version": "1.3.1",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "../util/node_modules/node-int64": {
- "version": "0.4.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/node-modules-regexp": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/node-pre-gyp": {
- "version": "0.11.0",
- "license": "BSD-3-Clause",
- "optional": true,
- "peer": true,
- "dependencies": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
- "../util/node_modules/node-pre-gyp/node_modules/nopt": {
- "version": "4.0.3",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- }
- },
- "../util/node_modules/node-pre-gyp/node_modules/rimraf": {
- "version": "2.7.1",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "../util/node_modules/node-pre-gyp/node_modules/semver": {
- "version": "5.7.1",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "../util/node_modules/node-pre-gyp/node_modules/tar": {
- "version": "4.4.19",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "chownr": "^1.1.4",
- "fs-minipass": "^1.2.7",
- "minipass": "^2.9.0",
- "minizlib": "^1.3.3",
- "mkdirp": "^0.5.5",
- "safe-buffer": "^5.2.1",
- "yallist": "^3.1.1"
- },
- "engines": {
- "node": ">=4.5"
- }
- },
- "../util/node_modules/node-pre-gyp/node_modules/yallist": {
- "version": "3.1.1",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/node-releases": {
- "version": "1.1.75",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/nopt": {
- "version": "3.0.6",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- }
- },
- "../util/node_modules/normalize-path": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/npm-bundled": {
- "version": "1.1.2",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "../util/node_modules/npm-normalize-package-bin": {
- "version": "1.0.1",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/npm-packlist": {
- "version": "1.4.8",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "../util/node_modules/npm-run-path": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/npmlog": {
- "version": "4.1.2",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "../util/node_modules/number-is-nan": {
- "version": "1.0.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/nwsapi": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/oauth-sign": {
- "version": "0.9.0",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "engines": {
- "node": "*"
- }
- },
- "../util/node_modules/object-assign": {
- "version": "4.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/on-finished": {
- "version": "2.3.0",
- "license": "MIT",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/once": {
- "version": "1.4.0",
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "../util/node_modules/onetime": {
- "version": "5.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/open": {
- "version": "7.4.2",
- "license": "MIT",
- "dependencies": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/optionator": {
- "version": "0.8.3",
- "license": "MIT",
- "dependencies": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/os-homedir": {
- "version": "1.0.2",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/os-tmpdir": {
- "version": "1.0.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/osenv": {
- "version": "0.1.5",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "../util/node_modules/p-each-series": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/p-limit": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/p-locate": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/p-try": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/pac-proxy-agent": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4",
- "get-uri": "3",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "5",
- "pac-resolver": "^5.0.0",
- "raw-body": "^2.2.0",
- "socks-proxy-agent": "5"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/pac-proxy-agent/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/pac-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/pac-resolver": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "degenerator": "^3.0.1",
- "ip": "^1.1.5",
- "netmask": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/packet-reader": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "../util/node_modules/parent-require": {
- "version": "1.0.0",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "../util/node_modules/parse5": {
- "version": "6.0.1",
- "license": "MIT"
- },
- "../util/node_modules/parse5-htmlparser2-tree-adapter": {
- "version": "6.0.1",
- "license": "MIT",
- "dependencies": {
- "parse5": "^6.0.1"
- }
- },
- "../util/node_modules/parseurl": {
- "version": "1.3.3",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/patch-package": {
- "version": "6.4.7",
- "license": "MIT",
- "dependencies": {
- "@yarnpkg/lockfile": "^1.1.0",
- "chalk": "^2.4.2",
- "cross-spawn": "^6.0.5",
- "find-yarn-workspace-root": "^2.0.0",
- "fs-extra": "^7.0.1",
- "is-ci": "^2.0.0",
- "klaw-sync": "^6.0.0",
- "minimist": "^1.2.0",
- "open": "^7.4.2",
- "rimraf": "^2.6.3",
- "semver": "^5.6.0",
- "slash": "^2.0.0",
- "tmp": "^0.0.33"
- },
- "bin": {
- "patch-package": "index.js"
- },
- "engines": {
- "npm": ">5"
- }
- },
- "../util/node_modules/patch-package/node_modules/ansi-styles": {
- "version": "3.2.1",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/patch-package/node_modules/chalk": {
- "version": "2.4.2",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/patch-package/node_modules/ci-info": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "../util/node_modules/patch-package/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "../util/node_modules/patch-package/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT"
- },
- "../util/node_modules/patch-package/node_modules/cross-spawn": {
- "version": "6.0.5",
- "license": "MIT",
- "dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "engines": {
- "node": ">=4.8"
- }
- },
- "../util/node_modules/patch-package/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/patch-package/node_modules/has-flag": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/patch-package/node_modules/is-ci": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "ci-info": "^2.0.0"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
- "../util/node_modules/patch-package/node_modules/path-key": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/patch-package/node_modules/rimraf": {
- "version": "2.7.1",
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "../util/node_modules/patch-package/node_modules/semver": {
- "version": "5.7.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "../util/node_modules/patch-package/node_modules/shebang-command": {
- "version": "1.2.0",
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/patch-package/node_modules/shebang-regex": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/patch-package/node_modules/slash": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/patch-package/node_modules/supports-color": {
- "version": "5.5.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/patch-package/node_modules/which": {
- "version": "1.3.1",
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "../util/node_modules/path-exists": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/path-is-absolute": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/path-key": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/path-parse": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/path-to-regexp": {
- "version": "0.1.7",
- "license": "MIT"
- },
- "../util/node_modules/performance-now": {
- "version": "2.1.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/pg": {
- "version": "8.7.1",
- "license": "MIT",
- "dependencies": {
- "buffer-writer": "2.0.0",
- "packet-reader": "1.0.0",
- "pg-connection-string": "^2.5.0",
- "pg-pool": "^3.4.1",
- "pg-protocol": "^1.5.0",
- "pg-types": "^2.1.0",
- "pgpass": "1.x"
- },
- "engines": {
- "node": ">= 8.0.0"
- },
- "peerDependencies": {
- "pg-native": ">=2.0.0"
- },
- "peerDependenciesMeta": {
- "pg-native": {
- "optional": true
- }
- }
- },
- "../util/node_modules/pg-connection-string": {
- "version": "2.5.0",
- "license": "MIT"
- },
- "../util/node_modules/pg-int8": {
- "version": "1.0.1",
- "license": "ISC",
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "../util/node_modules/pg-pool": {
- "version": "3.4.1",
- "license": "MIT",
- "peerDependencies": {
- "pg": ">=8.0"
- }
- },
- "../util/node_modules/pg-protocol": {
- "version": "1.5.0",
- "license": "MIT"
- },
- "../util/node_modules/pg-types": {
- "version": "2.2.0",
- "license": "MIT",
- "dependencies": {
- "pg-int8": "1.0.1",
- "postgres-array": "~2.0.0",
- "postgres-bytea": "~1.0.0",
- "postgres-date": "~1.0.4",
- "postgres-interval": "^1.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/pgpass": {
- "version": "1.0.4",
- "license": "MIT",
- "dependencies": {
- "split2": "^3.1.1"
- }
- },
- "../util/node_modules/picocolors": {
- "version": "1.0.0",
- "license": "ISC"
- },
- "../util/node_modules/picomatch": {
- "version": "2.3.0",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "../util/node_modules/pirates": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "node-modules-regexp": "^1.0.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/pkg-dir": {
- "version": "4.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/postgres-array": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/postgres-bytea": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/postgres-date": {
- "version": "1.0.7",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/postgres-interval": {
- "version": "1.2.0",
- "license": "MIT",
- "dependencies": {
- "xtend": "^4.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/prebuild-install": {
- "version": "6.1.4",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.21.0",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- },
- "bin": {
- "prebuild-install": "bin.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/prelude-ls": {
- "version": "1.1.2",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/pretty-format": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.1.1",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "../util/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "../util/node_modules/process-nextick-args": {
- "version": "2.0.1",
- "license": "MIT"
- },
- "../util/node_modules/prompts": {
- "version": "2.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/proxy-addr": {
- "version": "2.0.7",
- "license": "MIT",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "../util/node_modules/proxy-agent": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^6.0.0",
- "debug": "4",
- "http-proxy-agent": "^4.0.0",
- "https-proxy-agent": "^5.0.0",
- "lru-cache": "^5.1.1",
- "pac-proxy-agent": "^5.0.0",
- "proxy-from-env": "^1.0.0",
- "socks-proxy-agent": "^5.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/proxy-agent/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/proxy-agent/node_modules/lru-cache": {
- "version": "5.1.1",
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "../util/node_modules/proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/proxy-agent/node_modules/yallist": {
- "version": "3.1.1",
- "license": "ISC"
- },
- "../util/node_modules/proxy-from-env": {
- "version": "1.1.0",
- "license": "MIT"
- },
- "../util/node_modules/psl": {
- "version": "1.8.0",
- "devOptional": true,
- "license": "MIT"
- },
- "../util/node_modules/pump": {
- "version": "3.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "../util/node_modules/punycode": {
- "version": "2.1.1",
- "devOptional": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/qs": {
- "version": "6.7.0",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.6"
- }
- },
- "../util/node_modules/querystringify": {
- "version": "2.2.0",
- "license": "MIT"
- },
- "../util/node_modules/range-parser": {
- "version": "1.2.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/raw-body": {
- "version": "2.4.0",
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/rc": {
- "version": "1.2.8",
- "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
- "optional": true,
- "peer": true,
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "../util/node_modules/react-is": {
- "version": "17.0.2",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/readable-stream": {
- "version": "1.1.14",
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "../util/node_modules/reflect-metadata": {
- "version": "0.1.13",
- "license": "Apache-2.0"
- },
- "../util/node_modules/request": {
- "version": "2.88.2",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "dependencies": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/request/node_modules/form-data": {
- "version": "2.3.3",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "../util/node_modules/request/node_modules/qs": {
- "version": "6.5.2",
- "license": "BSD-3-Clause",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "../util/node_modules/request/node_modules/tough-cookie": {
- "version": "2.5.0",
- "license": "BSD-3-Clause",
- "optional": true,
- "peer": true,
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "../util/node_modules/require-directory": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/requires-port": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "../util/node_modules/resolve": {
- "version": "1.20.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "../util/node_modules/resolve-cwd": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/resolve-from": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/rimraf": {
- "version": "3.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "../util/node_modules/safe-buffer": {
- "version": "5.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "../util/node_modules/safer-buffer": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/sax": {
- "version": "1.2.4",
- "license": "ISC"
- },
- "../util/node_modules/saxes": {
- "version": "5.0.1",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "xmlchars": "^2.2.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/semver": {
- "version": "6.3.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "../util/node_modules/send": {
- "version": "0.17.1",
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/send/node_modules/ms": {
- "version": "2.1.1",
- "license": "MIT"
- },
- "../util/node_modules/serve-static": {
- "version": "1.14.1",
- "license": "MIT",
- "dependencies": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/set-blocking": {
- "version": "2.0.0",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/setprototypeof": {
- "version": "1.1.1",
- "license": "ISC"
- },
- "../util/node_modules/sha.js": {
- "version": "2.4.11",
- "license": "(MIT AND BSD-3-Clause)",
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- },
- "bin": {
- "sha.js": "bin.js"
- }
- },
- "../util/node_modules/shebang-command": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/shebang-regex": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/signal-exit": {
- "version": "3.0.4",
- "devOptional": true,
- "license": "ISC"
- },
- "../util/node_modules/simple-concat": {
- "version": "1.0.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/simple-get": {
- "version": "3.1.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "../util/node_modules/sisteransi": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/slash": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/smart-buffer": {
- "version": "4.2.0",
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "../util/node_modules/socks": {
- "version": "2.6.1",
- "license": "MIT",
- "dependencies": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.1.0"
- },
- "engines": {
- "node": ">= 10.13.0",
- "npm": ">= 3.0.0"
- }
- },
- "../util/node_modules/socks-proxy-agent": {
- "version": "5.0.1",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^6.0.2",
- "debug": "4",
- "socks": "^2.3.3"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/socks-proxy-agent/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/socks-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/source-map": {
- "version": "0.6.1",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/source-map-support": {
- "version": "0.5.20",
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "../util/node_modules/split2": {
- "version": "3.2.2",
- "license": "ISC",
- "dependencies": {
- "readable-stream": "^3.0.0"
- }
- },
- "../util/node_modules/split2/node_modules/readable-stream": {
- "version": "3.6.0",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/split2/node_modules/string_decoder": {
- "version": "1.3.0",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "../util/node_modules/sprintf-js": {
- "version": "1.0.3",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "../util/node_modules/sqlite3": {
- "version": "5.0.2",
- "hasInstallScript": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "peer": true,
- "dependencies": {
- "node-addon-api": "^3.0.0",
- "node-pre-gyp": "^0.11.0"
- },
- "optionalDependencies": {
- "node-gyp": "3.x"
- },
- "peerDependencies": {
- "node-gyp": "3.x"
- },
- "peerDependenciesMeta": {
- "node-gyp": {
- "optional": true
- }
- }
- },
- "../util/node_modules/sshpk": {
- "version": "1.16.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/stack-utils": {
- "version": "2.0.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "escape-string-regexp": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/statuses": {
- "version": "1.5.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/streamsearch": {
- "version": "0.1.2",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/string_decoder": {
- "version": "0.10.31",
- "license": "MIT"
- },
- "../util/node_modules/string-length": {
- "version": "4.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/string-width": {
- "version": "1.0.2",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/string-width/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/string-width/node_modules/strip-ansi": {
- "version": "3.0.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/strip-ansi": {
- "version": "6.0.0",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/strip-bom": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/strip-final-newline": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/strip-json-comments": {
- "version": "2.0.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/supports-color": {
- "version": "7.2.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/supports-hyperlinks": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/symbol-tree": {
- "version": "3.2.4",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/tar": {
- "version": "2.2.2",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "block-stream": "*",
- "fstream": "^1.0.12",
- "inherits": "2"
- }
- },
- "../util/node_modules/tar-fs": {
- "version": "2.1.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "../util/node_modules/tar-stream": {
- "version": "2.2.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/tar-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../util/node_modules/tar-stream/node_modules/string_decoder": {
- "version": "1.3.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "../util/node_modules/terminal-link": {
- "version": "2.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/test-exclude": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/thenify": {
- "version": "3.3.1",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0"
- }
- },
- "../util/node_modules/thenify-all": {
- "version": "1.6.0",
- "license": "MIT",
- "dependencies": {
- "thenify": ">= 3.1.0 < 4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "../util/node_modules/throat": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/tmp": {
- "version": "0.0.33",
- "license": "MIT",
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
- "../util/node_modules/tmpl": {
- "version": "1.0.5",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "../util/node_modules/to-fast-properties": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/to-regex-range": {
- "version": "5.0.1",
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "../util/node_modules/toidentifier": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.6"
- }
- },
- "../util/node_modules/tough-cookie": {
- "version": "4.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.1.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/tr46": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/ts-node": {
- "version": "10.2.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@cspotcode/source-map-support": "0.6.1",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
- "../util/node_modules/ts-node/node_modules/acorn-walk": {
- "version": "8.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../util/node_modules/tslib": {
- "version": "2.3.1",
- "license": "0BSD"
- },
- "../util/node_modules/tunnel-agent": {
- "version": "0.6.0",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "../util/node_modules/tweetnacl": {
- "version": "0.14.5",
- "license": "Unlicense",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/type-check": {
- "version": "0.3.2",
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../util/node_modules/type-detect": {
- "version": "4.0.8",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../util/node_modules/type-fest": {
- "version": "0.21.3",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../util/node_modules/type-is": {
- "version": "1.6.18",
- "license": "MIT",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "../util/node_modules/typedarray": {
- "version": "0.0.6",
- "license": "MIT"
- },
- "../util/node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "../util/node_modules/typeorm": {
- "version": "0.2.38",
- "license": "MIT",
- "dependencies": {
- "@sqltools/formatter": "^1.2.2",
- "app-root-path": "^3.0.0",
- "buffer": "^6.0.3",
- "chalk": "^4.1.0",
- "cli-highlight": "^2.1.11",
- "debug": "^4.3.1",
- "dotenv": "^8.2.0",
- "glob": "^7.1.6",
- "js-yaml": "^4.0.0",
- "mkdirp": "^1.0.4",
- "reflect-metadata": "^0.1.13",
- "sha.js": "^2.4.11",
- "tslib": "^2.1.0",
- "xml2js": "^0.4.23",
- "yargonaut": "^1.1.4",
- "yargs": "^17.0.1",
- "zen-observable-ts": "^1.0.0"
- },
- "bin": {
- "typeorm": "cli.js"
- },
- "funding": {
- "url": "https://opencollective.com/typeorm"
- },
- "peerDependencies": {
- "@sap/hana-client": "*",
- "better-sqlite3": "*",
- "hdb-pool": "*",
- "ioredis": "*",
- "mongodb": "^3.6.0",
- "mssql": "*",
- "mysql2": "*",
- "oracledb": "*",
- "pg": "*",
- "pg-native": "*",
- "pg-query-stream": "*",
- "redis": "*",
- "sql.js": "*",
- "sqlite3": "*",
- "typeorm-aurora-data-api-driver": "*"
- },
- "peerDependenciesMeta": {
- "@sap/hana-client": {
- "optional": true
- },
- "better-sqlite3": {
- "optional": true
- },
- "hdb-pool": {
- "optional": true
- },
- "ioredis": {
- "optional": true
- },
- "mongodb": {
- "optional": true
- },
- "mssql": {
- "optional": true
- },
- "mysql2": {
- "optional": true
- },
- "oracledb": {
- "optional": true
- },
- "pg": {
- "optional": true
- },
- "pg-native": {
- "optional": true
- },
- "pg-query-stream": {
- "optional": true
- },
- "redis": {
- "optional": true
- },
- "sql.js": {
- "optional": true
- },
- "sqlite3": {
- "optional": true
- },
- "typeorm-aurora-data-api-driver": {
- "optional": true
- }
- }
- },
- "../util/node_modules/typeorm/node_modules/argparse": {
- "version": "2.0.1",
- "license": "Python-2.0"
- },
- "../util/node_modules/typeorm/node_modules/buffer": {
- "version": "6.0.3",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "../util/node_modules/typeorm/node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../util/node_modules/typeorm/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/typeorm/node_modules/js-yaml": {
- "version": "4.1.0",
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "../util/node_modules/typeorm/node_modules/mkdirp": {
- "version": "1.0.4",
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/typeorm/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "../util/node_modules/typeorm/node_modules/string-width": {
- "version": "4.2.2",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/typeorm/node_modules/yargs": {
- "version": "17.1.1",
- "license": "MIT",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "../util/node_modules/typescript": {
- "version": "4.4.3",
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "../util/node_modules/typescript-json-schema": {
- "version": "0.50.1",
- "dependencies": {
- "@types/json-schema": "^7.0.7",
- "@types/node": "^14.14.33",
- "glob": "^7.1.6",
- "json-stable-stringify": "^1.0.1",
- "ts-node": "^9.1.1",
- "typescript": "~4.2.3",
- "yargs": "^16.2.0"
- },
- "bin": {
- "typescript-json-schema": "bin/typescript-json-schema"
- }
- },
- "../util/node_modules/typescript-json-schema/node_modules/ts-node": {
- "version": "9.1.1",
- "license": "MIT",
- "dependencies": {
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.17",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "typescript": ">=2.7"
- }
- },
- "../util/node_modules/typescript-json-schema/node_modules/typescript": {
- "version": "4.2.4",
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "../util/node_modules/universalify": {
- "version": "0.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "../util/node_modules/unpipe": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/uri-js": {
- "version": "4.4.1",
- "license": "BSD-2-Clause",
- "optional": true,
- "peer": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "../util/node_modules/url-parse": {
- "version": "1.5.10",
- "license": "MIT",
- "dependencies": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "../util/node_modules/util-deprecate": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "../util/node_modules/utils-merge": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "../util/node_modules/uuid": {
- "version": "3.4.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "bin": {
- "uuid": "bin/uuid"
- }
- },
- "../util/node_modules/v8-to-istanbul": {
- "version": "8.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "../util/node_modules/v8-to-istanbul/node_modules/source-map": {
- "version": "0.7.3",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/vary": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "../util/node_modules/verror": {
- "version": "1.10.0",
- "engines": [
- "node >=0.6.0"
- ],
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "../util/node_modules/verror/node_modules/core-util-is": {
- "version": "1.0.2",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "../util/node_modules/vm2": {
- "version": "3.9.7",
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.7.0",
- "acorn-walk": "^8.2.0"
- },
- "bin": {
- "vm2": "bin/vm2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "../util/node_modules/vm2/node_modules/acorn-walk": {
- "version": "8.2.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../util/node_modules/w3c-hr-time": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "../util/node_modules/w3c-xmlserializer": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/walker": {
- "version": "1.0.7",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "makeerror": "1.0.x"
- }
- },
- "../util/node_modules/webidl-conversions": {
- "version": "6.1.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=10.4"
- }
- },
- "../util/node_modules/whatwg-encoding": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "iconv-lite": "0.4.24"
- }
- },
- "../util/node_modules/whatwg-mimetype": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/whatwg-url": {
- "version": "8.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/which": {
- "version": "2.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../util/node_modules/wide-align": {
- "version": "1.1.3",
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "../util/node_modules/word-wrap": {
- "version": "1.2.3",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "../util/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.2",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/wrappy": {
- "version": "1.0.2",
- "license": "ISC"
- },
- "../util/node_modules/write-file-atomic": {
- "version": "3.0.3",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "../util/node_modules/ws": {
- "version": "7.5.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "../util/node_modules/xml-name-validator": {
- "version": "3.0.0",
- "dev": true,
- "license": "Apache-2.0"
- },
- "../util/node_modules/xml2js": {
- "version": "0.4.23",
- "license": "MIT",
- "dependencies": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "../util/node_modules/xmlbuilder": {
- "version": "11.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- }
- },
- "../util/node_modules/xmlchars": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT"
- },
- "../util/node_modules/xregexp": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "../util/node_modules/xtend": {
- "version": "4.0.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.4"
- }
- },
- "../util/node_modules/y18n": {
- "version": "5.0.8",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/yallist": {
- "version": "4.0.0",
- "devOptional": true,
- "license": "ISC"
- },
- "../util/node_modules/yargonaut": {
- "version": "1.1.4",
- "license": "Apache-2.0",
- "dependencies": {
- "chalk": "^1.1.1",
- "figlet": "^1.1.1",
- "parent-require": "^1.0.0"
- }
- },
- "../util/node_modules/yargonaut/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/yargonaut/node_modules/ansi-styles": {
- "version": "2.2.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/yargonaut/node_modules/chalk": {
- "version": "1.1.3",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/yargonaut/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/yargonaut/node_modules/strip-ansi": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../util/node_modules/yargonaut/node_modules/supports-color": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../util/node_modules/yargs": {
- "version": "16.2.0",
- "license": "MIT",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/yargs-parser": {
- "version": "20.2.9",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "../util/node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/yargs/node_modules/string-width": {
- "version": "4.2.2",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../util/node_modules/yn": {
- "version": "3.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../util/node_modules/zen-observable": {
- "version": "0.8.15",
- "license": "MIT"
- },
- "../util/node_modules/zen-observable-ts": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "@types/zen-observable": "0.8.3",
- "zen-observable": "0.8.15"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/highlight": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.15.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.15.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helpers": "^7.15.4",
- "@babel/parser": "^7.15.5",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/json5": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.14.5",
- "regexpu-core": "^4.7.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.2.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.13.0",
- "@babel/helper-module-imports": "^7.12.13",
- "@babel/helper-plugin-utils": "^7.13.0",
- "@babel/traverse": "^7.13.0",
- "debug": "^4.1.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0-0"
- }
- },
- "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
- "version": "6.3.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-explode-assignable-expression": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-get-function-arity": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-simple-access": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/helper-validator-identifier": "^7.14.9",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-wrap-function": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.9",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-wrap-function": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-function-name": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.15.6",
- "dev": true,
- "license": "MIT",
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4",
- "@babel/plugin-proposal-optional-chaining": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.13.0"
- }
- },
- "node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.15.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.15.4",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-class-static-block": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
- }
- },
- "node_modules/@babel/plugin-proposal-dynamic-import": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-export-namespace-from": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-json-strings": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-numeric-separator": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.15.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-static-block": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.15.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-classes": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.14.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-for-of": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-function-name": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-function-name": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-literals": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.15.4",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.9",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.14.9",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-new-target": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-object-super": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-parameters": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerator-transform": "^0.14.2"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-spread": {
- "version": "7.15.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-typescript": {
- "version": "7.15.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-typescript": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/preset-env": {
- "version": "7.15.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-validator-option": "^7.14.5",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4",
- "@babel/plugin-proposal-async-generator-functions": "^7.15.8",
- "@babel/plugin-proposal-class-properties": "^7.14.5",
- "@babel/plugin-proposal-class-static-block": "^7.15.4",
- "@babel/plugin-proposal-dynamic-import": "^7.14.5",
- "@babel/plugin-proposal-export-namespace-from": "^7.14.5",
- "@babel/plugin-proposal-json-strings": "^7.14.5",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5",
- "@babel/plugin-proposal-numeric-separator": "^7.14.5",
- "@babel/plugin-proposal-object-rest-spread": "^7.15.6",
- "@babel/plugin-proposal-optional-catch-binding": "^7.14.5",
- "@babel/plugin-proposal-optional-chaining": "^7.14.5",
- "@babel/plugin-proposal-private-methods": "^7.14.5",
- "@babel/plugin-proposal-private-property-in-object": "^7.15.4",
- "@babel/plugin-proposal-unicode-property-regex": "^7.14.5",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.14.5",
- "@babel/plugin-transform-async-to-generator": "^7.14.5",
- "@babel/plugin-transform-block-scoped-functions": "^7.14.5",
- "@babel/plugin-transform-block-scoping": "^7.15.3",
- "@babel/plugin-transform-classes": "^7.15.4",
- "@babel/plugin-transform-computed-properties": "^7.14.5",
- "@babel/plugin-transform-destructuring": "^7.14.7",
- "@babel/plugin-transform-dotall-regex": "^7.14.5",
- "@babel/plugin-transform-duplicate-keys": "^7.14.5",
- "@babel/plugin-transform-exponentiation-operator": "^7.14.5",
- "@babel/plugin-transform-for-of": "^7.15.4",
- "@babel/plugin-transform-function-name": "^7.14.5",
- "@babel/plugin-transform-literals": "^7.14.5",
- "@babel/plugin-transform-member-expression-literals": "^7.14.5",
- "@babel/plugin-transform-modules-amd": "^7.14.5",
- "@babel/plugin-transform-modules-commonjs": "^7.15.4",
- "@babel/plugin-transform-modules-systemjs": "^7.15.4",
- "@babel/plugin-transform-modules-umd": "^7.14.5",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9",
- "@babel/plugin-transform-new-target": "^7.14.5",
- "@babel/plugin-transform-object-super": "^7.14.5",
- "@babel/plugin-transform-parameters": "^7.15.4",
- "@babel/plugin-transform-property-literals": "^7.14.5",
- "@babel/plugin-transform-regenerator": "^7.14.5",
- "@babel/plugin-transform-reserved-words": "^7.14.5",
- "@babel/plugin-transform-shorthand-properties": "^7.14.5",
- "@babel/plugin-transform-spread": "^7.15.8",
- "@babel/plugin-transform-sticky-regex": "^7.14.5",
- "@babel/plugin-transform-template-literals": "^7.14.5",
- "@babel/plugin-transform-typeof-symbol": "^7.14.5",
- "@babel/plugin-transform-unicode-escapes": "^7.14.5",
- "@babel/plugin-transform-unicode-regex": "^7.14.5",
- "@babel/preset-modules": "^0.1.4",
- "@babel/types": "^7.15.6",
- "babel-plugin-polyfill-corejs2": "^0.2.2",
- "babel-plugin-polyfill-corejs3": "^0.2.5",
- "babel-plugin-polyfill-regenerator": "^0.2.2",
- "core-js-compat": "^3.16.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/preset-env/node_modules/semver": {
- "version": "6.3.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/preset-modules": {
- "version": "0.1.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/preset-typescript": {
- "version": "7.15.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-validator-option": "^7.14.5",
- "@babel/plugin-transform-typescript": "^7.15.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.15.4",
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.13.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.15.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.15.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@bcoe/v8-coverage": {
- "version": "0.2.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@fosscord/util": {
- "resolved": "../util",
- "link": true
- },
- "node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jest/console": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.2.5",
- "jest-util": "^27.2.5",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/core": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.5",
- "@jest/reporters": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.2.5",
- "jest-config": "^27.2.5",
- "jest-haste-map": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-resolve-dependencies": "^27.2.5",
- "jest-runner": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "jest-watcher": "^27.2.5",
- "micromatch": "^4.0.4",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/core/node_modules/ci-info": {
- "version": "3.2.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jest/core/node_modules/is-ci": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ci-info": "^3.1.1"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
- "node_modules/@jest/core/node_modules/jest-config": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.5",
- "@jest/types": "^27.2.5",
- "babel-jest": "^27.2.5",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.5",
- "jest-environment-jsdom": "^27.2.5",
- "jest-environment-node": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-runner": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/environment": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/fake-timers": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "jest-mock": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/fake-timers": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "@sinonjs/fake-timers": "^8.0.1",
- "@types/node": "*",
- "jest-message-util": "^27.2.5",
- "jest-mock": "^27.2.5",
- "jest-util": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/globals": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.5",
- "@jest/types": "^27.2.5",
- "expect": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/reporters": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.2.5",
- "jest-resolve": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-worker": "^27.2.5",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.1.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/@jest/reporters/node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@jest/source-map": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/source-map/node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@jest/test-result": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/test-sequencer": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/test-result": "^27.2.5",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-runtime": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/transform": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.2.5",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-util": "^27.2.5",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/transform/node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@jest/types": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@mapbox/node-pre-gyp": {
- "version": "1.0.5",
- "license": "BSD-3-Clause",
- "dependencies": {
- "detect-libc": "^1.0.3",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.4",
- "tar": "^6.1.0"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
- "node_modules/@mapbox/node-pre-gyp/node_modules/semver": {
- "version": "7.3.5",
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@sentry/core": {
- "version": "6.16.1",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sentry/hub": "6.16.1",
- "@sentry/minimal": "6.16.1",
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/core/node_modules/tslib": {
- "version": "1.14.1",
- "license": "0BSD"
- },
- "node_modules/@sentry/hub": {
- "version": "6.16.1",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/hub/node_modules/tslib": {
- "version": "1.14.1",
- "license": "0BSD"
- },
- "node_modules/@sentry/minimal": {
- "version": "6.16.1",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sentry/hub": "6.16.1",
- "@sentry/types": "6.16.1",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/minimal/node_modules/tslib": {
- "version": "1.14.1",
- "license": "0BSD"
- },
- "node_modules/@sentry/node": {
- "version": "6.16.1",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sentry/core": "6.16.1",
- "@sentry/hub": "6.16.1",
- "@sentry/tracing": "6.16.1",
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "cookie": "^0.4.1",
- "https-proxy-agent": "^5.0.0",
- "lru_map": "^0.3.3",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/node/node_modules/cookie": {
- "version": "0.4.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/@sentry/node/node_modules/tslib": {
- "version": "1.14.1",
- "license": "0BSD"
- },
- "node_modules/@sentry/tracing": {
- "version": "6.16.1",
- "license": "MIT",
- "dependencies": {
- "@sentry/hub": "6.16.1",
- "@sentry/minimal": "6.16.1",
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/tracing/node_modules/tslib": {
- "version": "1.14.1",
- "license": "0BSD"
- },
- "node_modules/@sentry/types": {
- "version": "6.16.1",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/utils": {
- "version": "6.16.1",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sentry/types": "6.16.1",
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@sentry/utils/node_modules/tslib": {
- "version": "1.14.1",
- "license": "0BSD"
- },
- "node_modules/@sinonjs/commons": {
- "version": "1.8.3",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "type-detect": "4.0.8"
- }
- },
- "node_modules/@sinonjs/fake-timers": {
- "version": "8.0.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "node_modules/@sqltools/formatter": {
- "version": "1.2.3",
- "license": "MIT"
- },
- "node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@types/amqplib": {
- "version": "0.8.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/bluebird": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/babel__core": {
- "version": "7.1.16",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "node_modules/@types/babel__generator": {
- "version": "7.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__template": {
- "version": "7.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__traverse": {
- "version": "7.14.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.3.0"
- }
- },
- "node_modules/@types/bcrypt": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/bluebird": {
- "version": "3.5.36",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.35",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/cookiejar": {
- "version": "2.1.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/express": {
- "version": "4.17.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "4.17.24",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "node_modules/@types/graceful-fs": {
- "version": "4.1.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/i18next-node-fs-backend": {
- "version": "2.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "i18next": ">=17.0.11"
- }
- },
- "node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "node_modules/@types/istanbul-reports": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "node_modules/@types/jest": {
- "version": "27.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jest-diff": "^27.0.0",
- "pretty-format": "^27.0.0"
- }
- },
- "node_modules/@types/jest-expect-message": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/jest": "*"
- }
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.9",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/jsonwebtoken": {
- "version": "8.5.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/mime": {
- "version": "1.3.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/morgan": {
- "version": "1.9.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/multer": {
- "version": "1.4.7",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/express": "*"
- }
- },
- "node_modules/@types/node": {
- "version": "14.17.16",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node-fetch": {
- "version": "2.5.12",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- }
- },
- "node_modules/@types/prettier": {
- "version": "2.4.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/qs": {
- "version": "6.9.7",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.4",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/serve-static": {
- "version": "1.13.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/stack-utils": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/strip-bom": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/strip-json-comments": {
- "version": "0.0.30",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/superagent": {
- "version": "4.1.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/cookiejar": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/supertest": {
- "version": "2.0.11",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/superagent": "*"
- }
- },
- "node_modules/@types/yargs": {
- "version": "16.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "node_modules/@types/yargs-parser": {
- "version": "20.2.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/zen-observable": {
- "version": "0.8.3",
- "license": "MIT"
- },
- "node_modules/@yarnpkg/lockfile": {
- "version": "1.1.0",
- "license": "BSD-2-Clause"
- },
- "node_modules/@zerollup/ts-helpers": {
- "version": "1.7.18",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve": "^1.12.0"
- },
- "peerDependencies": {
- "typescript": ">=3.7.2"
- }
- },
- "node_modules/@zerollup/ts-transform-paths": {
- "version": "1.7.18",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@zerollup/ts-helpers": "^1.7.18"
- },
- "peerDependencies": {
- "typescript": ">=3.7.2"
- }
- },
- "node_modules/abab": {
- "version": "2.0.5",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/abbrev": {
- "version": "1.1.1",
- "license": "ISC"
- },
- "node_modules/accepts": {
- "version": "1.3.7",
- "license": "MIT",
- "dependencies": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "8.7.0",
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-globals": {
- "version": "6.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- }
- },
- "node_modules/acorn-globals/node_modules/acorn": {
- "version": "7.4.1",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "7.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/ajv": {
- "version": "8.6.2",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ajv-formats": {
- "version": "2.1.1",
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/amqplib": {
- "version": "0.8.0",
- "license": "MIT",
- "dependencies": {
- "bitsyntax": "~0.1.0",
- "bluebird": "^3.7.2",
- "buffer-more-ints": "~1.0.0",
- "readable-stream": "1.x >=1.1.9",
- "safe-buffer": "~5.2.1",
- "url-parse": "~1.5.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "4.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/any-promise": {
- "version": "1.3.0",
- "license": "MIT"
- },
- "node_modules/anymatch": {
- "version": "3.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/app-root-path": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/append-field": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/aproba": {
- "version": "1.2.0",
- "license": "ISC"
- },
- "node_modules/are-we-there-yet": {
- "version": "1.1.7",
- "license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "node_modules/are-we-there-yet/node_modules/isarray": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/are-we-there-yet/node_modules/readable-stream": {
- "version": "2.3.7",
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/are-we-there-yet/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/are-we-there-yet/node_modules/string_decoder": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/arg": {
- "version": "4.1.3",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/argparse": {
- "version": "1.0.10",
- "license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "license": "MIT"
- },
- "node_modules/assert": {
- "version": "1.5.0",
- "license": "MIT",
- "dependencies": {
- "object-assign": "^4.1.1",
- "util": "0.10.3"
- }
- },
- "node_modules/ast-types": {
- "version": "0.13.4",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "license": "MIT"
- },
- "node_modules/babel-jest": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.8.0"
- }
- },
- "node_modules/babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "object.assign": "^4.1.0"
- }
- },
- "node_modules/babel-plugin-istanbul": {
- "version": "6.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^4.0.0",
- "test-exclude": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/babel-plugin-jest-hoist": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.2.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.13.11",
- "@babel/helper-define-polyfill-provider": "^0.2.2",
- "semver": "^6.1.1"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
- "version": "6.3.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.2.2",
- "core-js-compat": "^3.16.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.2.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.2.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/babel-preset-jest": {
- "version": "27.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "babel-plugin-jest-hoist": "^27.2.0",
- "babel-preset-current-node-syntax": "^1.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/basic-auth": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "5.1.2"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/basic-auth/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/bcrypt": {
- "version": "5.0.1",
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "@mapbox/node-pre-gyp": "^1.0.0",
- "node-addon-api": "^3.1.0"
- },
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/bitsyntax": {
- "version": "0.1.0",
- "license": "MIT",
- "dependencies": {
- "buffer-more-ints": "~1.0.0",
- "debug": "~2.6.9",
- "safe-buffer": "~5.1.2"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/bitsyntax/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/bitsyntax/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/bitsyntax/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/bluebird": {
- "version": "3.7.2",
- "license": "MIT"
- },
- "node_modules/body-parser": {
- "version": "1.19.0",
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/boolbase": {
- "version": "1.0.0",
- "license": "ISC"
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browser-process-hrtime": {
- "version": "1.0.0",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/browserslist": {
- "version": "4.17.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001254",
- "colorette": "^1.3.0",
- "electron-to-chromium": "^1.3.830",
- "escalade": "^3.1.1",
- "node-releases": "^1.1.75"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "node_modules/bser": {
- "version": "2.1.1",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "node-int64": "^0.4.0"
- }
- },
- "node_modules/buffer-equal-constant-time": {
- "version": "1.0.1",
- "license": "BSD-3-Clause"
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "license": "MIT"
- },
- "node_modules/buffer-more-ints": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/busboy": {
- "version": "0.2.14",
- "dependencies": {
- "dicer": "0.2.5",
- "readable-stream": "1.1.x"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/bytes": {
- "version": "3.1.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.2",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "5.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001257",
- "dev": true,
- "license": "CC-BY-4.0",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/char-regex": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/cheerio": {
- "version": "1.0.0-rc.10",
- "license": "MIT",
- "dependencies": {
- "cheerio-select": "^1.5.0",
- "dom-serializer": "^1.3.2",
- "domhandler": "^4.2.0",
- "htmlparser2": "^6.1.0",
- "parse5": "^6.0.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.1",
- "tslib": "^2.2.0"
- },
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
- }
- },
- "node_modules/cheerio-select": {
- "version": "1.5.0",
- "license": "BSD-2-Clause",
- "dependencies": {
- "css-select": "^4.1.3",
- "css-what": "^5.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.7.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chownr": {
- "version": "2.0.0",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ci-info": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/cjs-module-lexer": {
- "version": "1.2.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cli-highlight": {
- "version": "2.1.11",
- "license": "ISC",
- "dependencies": {
- "chalk": "^4.0.0",
- "highlight.js": "^10.7.1",
- "mz": "^2.4.0",
- "parse5": "^5.1.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.0",
- "yargs": "^16.0.0"
- },
- "bin": {
- "highlight": "bin/highlight"
- },
- "engines": {
- "node": ">=8.0.0",
- "npm": ">=5.0.0"
- }
- },
- "node_modules/cli-highlight/node_modules/parse5": {
- "version": "5.1.1",
- "license": "MIT"
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/cliui/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/co": {
- "version": "4.6.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">= 1.0.0",
- "node": ">= 0.12.0"
- }
- },
- "node_modules/code-point-at": {
- "version": "1.1.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/collect-v8-coverage": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "license": "MIT"
- },
- "node_modules/colorette": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "license": "MIT",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/component-emitter": {
- "version": "1.3.0",
- "license": "MIT"
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "license": "MIT"
- },
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "engines": [
- "node >= 0.8"
- ],
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "node_modules/concat-stream/node_modules/isarray": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/concat-stream/node_modules/readable-stream": {
- "version": "2.3.7",
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/concat-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/concat-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/console-control-strings": {
- "version": "1.1.0",
- "license": "ISC"
- },
- "node_modules/content-disposition": {
- "version": "0.5.3",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "5.1.2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-disposition/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/content-type": {
- "version": "1.0.4",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
- },
- "node_modules/convert-source-map/node_modules/safe-buffer": {
- "version": "5.1.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.4.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "license": "MIT"
- },
- "node_modules/cookiejar": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "node_modules/core-js-compat": {
- "version": "3.18.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.17.3",
- "semver": "7.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/core-js-compat/node_modules/browserslist": {
- "version": "4.17.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001265",
- "electron-to-chromium": "^1.3.867",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.0",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "node_modules/core-js-compat/node_modules/caniuse-lite": {
- "version": "1.0.30001267",
- "dev": true,
- "license": "CC-BY-4.0",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "node_modules/core-js-compat/node_modules/electron-to-chromium": {
- "version": "1.3.870",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/core-js-compat/node_modules/node-releases": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/core-js-compat/node_modules/semver": {
- "version": "7.0.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "license": "MIT"
- },
- "node_modules/create-require": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/cross-spawn/node_modules/which": {
- "version": "2.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css-select": {
- "version": "4.1.3",
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^5.0.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.6.0",
- "nth-check": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/css-what": {
- "version": "5.0.1",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/cssom": {
- "version": "0.4.4",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cssstyle": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssom": "~0.3.6"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cssstyle/node_modules/cssom": {
- "version": "0.3.8",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/data-uri-to-buffer": {
- "version": "3.0.1",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/data-urls": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/debug": {
- "version": "4.3.2",
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decimal.js": {
- "version": "10.3.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/dedent": {
- "version": "0.7.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "license": "MIT"
- },
- "node_modules/deepmerge": {
- "version": "4.2.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-properties": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "object-keys": "^1.0.12"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/degenerator": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "ast-types": "^0.13.2",
- "escodegen": "^1.8.1",
- "esprima": "^4.0.0",
- "vm2": "^3.9.3"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/degenerator/node_modules/escodegen": {
- "version": "1.14.3",
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=4.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/degenerator/node_modules/estraverse": {
- "version": "4.3.0",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/degenerator/node_modules/source-map": {
- "version": "0.6.1",
- "license": "BSD-3-Clause",
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/delegates": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/depd": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/destroy": {
- "version": "1.0.4",
- "license": "MIT"
- },
- "node_modules/detect-libc": {
- "version": "1.0.3",
- "license": "Apache-2.0",
- "bin": {
- "detect-libc": "bin/detect-libc.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/detect-newline": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dicer": {
- "version": "0.2.5",
- "dependencies": {
- "readable-stream": "1.1.x",
- "streamsearch": "0.1.2"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/diff": {
- "version": "4.0.2",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/diff-sequences": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/dom-serializer": {
- "version": "1.3.2",
- "license": "MIT",
- "dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
- }
- },
- "node_modules/domelementtype": {
- "version": "2.2.0",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "BSD-2-Clause"
- },
- "node_modules/domexception": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "webidl-conversions": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/domexception/node_modules/webidl-conversions": {
- "version": "5.0.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/domhandler": {
- "version": "4.2.2",
- "license": "BSD-2-Clause",
- "dependencies": {
- "domelementtype": "^2.2.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/domutils": {
- "version": "2.8.0",
- "license": "BSD-2-Clause",
- "dependencies": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- },
- "funding": {
- "url": "https://github.com/fb55/domutils?sponsor=1"
- }
- },
- "node_modules/dotenv": {
- "version": "8.6.0",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/dynamic-dedupe": {
- "version": "0.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "xtend": "^4.0.0"
- }
- },
- "node_modules/ecdsa-sig-formatter": {
- "version": "1.0.11",
- "license": "Apache-2.0",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "license": "MIT"
- },
- "node_modules/electron-to-chromium": {
- "version": "1.3.840",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/emittery": {
- "version": "0.8.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "license": "MIT"
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/entities": {
- "version": "2.2.0",
- "license": "BSD-2-Clause",
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "license": "MIT"
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/escodegen": {
- "version": "2.0.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/escodegen/node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/estraverse": {
- "version": "5.2.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/execa": {
- "version": "5.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/exit": {
- "version": "0.1.2",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/expect": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.0.6",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-regex-util": "^27.0.6"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/expect/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/express": {
- "version": "4.17.1",
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/express-async-errors": {
- "version": "3.1.1",
- "license": "ISC",
- "peerDependencies": {
- "express": "^4.16.2"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/express/node_modules/safe-buffer": {
- "version": "5.1.2",
- "license": "MIT"
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "license": "MIT"
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "license": "MIT"
- },
- "node_modules/fast-safe-stringify": {
- "version": "2.1.1",
- "license": "MIT"
- },
- "node_modules/fb-watchman": {
- "version": "2.0.1",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "bser": "2.1.1"
- }
- },
- "node_modules/figlet": {
- "version": "1.5.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/file-uri-to-path": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.1.2",
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/find-up": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-yarn-workspace-root": {
- "version": "2.0.0",
- "license": "Apache-2.0",
- "dependencies": {
- "micromatch": "^4.0.2"
- }
- },
- "node_modules/form-data": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/formidable": {
- "version": "1.2.2",
- "license": "MIT",
- "funding": {
- "url": "https://ko-fi.com/tunnckoCore/commissions"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs-extra": {
- "version": "8.1.0",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/fs-minipass": {
- "version": "2.1.0",
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "license": "ISC"
- },
- "node_modules/ftp": {
- "version": "0.3.10",
- "dependencies": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "license": "MIT"
- },
- "node_modules/gauge": {
- "version": "2.7.4",
- "license": "ISC",
- "dependencies": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "node_modules/gauge/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/strip-ansi": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-package-type": {
- "version": "0.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/get-stream": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-uri": {
- "version": "3.0.2",
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "1",
- "data-uri-to-buffer": "3",
- "debug": "4",
- "file-uri-to-path": "2",
- "fs-extra": "^8.1.0",
- "ftp": "^0.3.10"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/glob": {
- "version": "7.1.7",
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/global-prefix": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/globals": {
- "version": "11.12.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.8",
- "license": "ISC"
- },
- "node_modules/growly": {
- "version": "1.3.0",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-ansi": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-unicode": {
- "version": "2.0.1",
- "license": "ISC"
- },
- "node_modules/helmet": {
- "version": "4.6.0",
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/highlight.js": {
- "version": "10.7.3",
- "license": "BSD-3-Clause",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/html-encoding-sniffer": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-encoding": "^1.0.5"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/htmlparser2": {
- "version": "6.1.0",
- "funding": [
- "https://github.com/fb55/htmlparser2?sponsor=1",
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.0.0",
- "domutils": "^2.5.2",
- "entities": "^2.0.0"
- }
- },
- "node_modules/http-errors": {
- "version": "1.7.2",
- "license": "MIT",
- "dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/http-errors/node_modules/inherits": {
- "version": "2.0.3",
- "license": "ISC"
- },
- "node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/human-signals": {
- "version": "2.1.0",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "node_modules/i18next": {
- "version": "19.9.2",
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.12.0"
- }
- },
- "node_modules/i18next-http-middleware": {
- "version": "3.1.4",
- "license": "MIT"
- },
- "node_modules/i18next-node-fs-backend": {
- "version": "2.1.3",
- "license": "MIT",
- "dependencies": {
- "js-yaml": "3.13.1",
- "json5": "2.0.0"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "node_modules/image-size": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "queue": "6.0.2"
- },
- "bin": {
- "image-size": "bin/image-size.js"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/import-local": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "license": "ISC"
- },
- "node_modules/ini": {
- "version": "1.3.8",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/interpret": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/ip": {
- "version": "1.1.5",
- "license": "MIT"
- },
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-ci": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "ci-info": "^2.0.0"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.6.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-docker": {
- "version": "2.2.1",
- "license": "MIT",
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-generator-fn": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-potential-custom-element-name": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-stream": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "license": "MIT",
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/isarray": {
- "version": "0.0.1",
- "license": "MIT"
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "license": "ISC"
- },
- "node_modules/istanbul-lib-coverage": {
- "version": "3.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument": {
- "version": "4.0.3",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument/node_modules/semver": {
- "version": "6.3.0",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-source-maps": {
- "version": "4.0.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.0.5",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/core": "^27.2.5",
- "import-local": "^3.0.2",
- "jest-cli": "^27.2.5"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/jest-changed-files": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-circus": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.2.5",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.5",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "pretty-format": "^27.2.5",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-cli": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/core": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "jest-config": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "prompts": "^2.0.1",
- "yargs": "^16.2.0"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/jest-cli/node_modules/ci-info": {
- "version": "3.2.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jest-cli/node_modules/is-ci": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ci-info": "^3.1.1"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
- "node_modules/jest-cli/node_modules/jest-config": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.5",
- "@jest/types": "^27.2.5",
- "babel-jest": "^27.2.5",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.5",
- "jest-environment-jsdom": "^27.2.5",
- "jest-environment-node": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-runner": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "peerDependencies": {
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/jest-diff": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.0.6",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-docblock": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "detect-newline": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-each": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "jest-util": "^27.2.5",
- "pretty-format": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-environment-jsdom": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.5",
- "@jest/fake-timers": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "jest-mock": "^27.2.5",
- "jest-util": "^27.2.5",
- "jsdom": "^16.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-environment-node": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^27.2.5",
- "@jest/fake-timers": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "jest-mock": "^27.2.5",
- "jest-util": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-expect-message": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jest-get-type": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-haste-map": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.0.6",
- "jest-serializer": "^27.0.6",
- "jest-util": "^27.2.5",
- "jest-worker": "^27.2.5",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- },
- "optionalDependencies": {
- "fsevents": "^2.3.2"
- }
- },
- "node_modules/jest-jasmine2": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.2.5",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.2.5",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.5",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "pretty-format": "^27.2.5",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-leak-detector": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-matcher-utils": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-message-util": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.2.5",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.5",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-mock": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "@types/node": "*"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-pnp-resolver": {
- "version": "1.2.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "jest-resolve": "*"
- },
- "peerDependenciesMeta": {
- "jest-resolve": {
- "optional": true
- }
- }
- },
- "node_modules/jest-regex-util": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-resolve": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "chalk": "^4.0.0",
- "escalade": "^3.1.1",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "resolve": "^1.20.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-resolve-dependencies": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-snapshot": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-runner": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.5",
- "@jest/environment": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.0.6",
- "jest-environment-jsdom": "^27.2.5",
- "jest-environment-node": "^27.2.5",
- "jest-haste-map": "^27.2.5",
- "jest-leak-detector": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-resolve": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-worker": "^27.2.5",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-runtime": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^27.2.5",
- "@jest/environment": "^27.2.5",
- "@jest/fake-timers": "^27.2.5",
- "@jest/globals": "^27.2.5",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "execa": "^5.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-mock": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.2.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-serializer": {
- "version": "27.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-snapshot": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.2.5",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "jest-haste-map": "^27.2.5",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-resolve": "^27.2.5",
- "jest-util": "^27.2.5",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.2.5",
- "semver": "^7.3.2"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-snapshot/node_modules/semver": {
- "version": "7.3.5",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/jest-util": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-util/node_modules/ci-info": {
- "version": "3.2.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jest-util/node_modules/is-ci": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ci-info": "^3.1.1"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
- "node_modules/jest-validate": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "leven": "^3.1.0",
- "pretty-format": "^27.2.5"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-validate/node_modules/camelcase": {
- "version": "6.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/jest-watcher": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.2.5",
- "string-length": "^4.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-worker": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/js-yaml": {
- "version": "3.13.1",
- "license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsdom": {
- "version": "16.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.6",
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "canvas": "^2.5.0"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/json5": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "4.0.0",
- "license": "MIT",
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsonify": {
- "version": "0.0.0",
- "dev": true,
- "license": "Public Domain"
- },
- "node_modules/jsonwebtoken": {
- "version": "8.5.1",
- "license": "MIT",
- "dependencies": {
- "jws": "^3.2.2",
- "lodash.includes": "^4.3.0",
- "lodash.isboolean": "^3.0.3",
- "lodash.isinteger": "^4.0.4",
- "lodash.isnumber": "^3.0.3",
- "lodash.isplainobject": "^4.0.6",
- "lodash.isstring": "^4.0.1",
- "lodash.once": "^4.0.0",
- "ms": "^2.1.1",
- "semver": "^5.6.0"
- },
- "engines": {
- "node": ">=4",
- "npm": ">=1.4.28"
- }
- },
- "node_modules/jwa": {
- "version": "1.4.1",
- "license": "MIT",
- "dependencies": {
- "buffer-equal-constant-time": "1.0.1",
- "ecdsa-sig-formatter": "1.0.11",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/jws": {
- "version": "3.2.2",
- "license": "MIT",
- "dependencies": {
- "jwa": "^1.4.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/kind-of": {
- "version": "6.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/klaw-sync": {
- "version": "6.0.0",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.1.11"
- }
- },
- "node_modules/kleur": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/lambert-server": {
- "version": "1.2.12",
- "license": "ISC",
- "dependencies": {
- "body-parser": "^1.19.0",
- "chalk": "^4.1.1",
- "express": "^4.17.1",
- "express-async-errors": "^3.1.1",
- "helmet": "^4.4.1",
- "missing-native-js-functions": "^1.2.11"
- }
- },
- "node_modules/leven": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/levn": {
- "version": "0.3.0",
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/locate-path": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.debounce": {
- "version": "4.0.8",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.includes": {
- "version": "4.3.0",
- "license": "MIT"
- },
- "node_modules/lodash.isboolean": {
- "version": "3.0.3",
- "license": "MIT"
- },
- "node_modules/lodash.isinteger": {
- "version": "4.0.4",
- "license": "MIT"
- },
- "node_modules/lodash.isnumber": {
- "version": "3.0.3",
- "license": "MIT"
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "license": "MIT"
- },
- "node_modules/lodash.isstring": {
- "version": "4.0.1",
- "license": "MIT"
- },
- "node_modules/lodash.once": {
- "version": "4.1.1",
- "license": "MIT"
- },
- "node_modules/lru_map": {
- "version": "0.3.3",
- "license": "MIT"
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.0",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/make-error": {
- "version": "1.3.6",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/makeerror": {
- "version": "1.0.11",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "tmpl": "1.0.x"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.1",
- "license": "MIT"
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.4",
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.49.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.32",
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.49.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.0.4",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
- },
- "node_modules/minipass": {
- "version": "3.1.5",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minizlib": {
- "version": "2.1.2",
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/missing-native-js-functions": {
- "version": "1.2.18",
- "license": "ISC"
- },
- "node_modules/mkdirp": {
- "version": "0.5.5",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/morgan": {
- "version": "1.10.0",
- "license": "MIT",
- "dependencies": {
- "basic-auth": "~2.0.1",
- "debug": "2.6.9",
- "depd": "~2.0.0",
- "on-finished": "~2.3.0",
- "on-headers": "~1.0.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/morgan/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/morgan/node_modules/depd": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/morgan/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "node_modules/multer": {
- "version": "1.4.3",
- "license": "MIT",
- "dependencies": {
- "append-field": "^1.0.0",
- "busboy": "^0.2.11",
- "concat-stream": "^1.5.2",
- "mkdirp": "^0.5.4",
- "object-assign": "^4.1.1",
- "on-finished": "^2.3.0",
- "type-is": "^1.6.4",
- "xtend": "^4.0.0"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/mz": {
- "version": "2.7.0",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/negotiator": {
- "version": "0.6.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/netmask": {
- "version": "2.0.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/nice-try": {
- "version": "1.0.5",
- "license": "MIT"
- },
- "node_modules/node-addon-api": {
- "version": "3.2.1",
- "license": "MIT"
- },
- "node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/node-fetch/node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
- },
- "node_modules/node-fetch/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
- },
- "node_modules/node-fetch/node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/node-int64": {
- "version": "0.4.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/node-modules-regexp": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/node-notifier": {
- "version": "8.0.2",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "growly": "^1.3.0",
- "is-wsl": "^2.2.0",
- "semver": "^7.3.2",
- "shellwords": "^0.1.1",
- "uuid": "^8.3.0",
- "which": "^2.0.2"
- }
- },
- "node_modules/node-notifier/node_modules/semver": {
- "version": "7.3.5",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/node-notifier/node_modules/which": {
- "version": "2.0.2",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/node-releases": {
- "version": "1.1.75",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nopt": {
- "version": "5.0.0",
- "license": "ISC",
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npmlog": {
- "version": "4.1.2",
- "license": "ISC",
- "dependencies": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "node_modules/nth-check": {
- "version": "2.0.1",
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
- }
- },
- "node_modules/number-is-nan": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/nwsapi": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.11.0",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/on-finished": {
- "version": "2.3.0",
- "license": "MIT",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/on-headers": {
- "version": "1.0.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/open": {
- "version": "7.4.2",
- "license": "MIT",
- "dependencies": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/optionator": {
- "version": "0.8.3",
- "license": "MIT",
- "dependencies": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/os-tmpdir": {
- "version": "1.0.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/p-limit": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-try": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/pac-proxy-agent": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4",
- "get-uri": "3",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "5",
- "pac-resolver": "^5.0.0",
- "raw-body": "^2.2.0",
- "socks-proxy-agent": "5"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/pac-resolver": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "degenerator": "^3.0.1",
- "ip": "^1.1.5",
- "netmask": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/parent-require": {
- "version": "1.0.0",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/parse5": {
- "version": "6.0.1",
- "license": "MIT"
- },
- "node_modules/parse5-htmlparser2-tree-adapter": {
- "version": "6.0.1",
- "license": "MIT",
- "dependencies": {
- "parse5": "^6.0.1"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/patch-package": {
- "version": "6.4.7",
- "license": "MIT",
- "dependencies": {
- "@yarnpkg/lockfile": "^1.1.0",
- "chalk": "^2.4.2",
- "cross-spawn": "^6.0.5",
- "find-yarn-workspace-root": "^2.0.0",
- "fs-extra": "^7.0.1",
- "is-ci": "^2.0.0",
- "klaw-sync": "^6.0.0",
- "minimist": "^1.2.0",
- "open": "^7.4.2",
- "rimraf": "^2.6.3",
- "semver": "^5.6.0",
- "slash": "^2.0.0",
- "tmp": "^0.0.33"
- },
- "bin": {
- "patch-package": "index.js"
- },
- "engines": {
- "npm": ">5"
- }
- },
- "node_modules/patch-package/node_modules/ansi-styles": {
- "version": "3.2.1",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/patch-package/node_modules/chalk": {
- "version": "2.4.2",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/patch-package/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/patch-package/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT"
- },
- "node_modules/patch-package/node_modules/cross-spawn": {
- "version": "6.0.5",
- "license": "MIT",
- "dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "engines": {
- "node": ">=4.8"
- }
- },
- "node_modules/patch-package/node_modules/fs-extra": {
- "version": "7.0.1",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/patch-package/node_modules/has-flag": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/patch-package/node_modules/path-key": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/patch-package/node_modules/rimraf": {
- "version": "2.7.1",
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/patch-package/node_modules/shebang-command": {
- "version": "1.2.0",
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/patch-package/node_modules/shebang-regex": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/patch-package/node_modules/slash": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/patch-package/node_modules/supports-color": {
- "version": "5.5.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.7",
- "license": "MIT"
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "2.3.0",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pirates": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "node-modules-regexp": "^1.0.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.1.2",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/pretty-format": {
- "version": "27.2.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.2.5",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "license": "MIT"
- },
- "node_modules/prompts": {
- "version": "2.4.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "license": "MIT",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/proxy-agent": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^6.0.0",
- "debug": "4",
- "http-proxy-agent": "^4.0.0",
- "https-proxy-agent": "^5.0.0",
- "lru-cache": "^5.1.1",
- "pac-proxy-agent": "^5.0.0",
- "proxy-from-env": "^1.0.0",
- "socks-proxy-agent": "^5.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/proxy-agent/node_modules/lru-cache": {
- "version": "5.1.1",
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/proxy-agent/node_modules/yallist": {
- "version": "3.1.1",
- "license": "ISC"
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "license": "MIT"
- },
- "node_modules/psl": {
- "version": "1.8.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/qs": {
- "version": "6.7.0",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/querystringify": {
- "version": "2.2.0",
- "license": "MIT"
- },
- "node_modules/queue": {
- "version": "6.0.2",
- "license": "MIT",
- "dependencies": {
- "inherits": "~2.0.3"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.4.0",
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/react-is": {
- "version": "17.0.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/readable-stream": {
- "version": "1.1.14",
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "node_modules/readable-stream/node_modules/string_decoder": {
- "version": "0.10.31",
- "license": "MIT"
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/rechoir": {
- "version": "0.6.2",
- "dev": true,
- "dependencies": {
- "resolve": "^1.1.6"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/reflect-metadata": {
- "version": "0.1.13",
- "license": "Apache-2.0"
- },
- "node_modules/regenerate": {
- "version": "1.4.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regenerate-unicode-properties": {
- "version": "9.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.13.9",
- "license": "MIT"
- },
- "node_modules/regenerator-transform": {
- "version": "0.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.8.4"
- }
- },
- "node_modules/regexpu-core": {
- "version": "4.8.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^9.0.0",
- "regjsgen": "^0.5.2",
- "regjsparser": "^0.7.0",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regjsgen": {
- "version": "0.5.2",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regjsparser": {
- "version": "0.7.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "jsesc": "~0.5.0"
- },
- "bin": {
- "regjsparser": "bin/parser"
- }
- },
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "0.5.0",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/requires-port": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/resolve": {
- "version": "1.20.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-cwd": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-from": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "node_modules/sax": {
- "version": "1.2.4",
- "license": "ISC"
- },
- "node_modules/saxes": {
- "version": "5.0.1",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "xmlchars": "^2.2.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/semver": {
- "version": "5.7.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/send": {
- "version": "0.17.1",
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/send/node_modules/ms": {
- "version": "2.1.1",
- "license": "MIT"
- },
- "node_modules/serve-static": {
- "version": "1.14.1",
- "license": "MIT",
- "dependencies": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "license": "ISC"
- },
- "node_modules/setprototypeof": {
- "version": "1.1.1",
- "license": "ISC"
- },
- "node_modules/sha.js": {
- "version": "2.4.11",
- "license": "(MIT AND BSD-3-Clause)",
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- },
- "bin": {
- "sha.js": "bin.js"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shelljs": {
- "version": "0.8.4",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- },
- "bin": {
- "shjs": "bin/shjs"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/shellwords": {
- "version": "0.1.1",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.4",
- "license": "ISC"
- },
- "node_modules/sisteransi": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/smart-buffer": {
- "version": "4.2.0",
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/socks": {
- "version": "2.6.1",
- "license": "MIT",
- "dependencies": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.1.0"
- },
- "engines": {
- "node": ">= 10.13.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/socks-proxy-agent": {
- "version": "5.0.1",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^6.0.2",
- "debug": "4",
- "socks": "^2.3.3"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/source-map": {
- "version": "0.5.7",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.20",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "license": "BSD-3-Clause"
- },
- "node_modules/stack-utils": {
- "version": "2.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "escape-string-regexp": "^2.0.0",
- "source-map-support": "^0.5.20"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/stack-utils/node_modules/escape-string-regexp": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/statuses": {
- "version": "1.5.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/streamsearch": {
- "version": "0.1.2",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-length": {
- "version": "4.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/string-width": {
- "version": "1.0.2",
- "license": "MIT",
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/string-width/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/string-width/node_modules/strip-ansi": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/superagent": {
- "version": "6.1.0",
- "license": "MIT",
- "dependencies": {
- "component-emitter": "^1.3.0",
- "cookiejar": "^2.1.2",
- "debug": "^4.1.1",
- "fast-safe-stringify": "^2.0.7",
- "form-data": "^3.0.0",
- "formidable": "^1.2.2",
- "methods": "^1.1.2",
- "mime": "^2.4.6",
- "qs": "^6.9.4",
- "readable-stream": "^3.6.0",
- "semver": "^7.3.2"
- },
- "engines": {
- "node": ">= 7.0.0"
- }
- },
- "node_modules/superagent/node_modules/mime": {
- "version": "2.5.2",
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/superagent/node_modules/qs": {
- "version": "6.10.1",
- "license": "BSD-3-Clause",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/superagent/node_modules/readable-stream": {
- "version": "3.6.0",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/superagent/node_modules/semver": {
- "version": "7.3.5",
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/supertest": {
- "version": "6.1.6",
- "license": "MIT",
- "dependencies": {
- "methods": "^1.1.2",
- "superagent": "^6.1.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-hyperlinks": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/symbol-tree": {
- "version": "3.2.4",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tar": {
- "version": "6.1.11",
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/tar/node_modules/mkdirp": {
- "version": "1.0.4",
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/terminal-link": {
- "version": "2.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/test-exclude": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/thenify": {
- "version": "3.3.1",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0"
- }
- },
- "node_modules/thenify-all": {
- "version": "1.6.0",
- "license": "MIT",
- "dependencies": {
- "thenify": ">= 3.1.0 < 4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/throat": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tmp": {
- "version": "0.0.33",
- "license": "MIT",
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
- "node_modules/tmpl": {
- "version": "1.0.5",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/tough-cookie": {
- "version": "4.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.1.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tr46": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tree-kill": {
- "version": "1.2.2",
- "dev": true,
- "license": "MIT",
- "bin": {
- "tree-kill": "cli.js"
- }
- },
- "node_modules/ts-node": {
- "version": "9.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.17",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "typescript": ">=2.7"
- }
- },
- "node_modules/ts-node-dev": {
- "version": "1.1.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chokidar": "^3.5.1",
- "dynamic-dedupe": "^0.3.0",
- "minimist": "^1.2.5",
- "mkdirp": "^1.0.4",
- "resolve": "^1.0.0",
- "rimraf": "^2.6.1",
- "source-map-support": "^0.5.12",
- "tree-kill": "^1.2.2",
- "ts-node": "^9.0.0",
- "tsconfig": "^7.0.0"
- },
- "bin": {
- "ts-node-dev": "lib/bin.js",
- "tsnd": "lib/bin.js"
- },
- "engines": {
- "node": ">=0.8.0"
- },
- "peerDependencies": {
- "node-notifier": "*",
- "typescript": "*"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/ts-node-dev/node_modules/mkdirp": {
- "version": "1.0.4",
- "dev": true,
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ts-node-dev/node_modules/rimraf": {
- "version": "2.7.1",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/ts-patch": {
- "version": "1.4.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.1.0",
- "glob": "^7.1.7",
- "global-prefix": "^3.0.0",
- "minimist": "^1.2.5",
- "resolve": "^1.20.0",
- "shelljs": "^0.8.4",
- "strip-ansi": "^6.0.0"
- },
- "bin": {
- "ts-patch": "bin/cli.js"
- },
- "peerDependencies": {
- "typescript": ">2.7.0"
- }
- },
- "node_modules/tsconfig": {
- "version": "7.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/strip-bom": "^3.0.0",
- "@types/strip-json-comments": "0.0.30",
- "strip-bom": "^3.0.0",
- "strip-json-comments": "^2.0.0"
- }
- },
- "node_modules/tsconfig/node_modules/strip-bom": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/tslib": {
- "version": "2.3.1",
- "license": "0BSD"
- },
- "node_modules/type-check": {
- "version": "0.3.2",
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-detect": {
- "version": "4.0.8",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/type-fest": {
- "version": "0.21.3",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "license": "MIT",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typedarray": {
- "version": "0.0.6",
- "license": "MIT"
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "node_modules/typeorm": {
- "version": "0.2.37",
- "license": "MIT",
- "dependencies": {
- "@sqltools/formatter": "^1.2.2",
- "app-root-path": "^3.0.0",
- "buffer": "^6.0.3",
- "chalk": "^4.1.0",
- "cli-highlight": "^2.1.11",
- "debug": "^4.3.1",
- "dotenv": "^8.2.0",
- "glob": "^7.1.6",
- "js-yaml": "^4.0.0",
- "mkdirp": "^1.0.4",
- "reflect-metadata": "^0.1.13",
- "sha.js": "^2.4.11",
- "tslib": "^2.1.0",
- "xml2js": "^0.4.23",
- "yargonaut": "^1.1.4",
- "yargs": "^17.0.1",
- "zen-observable-ts": "^1.0.0"
- },
- "bin": {
- "typeorm": "cli.js"
- },
- "funding": {
- "url": "https://opencollective.com/typeorm"
- },
- "peerDependencies": {
- "@sap/hana-client": "*",
- "better-sqlite3": "*",
- "hdb-pool": "*",
- "ioredis": "*",
- "mongodb": "^3.6.0",
- "mssql": "*",
- "mysql2": "*",
- "oracledb": "*",
- "pg": "*",
- "pg-native": "*",
- "pg-query-stream": "*",
- "redis": "*",
- "sql.js": "*",
- "sqlite3": "*",
- "typeorm-aurora-data-api-driver": "*"
- },
- "peerDependenciesMeta": {
- "@sap/hana-client": {
- "optional": true
- },
- "better-sqlite3": {
- "optional": true
- },
- "hdb-pool": {
- "optional": true
- },
- "ioredis": {
- "optional": true
- },
- "mongodb": {
- "optional": true
- },
- "mssql": {
- "optional": true
- },
- "mysql2": {
- "optional": true
- },
- "oracledb": {
- "optional": true
- },
- "pg": {
- "optional": true
- },
- "pg-native": {
- "optional": true
- },
- "pg-query-stream": {
- "optional": true
- },
- "redis": {
- "optional": true
- },
- "sql.js": {
- "optional": true
- },
- "sqlite3": {
- "optional": true
- },
- "typeorm-aurora-data-api-driver": {
- "optional": true
- }
- }
- },
- "node_modules/typeorm/node_modules/argparse": {
- "version": "2.0.1",
- "license": "Python-2.0"
- },
- "node_modules/typeorm/node_modules/buffer": {
- "version": "6.0.3",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/typeorm/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/typeorm/node_modules/js-yaml": {
- "version": "4.1.0",
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/typeorm/node_modules/mkdirp": {
- "version": "1.0.4",
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/typeorm/node_modules/string-width": {
- "version": "4.2.2",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/typeorm/node_modules/yargs": {
- "version": "17.1.1",
- "license": "MIT",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/typescript": {
- "version": "4.4.3",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/typescript-json-schema": {
- "version": "0.50.1",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.7",
- "@types/node": "^14.14.33",
- "glob": "^7.1.6",
- "json-stable-stringify": "^1.0.1",
- "ts-node": "^9.1.1",
- "typescript": "~4.2.3",
- "yargs": "^16.2.0"
- },
- "bin": {
- "typescript-json-schema": "bin/typescript-json-schema"
- }
- },
- "node_modules/typescript-json-schema/node_modules/json-stable-stringify": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jsonify": "~0.0.0"
- }
- },
- "node_modules/typescript-json-schema/node_modules/typescript": {
- "version": "4.2.4",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-match-property-ecmascript": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/universalify": {
- "version": "0.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/url-parse": {
- "version": "1.5.10",
- "license": "MIT",
- "dependencies": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "node_modules/util": {
- "version": "0.10.3",
- "license": "MIT",
- "dependencies": {
- "inherits": "2.0.1"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "node_modules/util/node_modules/inherits": {
- "version": "2.0.1",
- "license": "ISC"
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "8.3.2",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/v8-to-istanbul": {
- "version": "8.1.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "node_modules/v8-to-istanbul/node_modules/source-map": {
- "version": "0.7.3",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/vm2": {
- "version": "3.9.7",
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.7.0",
- "acorn-walk": "^8.2.0"
- },
- "bin": {
- "vm2": "bin/vm2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/vm2/node_modules/acorn-walk": {
- "version": "8.2.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/w3c-hr-time": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "node_modules/w3c-xmlserializer": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "xml-name-validator": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/walker": {
- "version": "1.0.7",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "makeerror": "1.0.x"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "6.1.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=10.4"
- }
- },
- "node_modules/whatwg-encoding": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "iconv-lite": "0.4.24"
- }
- },
- "node_modules/whatwg-mimetype": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/whatwg-url": {
- "version": "8.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/which": {
- "version": "1.3.1",
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/wide-align": {
- "version": "1.1.3",
- "license": "ISC",
- "dependencies": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.3",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "license": "ISC"
- },
- "node_modules/write-file-atomic": {
- "version": "3.0.3",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "node_modules/ws": {
- "version": "7.5.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xml-name-validator": {
- "version": "3.0.0",
- "dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/xml2js": {
- "version": "0.4.23",
- "license": "MIT",
- "dependencies": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/xmlbuilder": {
- "version": "11.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/xmlchars": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/xregexp": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/xtend": {
- "version": "4.0.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "license": "ISC"
- },
- "node_modules/yargonaut": {
- "version": "1.1.4",
- "license": "Apache-2.0",
- "dependencies": {
- "chalk": "^1.1.1",
- "figlet": "^1.1.1",
- "parent-require": "^1.0.0"
- }
- },
- "node_modules/yargonaut/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargonaut/node_modules/ansi-styles": {
- "version": "2.2.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargonaut/node_modules/chalk": {
- "version": "1.1.3",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargonaut/node_modules/strip-ansi": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargonaut/node_modules/supports-color": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "license": "MIT",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/zen-observable": {
- "version": "0.8.15",
- "license": "MIT"
- },
- "node_modules/zen-observable-ts": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "@types/zen-observable": "0.8.3",
- "zen-observable": "0.8.15"
- }
- }
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.14.5"
- }
- },
- "@babel/compat-data": {
- "version": "7.15.0",
- "dev": true
- },
- "@babel/core": {
- "version": "7.15.5",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helpers": "^7.15.4",
- "@babel/parser": "^7.15.5",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "json5": {
- "version": "2.2.0",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "semver": {
- "version": "6.3.0",
- "dev": true
- }
- }
- },
- "@babel/generator": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- }
- },
- "@babel/helper-annotate-as-pure": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-explode-assignable-expression": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "dev": true
- }
- }
- },
- "@babel/helper-create-class-features-plugin": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4"
- }
- },
- "@babel/helper-create-regexp-features-plugin": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.14.5",
- "regexpu-core": "^4.7.1"
- }
- },
- "@babel/helper-define-polyfill-provider": {
- "version": "0.2.3",
- "dev": true,
- "requires": {
- "@babel/helper-compilation-targets": "^7.13.0",
- "@babel/helper-module-imports": "^7.12.13",
- "@babel/helper-plugin-utils": "^7.13.0",
- "@babel/traverse": "^7.13.0",
- "debug": "^4.1.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "dev": true
- }
- }
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-simple-access": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/helper-validator-identifier": "^7.14.9",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "dev": true
- },
- "@babel/helper-remap-async-to-generator": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-wrap-function": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-replace-supers": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.14.9",
- "dev": true
- },
- "@babel/helper-validator-option": {
- "version": "7.14.5",
- "dev": true
- },
- "@babel/helper-wrap-function": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helpers": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/highlight": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.15.6",
- "dev": true
- },
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4",
- "@babel/plugin-proposal-optional-chaining": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.15.8",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.15.4",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
- }
- },
- "@babel/plugin-proposal-class-properties": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-class-static-block": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-dynamic-import": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-export-namespace-from": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-json-strings": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- }
- },
- "@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-numeric-separator": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- }
- },
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.15.6",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.15.4"
- }
- },
- "@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-private-methods": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-private-property-in-object": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@babel/plugin-syntax-class-static-block": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.3"
- }
- },
- "@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-typescript": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-arrow-functions": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-async-to-generator": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.14.5"
- }
- },
- "@babel/plugin-transform-block-scoped-functions": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-block-scoping": {
- "version": "7.15.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-classes": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "globals": "^11.1.0"
- }
- },
- "@babel/plugin-transform-computed-properties": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-destructuring": {
- "version": "7.14.7",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-dotall-regex": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-duplicate-keys": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-exponentiation-operator": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-for-of": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-function-name": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-literals": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-member-expression-literals": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-modules-amd": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- }
- },
- "@babel/plugin-transform-modules-commonjs": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.15.4",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- }
- },
- "@babel/plugin-transform-modules-systemjs": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.9",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- }
- },
- "@babel/plugin-transform-modules-umd": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.14.9",
- "dev": true,
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5"
- }
- },
- "@babel/plugin-transform-new-target": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-object-super": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5"
- }
- },
- "@babel/plugin-transform-parameters": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-property-literals": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-regenerator": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "regenerator-transform": "^0.14.2"
- }
- },
- "@babel/plugin-transform-reserved-words": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-shorthand-properties": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-spread": {
- "version": "7.15.8",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4"
- }
- },
- "@babel/plugin-transform-sticky-regex": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-template-literals": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-typeof-symbol": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-typescript": {
- "version": "7.15.8",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-typescript": "^7.14.5"
- }
- },
- "@babel/plugin-transform-unicode-escapes": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-unicode-regex": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/preset-env": {
- "version": "7.15.8",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-validator-option": "^7.14.5",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4",
- "@babel/plugin-proposal-async-generator-functions": "^7.15.8",
- "@babel/plugin-proposal-class-properties": "^7.14.5",
- "@babel/plugin-proposal-class-static-block": "^7.15.4",
- "@babel/plugin-proposal-dynamic-import": "^7.14.5",
- "@babel/plugin-proposal-export-namespace-from": "^7.14.5",
- "@babel/plugin-proposal-json-strings": "^7.14.5",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5",
- "@babel/plugin-proposal-numeric-separator": "^7.14.5",
- "@babel/plugin-proposal-object-rest-spread": "^7.15.6",
- "@babel/plugin-proposal-optional-catch-binding": "^7.14.5",
- "@babel/plugin-proposal-optional-chaining": "^7.14.5",
- "@babel/plugin-proposal-private-methods": "^7.14.5",
- "@babel/plugin-proposal-private-property-in-object": "^7.15.4",
- "@babel/plugin-proposal-unicode-property-regex": "^7.14.5",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.14.5",
- "@babel/plugin-transform-async-to-generator": "^7.14.5",
- "@babel/plugin-transform-block-scoped-functions": "^7.14.5",
- "@babel/plugin-transform-block-scoping": "^7.15.3",
- "@babel/plugin-transform-classes": "^7.15.4",
- "@babel/plugin-transform-computed-properties": "^7.14.5",
- "@babel/plugin-transform-destructuring": "^7.14.7",
- "@babel/plugin-transform-dotall-regex": "^7.14.5",
- "@babel/plugin-transform-duplicate-keys": "^7.14.5",
- "@babel/plugin-transform-exponentiation-operator": "^7.14.5",
- "@babel/plugin-transform-for-of": "^7.15.4",
- "@babel/plugin-transform-function-name": "^7.14.5",
- "@babel/plugin-transform-literals": "^7.14.5",
- "@babel/plugin-transform-member-expression-literals": "^7.14.5",
- "@babel/plugin-transform-modules-amd": "^7.14.5",
- "@babel/plugin-transform-modules-commonjs": "^7.15.4",
- "@babel/plugin-transform-modules-systemjs": "^7.15.4",
- "@babel/plugin-transform-modules-umd": "^7.14.5",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9",
- "@babel/plugin-transform-new-target": "^7.14.5",
- "@babel/plugin-transform-object-super": "^7.14.5",
- "@babel/plugin-transform-parameters": "^7.15.4",
- "@babel/plugin-transform-property-literals": "^7.14.5",
- "@babel/plugin-transform-regenerator": "^7.14.5",
- "@babel/plugin-transform-reserved-words": "^7.14.5",
- "@babel/plugin-transform-shorthand-properties": "^7.14.5",
- "@babel/plugin-transform-spread": "^7.15.8",
- "@babel/plugin-transform-sticky-regex": "^7.14.5",
- "@babel/plugin-transform-template-literals": "^7.14.5",
- "@babel/plugin-transform-typeof-symbol": "^7.14.5",
- "@babel/plugin-transform-unicode-escapes": "^7.14.5",
- "@babel/plugin-transform-unicode-regex": "^7.14.5",
- "@babel/preset-modules": "^0.1.4",
- "@babel/types": "^7.15.6",
- "babel-plugin-polyfill-corejs2": "^0.2.2",
- "babel-plugin-polyfill-corejs3": "^0.2.5",
- "babel-plugin-polyfill-regenerator": "^0.2.2",
- "core-js-compat": "^3.16.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "dev": true
- }
- }
- },
- "@babel/preset-modules": {
- "version": "0.1.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- }
- },
- "@babel/preset-typescript": {
- "version": "7.15.0",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-validator-option": "^7.14.5",
- "@babel/plugin-transform-typescript": "^7.15.0"
- }
- },
- "@babel/runtime": {
- "version": "7.15.4",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- },
- "@babel/template": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/traverse": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/types": {
- "version": "7.15.6",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@bcoe/v8-coverage": {
- "version": "0.2.3",
- "dev": true
- },
- "@fosscord/util": {
- "version": "file:../util",
- "requires": {
- "@types/amqplib": "^0.8.1",
- "@types/jsonwebtoken": "^8.5.0",
- "@types/multer": "^1.4.7",
- "@types/node": "^14.17.9",
- "@types/node-fetch": "^2.5.12",
- "amqplib": "^0.8.0",
- "form-data": "^4.0.0",
- "jest": "^27.0.6",
- "jsonwebtoken": "^8.5.1",
- "lambert-server": "^1.2.12",
- "missing-native-js-functions": "^1.2.18",
- "multer": "^1.4.3",
- "node-fetch": "^2.6.2",
- "patch-package": "^6.4.7",
- "pg": "^8.7.1",
- "picocolors": "^1.0.0",
- "proxy-agent": "^5.0.0",
- "reflect-metadata": "^0.1.13",
- "ts-node": "^10.2.1",
- "typeorm": "^0.2.38",
- "typescript": "^4.4.2",
- "typescript-json-schema": "^0.50.1"
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.14.5"
- }
- },
- "@babel/compat-data": {
- "version": "7.15.0",
- "dev": true
- },
- "@babel/core": {
- "version": "7.15.5",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helpers": "^7.15.4",
- "@babel/parser": "^7.15.5",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "dev": true
- }
- }
- },
- "@babel/generator": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "dev": true
- }
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.15.7",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-simple-access": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "dev": true
- },
- "@babel/helper-replace-supers": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "dev": true
- },
- "@babel/helper-validator-option": {
- "version": "7.14.5",
- "dev": true
- },
- "@babel/helpers": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/highlight": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.15.7",
- "dev": true
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-typescript": {
- "version": "7.14.5",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/template": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/traverse": {
- "version": "7.15.4",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2",
- "dev": true
- }
- }
- },
- "@babel/types": {
- "version": "7.15.6",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@bcoe/v8-coverage": {
- "version": "0.2.3",
- "dev": true
- },
- "@cspotcode/source-map-consumer": {
- "version": "0.8.0",
- "dev": true
- },
- "@cspotcode/source-map-support": {
- "version": "0.6.1",
- "dev": true,
- "requires": {
- "@cspotcode/source-map-consumer": "0.8.0"
- }
- },
- "@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- }
- },
- "@istanbuljs/schema": {
- "version": "0.1.3",
- "dev": true
- },
- "@jest/console": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.2.0",
- "jest-util": "^27.2.0",
- "slash": "^3.0.0"
- }
- },
- "@jest/core": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.0",
- "@jest/reporters": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.1.1",
- "jest-config": "^27.2.0",
- "jest-haste-map": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-resolve-dependencies": "^27.2.0",
- "jest-runner": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "jest-watcher": "^27.2.0",
- "micromatch": "^4.0.4",
- "p-each-series": "^2.1.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "jest-config": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.0",
- "@jest/types": "^27.1.1",
- "babel-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.0",
- "jest-environment-jsdom": "^27.2.0",
- "jest-environment-node": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-runner": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.0"
- }
- }
- }
- },
- "@jest/environment": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "jest-mock": "^27.1.1"
- }
- },
- "@jest/fake-timers": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "@sinonjs/fake-timers": "^7.0.2",
- "@types/node": "*",
- "jest-message-util": "^27.2.0",
- "jest-mock": "^27.1.1",
- "jest-util": "^27.2.0"
- }
- },
- "@jest/globals": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.0",
- "@jest/types": "^27.1.1",
- "expect": "^27.2.0"
- }
- },
- "@jest/reporters": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.2.0",
- "jest-resolve": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-worker": "^27.2.0",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.0.0"
- }
- },
- "@jest/source-map": {
- "version": "27.0.6",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- }
- },
- "@jest/test-result": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/test-sequencer": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.2.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-runtime": "^27.2.0"
- }
- },
- "@jest/transform": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.1.1",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-util": "^27.2.0",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- }
- },
- "@jest/types": {
- "version": "27.1.1",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- }
- },
- "@sinonjs/commons": {
- "version": "1.8.3",
- "dev": true,
- "requires": {
- "type-detect": "4.0.8"
- }
- },
- "@sinonjs/fake-timers": {
- "version": "7.1.2",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "@sqltools/formatter": {
- "version": "1.2.3"
- },
- "@tootallnate/once": {
- "version": "1.1.2"
- },
- "@tsconfig/node10": {
- "version": "1.0.8",
- "dev": true
- },
- "@tsconfig/node12": {
- "version": "1.0.9",
- "dev": true
- },
- "@tsconfig/node14": {
- "version": "1.0.1",
- "dev": true
- },
- "@tsconfig/node16": {
- "version": "1.0.2",
- "dev": true
- },
- "@types/amqplib": {
- "version": "0.8.2",
- "dev": true,
- "requires": {
- "@types/bluebird": "*",
- "@types/node": "*"
- }
- },
- "@types/babel__core": {
- "version": "7.1.16",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "@types/babel__generator": {
- "version": "7.6.3",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__template": {
- "version": "7.4.1",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__traverse": {
- "version": "7.14.2",
- "dev": true,
- "requires": {
- "@babel/types": "^7.3.0"
- }
- },
- "@types/bluebird": {
- "version": "3.5.36",
- "dev": true
- },
- "@types/body-parser": {
- "version": "1.19.1",
- "dev": true,
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.35",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/express": {
- "version": "4.17.13",
- "dev": true,
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.24",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "@types/graceful-fs": {
- "version": "4.1.5",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "dev": true
- },
- "@types/istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/json-schema": {
- "version": "7.0.9"
- },
- "@types/jsonwebtoken": {
- "version": "8.5.5",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/mime": {
- "version": "1.3.2",
- "dev": true
- },
- "@types/multer": {
- "version": "1.4.7",
- "dev": true,
- "requires": {
- "@types/express": "*"
- }
- },
- "@types/node": {
- "version": "14.17.17"
- },
- "@types/node-fetch": {
- "version": "2.5.12",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- },
- "dependencies": {
- "form-data": {
- "version": "3.0.1",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- }
- }
- },
- "@types/prettier": {
- "version": "2.3.2",
- "dev": true
- },
- "@types/qs": {
- "version": "6.9.7",
- "dev": true
- },
- "@types/range-parser": {
- "version": "1.2.4",
- "dev": true
- },
- "@types/serve-static": {
- "version": "1.13.10",
- "dev": true,
- "requires": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "@types/stack-utils": {
- "version": "2.0.1",
- "dev": true
- },
- "@types/yargs": {
- "version": "16.0.4",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "@types/yargs-parser": {
- "version": "20.2.1",
- "dev": true
- },
- "@types/zen-observable": {
- "version": "0.8.3"
- },
- "@yarnpkg/lockfile": {
- "version": "1.1.0"
- },
- "abab": {
- "version": "2.0.5",
- "dev": true
- },
- "abbrev": {
- "version": "1.1.1",
- "optional": true,
- "peer": true
- },
- "accepts": {
- "version": "1.3.7",
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "acorn": {
- "version": "8.7.0"
- },
- "acorn-globals": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "dev": true
- }
- }
- },
- "acorn-walk": {
- "version": "7.2.0",
- "dev": true
- },
- "agent-base": {
- "version": "6.0.2",
- "requires": {
- "debug": "4"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2"
- }
- }
- },
- "ajv": {
- "version": "6.12.6",
- "optional": true,
- "peer": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "amqplib": {
- "version": "0.8.0",
- "requires": {
- "bitsyntax": "~0.1.0",
- "bluebird": "^3.7.2",
- "buffer-more-ints": "~1.0.0",
- "readable-stream": "1.x >=1.1.9",
- "safe-buffer": "~5.2.1",
- "url-parse": "~1.5.1"
- }
- },
- "ansi-escapes": {
- "version": "4.3.2",
- "dev": true,
- "requires": {
- "type-fest": "^0.21.3"
- }
- },
- "ansi-regex": {
- "version": "5.0.1"
- },
- "ansi-styles": {
- "version": "4.3.0",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "any-promise": {
- "version": "1.3.0"
- },
- "anymatch": {
- "version": "3.1.2",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "app-root-path": {
- "version": "3.0.0"
- },
- "append-field": {
- "version": "1.0.0"
- },
- "aproba": {
- "version": "1.2.0",
- "optional": true,
- "peer": true
- },
- "are-we-there-yet": {
- "version": "1.1.7",
- "optional": true,
- "peer": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "optional": true,
- "peer": true
- },
- "readable-stream": {
- "version": "2.3.7",
- "optional": true,
- "peer": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "optional": true,
- "peer": true
- },
- "string_decoder": {
- "version": "1.1.1",
- "optional": true,
- "peer": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "arg": {
- "version": "4.1.3"
- },
- "argparse": {
- "version": "1.0.10",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "array-flatten": {
- "version": "1.1.1"
- },
- "asn1": {
- "version": "0.2.4",
- "optional": true,
- "peer": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "optional": true,
- "peer": true
- },
- "ast-types": {
- "version": "0.13.4",
- "requires": {
- "tslib": "^2.0.1"
- }
- },
- "asynckit": {
- "version": "0.4.0"
- },
- "aws-sign2": {
- "version": "0.7.0",
- "optional": true,
- "peer": true
- },
- "aws4": {
- "version": "1.11.0",
- "optional": true,
- "peer": true
- },
- "babel-jest": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^4.0.0",
- "test-exclude": "^6.0.0"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- }
- },
- "babel-preset-jest": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^27.2.0",
- "babel-preset-current-node-syntax": "^1.0.0"
- }
- },
- "balanced-match": {
- "version": "1.0.2"
- },
- "base64-js": {
- "version": "1.5.1"
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "optional": true,
- "peer": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "better-sqlite3": {
- "version": "7.4.3",
- "optional": true,
- "peer": true,
- "requires": {
- "bindings": "^1.5.0",
- "prebuild-install": "^6.0.1",
- "tar": "^6.1.0"
- },
- "dependencies": {
- "chownr": {
- "version": "2.0.0",
- "optional": true,
- "peer": true
- },
- "fs-minipass": {
- "version": "2.1.0",
- "optional": true,
- "peer": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass": {
- "version": "3.1.5",
- "optional": true,
- "peer": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "optional": true,
- "peer": true,
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "optional": true,
- "peer": true
- },
- "tar": {
- "version": "6.1.11",
- "optional": true,
- "peer": true,
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "bindings": {
- "version": "1.5.0",
- "optional": true,
- "peer": true,
- "requires": {
- "file-uri-to-path": "1.0.0"
- }
- },
- "bitsyntax": {
- "version": "0.1.0",
- "requires": {
- "buffer-more-ints": "~1.0.0",
- "debug": "~2.6.9",
- "safe-buffer": "~5.1.2"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2"
- }
- }
- },
- "bl": {
- "version": "4.1.0",
- "optional": true,
- "peer": true,
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "optional": true,
- "peer": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "block-stream": {
- "version": "0.0.9",
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "~2.0.0"
- }
- },
- "bluebird": {
- "version": "3.7.2"
- },
- "body-parser": {
- "version": "1.19.0",
- "requires": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browser-process-hrtime": {
- "version": "1.0.0",
- "dev": true
- },
- "browserslist": {
- "version": "4.17.0",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001254",
- "colorette": "^1.3.0",
- "electron-to-chromium": "^1.3.830",
- "escalade": "^3.1.1",
- "node-releases": "^1.1.75"
- }
- },
- "bser": {
- "version": "2.1.1",
- "dev": true,
- "requires": {
- "node-int64": "^0.4.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "optional": true,
- "peer": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "buffer-equal-constant-time": {
- "version": "1.0.1"
- },
- "buffer-from": {
- "version": "1.1.2"
- },
- "buffer-more-ints": {
- "version": "1.0.0"
- },
- "buffer-writer": {
- "version": "2.0.0"
- },
- "busboy": {
- "version": "0.2.14",
- "requires": {
- "dicer": "0.2.5",
- "readable-stream": "1.1.x"
- }
- },
- "bytes": {
- "version": "3.1.0"
- },
- "callsites": {
- "version": "3.1.0",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "dev": true
- },
- "caniuse-lite": {
- "version": "1.0.30001258",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "optional": true,
- "peer": true
- },
- "chalk": {
- "version": "4.1.2",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "char-regex": {
- "version": "1.0.2",
- "dev": true
- },
- "chownr": {
- "version": "1.1.4",
- "optional": true,
- "peer": true
- },
- "ci-info": {
- "version": "3.2.0",
- "dev": true
- },
- "cjs-module-lexer": {
- "version": "1.2.2",
- "dev": true
- },
- "cli-highlight": {
- "version": "2.1.11",
- "requires": {
- "chalk": "^4.0.0",
- "highlight.js": "^10.7.1",
- "mz": "^2.4.0",
- "parse5": "^5.1.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.0",
- "yargs": "^16.0.0"
- },
- "dependencies": {
- "parse5": {
- "version": "5.1.1"
- }
- }
- },
- "cliui": {
- "version": "7.0.4",
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "string-width": {
- "version": "4.2.2",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- }
- }
- },
- "co": {
- "version": "4.6.0",
- "dev": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "optional": true,
- "peer": true
- },
- "collect-v8-coverage": {
- "version": "1.0.1",
- "dev": true
- },
- "color-convert": {
- "version": "2.0.1",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4"
- },
- "colorette": {
- "version": "1.4.0",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "concat-map": {
- "version": "0.0.1"
- },
- "concat-stream": {
- "version": "1.6.2",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0"
- },
- "readable-stream": {
- "version": "2.3.7",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2"
- },
- "string_decoder": {
- "version": "1.1.1",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "console-control-strings": {
- "version": "1.1.0",
- "optional": true,
- "peer": true
- },
- "content-disposition": {
- "version": "0.5.3",
- "requires": {
- "safe-buffer": "5.1.2"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2"
- }
- }
- },
- "content-type": {
- "version": "1.0.4"
- },
- "convert-source-map": {
- "version": "1.8.0",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "dev": true
- }
- }
- },
- "cookie": {
- "version": "0.4.0"
- },
- "cookie-signature": {
- "version": "1.0.6"
- },
- "core-util-is": {
- "version": "1.0.3"
- },
- "create-require": {
- "version": "1.1.1"
- },
- "cross-spawn": {
- "version": "7.0.3",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "cssom": {
- "version": "0.4.4",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "dev": true
- }
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "optional": true,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "data-uri-to-buffer": {
- "version": "3.0.1"
- },
- "data-urls": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- }
- },
- "debug": {
- "version": "2.6.9",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "decimal.js": {
- "version": "10.3.1",
- "dev": true
- },
- "decompress-response": {
- "version": "4.2.1",
- "optional": true,
- "peer": true,
- "requires": {
- "mimic-response": "^2.0.0"
- }
- },
- "dedent": {
- "version": "0.7.0",
- "dev": true
- },
- "deep-extend": {
- "version": "0.6.0",
- "optional": true,
- "peer": true
- },
- "deep-is": {
- "version": "0.1.4"
- },
- "deepmerge": {
- "version": "4.2.2",
- "dev": true
- },
- "degenerator": {
- "version": "3.0.1",
- "requires": {
- "ast-types": "^0.13.2",
- "escodegen": "^1.8.1",
- "esprima": "^4.0.0",
- "vm2": "^3.9.3"
- },
- "dependencies": {
- "escodegen": {
- "version": "1.14.3",
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- }
- },
- "estraverse": {
- "version": "4.3.0"
- }
- }
- },
- "delayed-stream": {
- "version": "1.0.0"
- },
- "delegates": {
- "version": "1.0.0",
- "optional": true,
- "peer": true
- },
- "depd": {
- "version": "1.1.2"
- },
- "destroy": {
- "version": "1.0.4"
- },
- "detect-libc": {
- "version": "1.0.3",
- "optional": true,
- "peer": true
- },
- "detect-newline": {
- "version": "3.1.0",
- "dev": true
- },
- "dicer": {
- "version": "0.2.5",
- "requires": {
- "readable-stream": "1.1.x",
- "streamsearch": "0.1.2"
- }
- },
- "diff": {
- "version": "4.0.2"
- },
- "diff-sequences": {
- "version": "27.0.6",
- "dev": true
- },
- "domexception": {
- "version": "2.0.1",
- "dev": true,
- "requires": {
- "webidl-conversions": "^5.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "5.0.0",
- "dev": true
- }
- }
- },
- "dotenv": {
- "version": "8.6.0"
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "optional": true,
- "peer": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "ecdsa-sig-formatter": {
- "version": "1.0.11",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "ee-first": {
- "version": "1.1.1"
- },
- "electron-to-chromium": {
- "version": "1.3.843",
- "dev": true
- },
- "emittery": {
- "version": "0.8.1",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0"
- },
- "encodeurl": {
- "version": "1.0.2"
- },
- "end-of-stream": {
- "version": "1.4.4",
- "optional": true,
- "peer": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "escalade": {
- "version": "3.1.1"
- },
- "escape-html": {
- "version": "1.0.3"
- },
- "escape-string-regexp": {
- "version": "2.0.0",
- "dev": true
- },
- "escodegen": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- }
- },
- "esprima": {
- "version": "4.0.1"
- },
- "estraverse": {
- "version": "5.2.0",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3"
- },
- "etag": {
- "version": "1.8.1"
- },
- "execa": {
- "version": "5.1.1",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "dev": true
- },
- "expand-template": {
- "version": "2.0.3",
- "optional": true,
- "peer": true
- },
- "expect": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.0.6",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-regex-util": "^27.0.6"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "dev": true
- }
- }
- },
- "express": {
- "version": "4.17.1",
- "requires": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2"
- }
- }
- },
- "express-async-errors": {
- "version": "3.1.1",
- "requires": {}
- },
- "extend": {
- "version": "3.0.2",
- "optional": true,
- "peer": true
- },
- "extsprintf": {
- "version": "1.3.0",
- "optional": true,
- "peer": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "optional": true,
- "peer": true
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "devOptional": true
- },
- "fast-levenshtein": {
- "version": "2.0.6"
- },
- "fb-watchman": {
- "version": "2.0.1",
- "dev": true,
- "requires": {
- "bser": "2.1.1"
- }
- },
- "figlet": {
- "version": "1.5.2"
- },
- "file-uri-to-path": {
- "version": "1.0.0",
- "optional": true,
- "peer": true
- },
- "fill-range": {
- "version": "7.0.1",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "finalhandler": {
- "version": "1.1.2",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "find-yarn-workspace-root": {
- "version": "2.0.0",
- "requires": {
- "micromatch": "^4.0.2"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "optional": true,
- "peer": true
- },
- "form-data": {
- "version": "4.0.0",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "forwarded": {
- "version": "0.2.0"
- },
- "fresh": {
- "version": "0.5.2"
- },
- "fs-constants": {
- "version": "1.0.0",
- "optional": true,
- "peer": true
- },
- "fs-extra": {
- "version": "7.0.1",
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs-minipass": {
- "version": "1.2.7",
- "optional": true,
- "peer": true,
- "requires": {
- "minipass": "^2.6.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0"
- },
- "fstream": {
- "version": "1.0.12",
- "optional": true,
- "peer": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.7.1",
- "optional": true,
- "peer": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
- "ftp": {
- "version": "0.3.10",
- "requires": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "dev": true
- },
- "gauge": {
- "version": "2.7.4",
- "optional": true,
- "peer": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "optional": true,
- "peer": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "optional": true,
- "peer": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5"
- },
- "get-package-type": {
- "version": "0.1.0",
- "dev": true
- },
- "get-stream": {
- "version": "6.0.1",
- "dev": true
- },
- "get-uri": {
- "version": "3.0.2",
- "requires": {
- "@tootallnate/once": "1",
- "data-uri-to-buffer": "3",
- "debug": "4",
- "file-uri-to-path": "2",
- "fs-extra": "^8.1.0",
- "ftp": "^0.3.10"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "file-uri-to-path": {
- "version": "2.0.0"
- },
- "fs-extra": {
- "version": "8.1.0",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.1.2"
- }
- }
- },
- "getpass": {
- "version": "0.1.7",
- "optional": true,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "github-from-package": {
- "version": "0.0.0",
- "optional": true,
- "peer": true
- },
- "glob": {
- "version": "7.1.7",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "globals": {
- "version": "11.12.0",
- "dev": true
- },
- "graceful-fs": {
- "version": "4.2.8"
- },
- "har-schema": {
- "version": "2.0.0",
- "optional": true,
- "peer": true
- },
- "har-validator": {
- "version": "5.1.5",
- "optional": true,
- "peer": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "requires": {
- "ansi-regex": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1"
- }
- }
- },
- "has-flag": {
- "version": "4.0.0"
- },
- "has-unicode": {
- "version": "2.0.1",
- "optional": true,
- "peer": true
- },
- "helmet": {
- "version": "4.6.0"
- },
- "highlight.js": {
- "version": "10.7.3"
- },
- "html-encoding-sniffer": {
- "version": "2.0.1",
- "dev": true,
- "requires": {
- "whatwg-encoding": "^1.0.5"
- }
- },
- "html-escaper": {
- "version": "2.0.2",
- "dev": true
- },
- "http-errors": {
- "version": "1.7.2",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3"
- }
- }
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2"
- }
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "optional": true,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.0",
- "requires": {
- "agent-base": "6",
- "debug": "4"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2"
- }
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ieee754": {
- "version": "1.2.1"
- },
- "ignore-walk": {
- "version": "3.0.4",
- "optional": true,
- "peer": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "import-local": {
- "version": "3.0.2",
- "dev": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4"
- },
- "ini": {
- "version": "1.3.8",
- "optional": true,
- "peer": true
- },
- "ip": {
- "version": "1.1.5"
- },
- "ipaddr.js": {
- "version": "1.9.1"
- },
- "is-ci": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "ci-info": "^3.1.1"
- }
- },
- "is-core-module": {
- "version": "2.6.0",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-docker": {
- "version": "2.2.1"
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "optional": true,
- "peer": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-generator-fn": {
- "version": "2.1.0",
- "dev": true
- },
- "is-number": {
- "version": "7.0.0"
- },
- "is-potential-custom-element-name": {
- "version": "1.0.1",
- "dev": true
- },
- "is-stream": {
- "version": "2.0.1",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "devOptional": true
- },
- "is-wsl": {
- "version": "2.2.0",
- "requires": {
- "is-docker": "^2.0.0"
- }
- },
- "isarray": {
- "version": "0.0.1"
- },
- "isexe": {
- "version": "2.0.0"
- },
- "isstream": {
- "version": "0.1.2",
- "optional": true,
- "peer": true
- },
- "istanbul-lib-coverage": {
- "version": "3.0.0",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "4.0.3",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- }
- },
- "istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- }
- },
- "istanbul-lib-source-maps": {
- "version": "4.0.0",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2",
- "dev": true
- }
- }
- },
- "istanbul-reports": {
- "version": "3.0.2",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- }
- },
- "jest": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/core": "^27.2.0",
- "import-local": "^3.0.2",
- "jest-cli": "^27.2.0"
- }
- },
- "jest-changed-files": {
- "version": "27.1.1",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- }
- },
- "jest-circus": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.2.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.0",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "pretty-format": "^27.2.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- }
- },
- "jest-cli": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/core": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "jest-config": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "prompts": "^2.0.1",
- "yargs": "^16.0.3"
- },
- "dependencies": {
- "jest-config": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.0",
- "@jest/types": "^27.1.1",
- "babel-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.0",
- "jest-environment-jsdom": "^27.2.0",
- "jest-environment-node": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.0",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-runner": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.0"
- }
- }
- }
- },
- "jest-diff": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.0.6",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.0"
- }
- },
- "jest-docblock": {
- "version": "27.0.6",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-each": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "jest-util": "^27.2.0",
- "pretty-format": "^27.2.0"
- }
- },
- "jest-environment-jsdom": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.0",
- "@jest/fake-timers": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "jest-mock": "^27.1.1",
- "jest-util": "^27.2.0",
- "jsdom": "^16.6.0"
- }
- },
- "jest-environment-node": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.0",
- "@jest/fake-timers": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "jest-mock": "^27.1.1",
- "jest-util": "^27.2.0"
- }
- },
- "jest-get-type": {
- "version": "27.0.6",
- "dev": true
- },
- "jest-haste-map": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.3.2",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.0.6",
- "jest-serializer": "^27.0.6",
- "jest-util": "^27.2.0",
- "jest-worker": "^27.2.0",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- }
- },
- "jest-jasmine2": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.2.0",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.2.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.0",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "pretty-format": "^27.2.0",
- "throat": "^6.0.1"
- }
- },
- "jest-leak-detector": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.0"
- }
- },
- "jest-matcher-utils": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.0"
- }
- },
- "jest-message-util": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.1.1",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- }
- },
- "jest-mock": {
- "version": "27.1.1",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "@types/node": "*"
- }
- },
- "jest-pnp-resolver": {
- "version": "1.2.2",
- "dev": true,
- "requires": {}
- },
- "jest-regex-util": {
- "version": "27.0.6",
- "dev": true
- },
- "jest-resolve": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "chalk": "^4.0.0",
- "escalade": "^3.1.1",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "resolve": "^1.20.0",
- "slash": "^3.0.0"
- }
- },
- "jest-resolve-dependencies": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "jest-regex-util": "^27.0.6",
- "jest-snapshot": "^27.2.0"
- }
- },
- "jest-runner": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.0",
- "@jest/environment": "^27.2.0",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.0.6",
- "jest-environment-jsdom": "^27.2.0",
- "jest-environment-node": "^27.2.0",
- "jest-haste-map": "^27.2.0",
- "jest-leak-detector": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-resolve": "^27.2.0",
- "jest-runtime": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-worker": "^27.2.0",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- }
- },
- "jest-runtime": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.0",
- "@jest/environment": "^27.2.0",
- "@jest/fake-timers": "^27.2.0",
- "@jest/globals": "^27.2.0",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "execa": "^5.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-mock": "^27.1.1",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.0",
- "jest-snapshot": "^27.2.0",
- "jest-util": "^27.2.0",
- "jest-validate": "^27.2.0",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.0.3"
- }
- },
- "jest-serializer": {
- "version": "27.0.6",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- }
- },
- "jest-snapshot": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.2.0",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.2.0",
- "jest-get-type": "^27.0.6",
- "jest-haste-map": "^27.2.0",
- "jest-matcher-utils": "^27.2.0",
- "jest-message-util": "^27.2.0",
- "jest-resolve": "^27.2.0",
- "jest-util": "^27.2.0",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.2.0",
- "semver": "^7.3.2"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
- }
- },
- "jest-util": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "picomatch": "^2.2.3"
- }
- },
- "jest-validate": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "leven": "^3.1.0",
- "pretty-format": "^27.2.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "6.2.0",
- "dev": true
- }
- }
- },
- "jest-watcher": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.2.0",
- "@jest/types": "^27.1.1",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.2.0",
- "string-length": "^4.0.1"
- }
- },
- "jest-worker": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "8.1.1",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "dev": true
- },
- "js-yaml": {
- "version": "3.14.1",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "optional": true,
- "peer": true
- },
- "jsdom": {
- "version": "16.7.0",
- "dev": true,
- "requires": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.6",
- "xml-name-validator": "^3.0.0"
- },
- "dependencies": {
- "form-data": {
- "version": "3.0.1",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- }
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "dev": true
- },
- "json-schema": {
- "version": "0.2.3",
- "optional": true,
- "peer": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "optional": true,
- "peer": true
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "requires": {
- "jsonify": "~0.0.0"
- }
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "optional": true,
- "peer": true
- },
- "json5": {
- "version": "2.2.0",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "jsonify": {
- "version": "0.0.0"
- },
- "jsonwebtoken": {
- "version": "8.5.1",
- "requires": {
- "jws": "^3.2.2",
- "lodash.includes": "^4.3.0",
- "lodash.isboolean": "^3.0.3",
- "lodash.isinteger": "^4.0.4",
- "lodash.isnumber": "^3.0.3",
- "lodash.isplainobject": "^4.0.6",
- "lodash.isstring": "^4.0.1",
- "lodash.once": "^4.0.0",
- "ms": "^2.1.1",
- "semver": "^5.6.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.3"
- },
- "semver": {
- "version": "5.7.1"
- }
- }
- },
- "jsprim": {
- "version": "1.4.1",
- "optional": true,
- "peer": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "jwa": {
- "version": "1.4.1",
- "requires": {
- "buffer-equal-constant-time": "1.0.1",
- "ecdsa-sig-formatter": "1.0.11",
- "safe-buffer": "^5.0.1"
- }
- },
- "jws": {
- "version": "3.2.2",
- "requires": {
- "jwa": "^1.4.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "klaw-sync": {
- "version": "6.0.0",
- "requires": {
- "graceful-fs": "^4.1.11"
- }
- },
- "kleur": {
- "version": "3.0.3",
- "dev": true
- },
- "lambert-server": {
- "version": "1.2.12",
- "requires": {
- "body-parser": "^1.19.0",
- "chalk": "^4.1.1",
- "express": "^4.17.1",
- "express-async-errors": "^3.1.1",
- "helmet": "^4.4.1",
- "missing-native-js-functions": "^1.2.11"
- }
- },
- "leven": {
- "version": "3.1.0",
- "dev": true
- },
- "levn": {
- "version": "0.3.0",
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "dev": true
- },
- "lodash.includes": {
- "version": "4.3.0"
- },
- "lodash.isboolean": {
- "version": "3.0.3"
- },
- "lodash.isinteger": {
- "version": "4.0.4"
- },
- "lodash.isnumber": {
- "version": "3.0.3"
- },
- "lodash.isplainobject": {
- "version": "4.0.6"
- },
- "lodash.isstring": {
- "version": "4.0.1"
- },
- "lodash.once": {
- "version": "4.1.1"
- },
- "lru-cache": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "make-error": {
- "version": "1.3.6"
- },
- "makeerror": {
- "version": "1.0.11",
- "dev": true,
- "requires": {
- "tmpl": "1.0.x"
- }
- },
- "media-typer": {
- "version": "0.3.0"
- },
- "merge-descriptors": {
- "version": "1.0.1"
- },
- "merge-stream": {
- "version": "2.0.0",
- "dev": true
- },
- "methods": {
- "version": "1.1.2"
- },
- "micromatch": {
- "version": "4.0.4",
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
- "mime": {
- "version": "1.6.0"
- },
- "mime-db": {
- "version": "1.49.0"
- },
- "mime-types": {
- "version": "2.1.32",
- "requires": {
- "mime-db": "1.49.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "dev": true
- },
- "mimic-response": {
- "version": "2.1.0",
- "optional": true,
- "peer": true
- },
- "minimatch": {
- "version": "3.0.4",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
- },
- "minipass": {
- "version": "2.9.0",
- "optional": true,
- "peer": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- },
- "dependencies": {
- "yallist": {
- "version": "3.1.1",
- "optional": true,
- "peer": true
- }
- }
- },
- "minizlib": {
- "version": "1.3.3",
- "optional": true,
- "peer": true,
- "requires": {
- "minipass": "^2.9.0"
- }
- },
- "missing-native-js-functions": {
- "version": "1.2.18"
- },
- "mkdirp": {
- "version": "0.5.5",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "mkdirp-classic": {
- "version": "0.5.3",
- "optional": true,
- "peer": true
- },
- "ms": {
- "version": "2.0.0"
- },
- "multer": {
- "version": "1.4.3",
- "requires": {
- "append-field": "^1.0.0",
- "busboy": "^0.2.11",
- "concat-stream": "^1.5.2",
- "mkdirp": "^0.5.4",
- "object-assign": "^4.1.1",
- "on-finished": "^2.3.0",
- "type-is": "^1.6.4",
- "xtend": "^4.0.0"
- }
- },
- "mz": {
- "version": "2.7.0",
- "requires": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "napi-build-utils": {
- "version": "1.0.2",
- "optional": true,
- "peer": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "dev": true
- },
- "needle": {
- "version": "2.9.1",
- "optional": true,
- "peer": true,
- "requires": {
- "debug": "^3.2.6",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "optional": true,
- "peer": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.3",
- "optional": true,
- "peer": true
- }
- }
- },
- "negotiator": {
- "version": "0.6.2"
- },
- "netmask": {
- "version": "2.0.2"
- },
- "nice-try": {
- "version": "1.0.5"
- },
- "node-abi": {
- "version": "2.30.1",
- "optional": true,
- "peer": true,
- "requires": {
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "optional": true,
- "peer": true
- }
- }
- },
- "node-addon-api": {
- "version": "3.2.1",
- "optional": true,
- "peer": true
- },
- "node-fetch": {
- "version": "2.6.7",
- "requires": {
- "whatwg-url": "^5.0.0"
- },
- "dependencies": {
- "tr46": {
- "version": "0.0.3"
- },
- "webidl-conversions": {
- "version": "3.0.1"
- },
- "whatwg-url": {
- "version": "5.0.0",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- }
- }
- },
- "node-gyp": {
- "version": "3.8.0",
- "optional": true,
- "peer": true,
- "requires": {
- "fstream": "^1.0.0",
- "glob": "^7.0.3",
- "graceful-fs": "^4.1.2",
- "mkdirp": "^0.5.0",
- "nopt": "2 || 3",
- "npmlog": "0 || 1 || 2 || 3 || 4",
- "osenv": "0",
- "request": "^2.87.0",
- "rimraf": "2",
- "semver": "~5.3.0",
- "tar": "^2.0.0",
- "which": "1"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.7.1",
- "optional": true,
- "peer": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "semver": {
- "version": "5.3.0",
- "optional": true,
- "peer": true
- },
- "which": {
- "version": "1.3.1",
- "optional": true,
- "peer": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "node-int64": {
- "version": "0.4.0",
- "dev": true
- },
- "node-modules-regexp": {
- "version": "1.0.0",
- "dev": true
- },
- "node-pre-gyp": {
- "version": "0.11.0",
- "optional": true,
- "peer": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- },
- "dependencies": {
- "nopt": {
- "version": "4.0.3",
- "optional": true,
- "peer": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "rimraf": {
- "version": "2.7.1",
- "optional": true,
- "peer": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "semver": {
- "version": "5.7.1",
- "optional": true,
- "peer": true
- },
- "tar": {
- "version": "4.4.19",
- "optional": true,
- "peer": true,
- "requires": {
- "chownr": "^1.1.4",
- "fs-minipass": "^1.2.7",
- "minipass": "^2.9.0",
- "minizlib": "^1.3.3",
- "mkdirp": "^0.5.5",
- "safe-buffer": "^5.2.1",
- "yallist": "^3.1.1"
- }
- },
- "yallist": {
- "version": "3.1.1",
- "optional": true,
- "peer": true
- }
- }
- },
- "node-releases": {
- "version": "1.1.75",
- "dev": true
- },
- "nopt": {
- "version": "3.0.6",
- "optional": true,
- "peer": true,
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "dev": true
- },
- "npm-bundled": {
- "version": "1.1.2",
- "optional": true,
- "peer": true,
- "requires": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-normalize-package-bin": {
- "version": "1.0.1",
- "optional": true,
- "peer": true
- },
- "npm-packlist": {
- "version": "1.4.8",
- "optional": true,
- "peer": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-run-path": {
- "version": "4.0.1",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "optional": true,
- "peer": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "optional": true,
- "peer": true
- },
- "nwsapi": {
- "version": "2.2.0",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.9.0",
- "optional": true,
- "peer": true
- },
- "object-assign": {
- "version": "4.1.1"
- },
- "on-finished": {
- "version": "2.3.0",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "open": {
- "version": "7.4.2",
- "requires": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
- }
- },
- "optionator": {
- "version": "0.8.3",
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "optional": true,
- "peer": true
- },
- "os-tmpdir": {
- "version": "1.0.2"
- },
- "osenv": {
- "version": "0.1.5",
- "optional": true,
- "peer": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "p-each-series": {
- "version": "2.2.0",
- "dev": true
- },
- "p-limit": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "dev": true
- },
- "pac-proxy-agent": {
- "version": "5.0.0",
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4",
- "get-uri": "3",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "5",
- "pac-resolver": "^5.0.0",
- "raw-body": "^2.2.0",
- "socks-proxy-agent": "5"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2"
- }
- }
- },
- "pac-resolver": {
- "version": "5.0.0",
- "requires": {
- "degenerator": "^3.0.1",
- "ip": "^1.1.5",
- "netmask": "^2.0.1"
- }
- },
- "packet-reader": {
- "version": "1.0.0"
- },
- "parent-require": {
- "version": "1.0.0"
- },
- "parse5": {
- "version": "6.0.1"
- },
- "parse5-htmlparser2-tree-adapter": {
- "version": "6.0.1",
- "requires": {
- "parse5": "^6.0.1"
- }
- },
- "parseurl": {
- "version": "1.3.3"
- },
- "patch-package": {
- "version": "6.4.7",
- "requires": {
- "@yarnpkg/lockfile": "^1.1.0",
- "chalk": "^2.4.2",
- "cross-spawn": "^6.0.5",
- "find-yarn-workspace-root": "^2.0.0",
- "fs-extra": "^7.0.1",
- "is-ci": "^2.0.0",
- "klaw-sync": "^6.0.0",
- "minimist": "^1.2.0",
- "open": "^7.4.2",
- "rimraf": "^2.6.3",
- "semver": "^5.6.0",
- "slash": "^2.0.0",
- "tmp": "^0.0.33"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "ci-info": {
- "version": "2.0.0"
- },
- "color-convert": {
- "version": "1.9.3",
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3"
- },
- "cross-spawn": {
- "version": "6.0.5",
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5"
- },
- "has-flag": {
- "version": "3.0.0"
- },
- "is-ci": {
- "version": "2.0.0",
- "requires": {
- "ci-info": "^2.0.0"
- }
- },
- "path-key": {
- "version": "2.0.1"
- },
- "rimraf": {
- "version": "2.7.1",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "semver": {
- "version": "5.7.1"
- },
- "shebang-command": {
- "version": "1.2.0",
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0"
- },
- "slash": {
- "version": "2.0.0"
- },
- "supports-color": {
- "version": "5.5.0",
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "which": {
- "version": "1.3.1",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1"
- },
- "path-key": {
- "version": "3.1.1",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "dev": true
- },
- "path-to-regexp": {
- "version": "0.1.7"
- },
- "performance-now": {
- "version": "2.1.0",
- "optional": true,
- "peer": true
- },
- "pg": {
- "version": "8.7.1",
- "requires": {
- "buffer-writer": "2.0.0",
- "packet-reader": "1.0.0",
- "pg-connection-string": "^2.5.0",
- "pg-pool": "^3.4.1",
- "pg-protocol": "^1.5.0",
- "pg-types": "^2.1.0",
- "pgpass": "1.x"
- }
- },
- "pg-connection-string": {
- "version": "2.5.0"
- },
- "pg-int8": {
- "version": "1.0.1"
- },
- "pg-pool": {
- "version": "3.4.1",
- "requires": {}
- },
- "pg-protocol": {
- "version": "1.5.0"
- },
- "pg-types": {
- "version": "2.2.0",
- "requires": {
- "pg-int8": "1.0.1",
- "postgres-array": "~2.0.0",
- "postgres-bytea": "~1.0.0",
- "postgres-date": "~1.0.4",
- "postgres-interval": "^1.1.0"
- }
- },
- "pgpass": {
- "version": "1.0.4",
- "requires": {
- "split2": "^3.1.1"
- }
- },
- "picocolors": {
- "version": "1.0.0"
- },
- "picomatch": {
- "version": "2.3.0"
- },
- "pirates": {
- "version": "4.0.1",
- "dev": true,
- "requires": {
- "node-modules-regexp": "^1.0.0"
- }
- },
- "pkg-dir": {
- "version": "4.2.0",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "postgres-array": {
- "version": "2.0.0"
- },
- "postgres-bytea": {
- "version": "1.0.0"
- },
- "postgres-date": {
- "version": "1.0.7"
- },
- "postgres-interval": {
- "version": "1.2.0",
- "requires": {
- "xtend": "^4.0.0"
- }
- },
- "prebuild-install": {
- "version": "6.1.4",
- "optional": true,
- "peer": true,
- "requires": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.21.0",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- }
- },
- "prelude-ls": {
- "version": "1.1.2"
- },
- "pretty-format": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@jest/types": "^27.1.1",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "dev": true
- }
- }
- },
- "process-nextick-args": {
- "version": "2.0.1"
- },
- "prompts": {
- "version": "2.4.1",
- "dev": true,
- "requires": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- }
- },
- "proxy-addr": {
- "version": "2.0.7",
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- }
- },
- "proxy-agent": {
- "version": "5.0.0",
- "requires": {
- "agent-base": "^6.0.0",
- "debug": "4",
- "http-proxy-agent": "^4.0.0",
- "https-proxy-agent": "^5.0.0",
- "lru-cache": "^5.1.1",
- "pac-proxy-agent": "^5.0.0",
- "proxy-from-env": "^1.0.0",
- "socks-proxy-agent": "^5.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "lru-cache": {
- "version": "5.1.1",
- "requires": {
- "yallist": "^3.0.2"
- }
- },
- "ms": {
- "version": "2.1.2"
- },
- "yallist": {
- "version": "3.1.1"
- }
- }
- },
- "proxy-from-env": {
- "version": "1.1.0"
- },
- "psl": {
- "version": "1.8.0",
- "devOptional": true
- },
- "pump": {
- "version": "3.0.0",
- "optional": true,
- "peer": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "devOptional": true
- },
- "qs": {
- "version": "6.7.0"
- },
- "querystringify": {
- "version": "2.2.0"
- },
- "range-parser": {
- "version": "1.2.1"
- },
- "raw-body": {
- "version": "2.4.0",
- "requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "rc": {
- "version": "1.2.8",
- "optional": true,
- "peer": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
- },
- "react-is": {
- "version": "17.0.2",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "reflect-metadata": {
- "version": "0.1.13"
- },
- "request": {
- "version": "2.88.2",
- "optional": true,
- "peer": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "form-data": {
- "version": "2.3.3",
- "optional": true,
- "peer": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "qs": {
- "version": "6.5.2",
- "optional": true,
- "peer": true
- },
- "tough-cookie": {
- "version": "2.5.0",
- "optional": true,
- "peer": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- }
- }
- },
- "require-directory": {
- "version": "2.1.1"
- },
- "requires-port": {
- "version": "1.0.0"
- },
- "resolve": {
- "version": "1.20.0",
- "dev": true,
- "requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- }
- },
- "resolve-cwd": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "resolve-from": "^5.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.2.1"
- },
- "safer-buffer": {
- "version": "2.1.2"
- },
- "sax": {
- "version": "1.2.4"
- },
- "saxes": {
- "version": "5.0.1",
- "dev": true,
- "requires": {
- "xmlchars": "^2.2.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "dev": true
- },
- "send": {
- "version": "0.17.1",
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.1"
- }
- }
- },
- "serve-static": {
- "version": "1.14.1",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "optional": true,
- "peer": true
- },
- "setprototypeof": {
- "version": "1.1.1"
- },
- "sha.js": {
- "version": "2.4.11",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.4",
- "devOptional": true
- },
- "simple-concat": {
- "version": "1.0.1",
- "optional": true,
- "peer": true
- },
- "simple-get": {
- "version": "3.1.1",
- "optional": true,
- "peer": true,
- "requires": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "sisteransi": {
- "version": "1.0.5",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "dev": true
- },
- "smart-buffer": {
- "version": "4.2.0"
- },
- "socks": {
- "version": "2.6.1",
- "requires": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.1.0"
- }
- },
- "socks-proxy-agent": {
- "version": "5.0.1",
- "requires": {
- "agent-base": "^6.0.2",
- "debug": "4",
- "socks": "^2.3.3"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2"
- }
- }
- },
- "source-map": {
- "version": "0.6.1"
- },
- "source-map-support": {
- "version": "0.5.20",
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "split2": {
- "version": "3.2.2",
- "requires": {
- "readable-stream": "^3.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "dev": true
- },
- "sqlite3": {
- "version": "5.0.2",
- "optional": true,
- "peer": true,
- "requires": {
- "node-addon-api": "^3.0.0",
- "node-gyp": "3.x",
- "node-pre-gyp": "^0.11.0"
- }
- },
- "sshpk": {
- "version": "1.16.1",
- "optional": true,
- "peer": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "stack-utils": {
- "version": "2.0.5",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0"
- }
- },
- "statuses": {
- "version": "1.5.0"
- },
- "streamsearch": {
- "version": "0.1.2"
- },
- "string_decoder": {
- "version": "0.10.31"
- },
- "string-length": {
- "version": "4.0.2",
- "dev": true,
- "requires": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "optional": true,
- "peer": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "optional": true,
- "peer": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "optional": true,
- "peer": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "strip-bom": {
- "version": "4.0.0",
- "dev": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "dev": true
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "optional": true,
- "peer": true
- },
- "supports-color": {
- "version": "7.2.0",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-hyperlinks": {
- "version": "2.2.0",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- }
- },
- "symbol-tree": {
- "version": "3.2.4",
- "dev": true
- },
- "tar": {
- "version": "2.2.2",
- "optional": true,
- "peer": true,
- "requires": {
- "block-stream": "*",
- "fstream": "^1.0.12",
- "inherits": "2"
- }
- },
- "tar-fs": {
- "version": "2.1.1",
- "optional": true,
- "peer": true,
- "requires": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "tar-stream": {
- "version": "2.2.0",
- "optional": true,
- "peer": true,
- "requires": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "optional": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "optional": true,
- "peer": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "terminal-link": {
- "version": "2.1.1",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- }
- },
- "test-exclude": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- }
- },
- "thenify": {
- "version": "3.3.1",
- "requires": {
- "any-promise": "^1.0.0"
- }
- },
- "thenify-all": {
- "version": "1.6.0",
- "requires": {
- "thenify": ">= 3.1.0 < 4"
- }
- },
- "throat": {
- "version": "6.0.1",
- "dev": true
- },
- "tmp": {
- "version": "0.0.33",
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
- },
- "tmpl": {
- "version": "1.0.5",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toidentifier": {
- "version": "1.0.0"
- },
- "tough-cookie": {
- "version": "4.0.0",
- "dev": true,
- "requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.1.2"
- }
- },
- "tr46": {
- "version": "2.1.0",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "ts-node": {
- "version": "10.2.1",
- "dev": true,
- "requires": {
- "@cspotcode/source-map-support": "0.6.1",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "yn": "3.1.1"
- },
- "dependencies": {
- "acorn-walk": {
- "version": "8.2.0",
- "dev": true
- }
- }
- },
- "tslib": {
- "version": "2.3.1"
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "optional": true,
- "peer": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "optional": true,
- "peer": true
- },
- "type-check": {
- "version": "0.3.2",
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "dev": true
- },
- "type-fest": {
- "version": "0.21.3",
- "dev": true
- },
- "type-is": {
- "version": "1.6.18",
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typedarray": {
- "version": "0.0.6"
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typeorm": {
- "version": "0.2.38",
- "requires": {
- "@sqltools/formatter": "^1.2.2",
- "app-root-path": "^3.0.0",
- "buffer": "^6.0.3",
- "chalk": "^4.1.0",
- "cli-highlight": "^2.1.11",
- "debug": "^4.3.1",
- "dotenv": "^8.2.0",
- "glob": "^7.1.6",
- "js-yaml": "^4.0.0",
- "mkdirp": "^1.0.4",
- "reflect-metadata": "^0.1.13",
- "sha.js": "^2.4.11",
- "tslib": "^2.1.0",
- "xml2js": "^0.4.23",
- "yargonaut": "^1.1.4",
- "yargs": "^17.0.1",
- "zen-observable-ts": "^1.0.0"
- },
- "dependencies": {
- "argparse": {
- "version": "2.0.1"
- },
- "buffer": {
- "version": "6.0.3",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "js-yaml": {
- "version": "4.1.0",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "mkdirp": {
- "version": "1.0.4"
- },
- "ms": {
- "version": "2.1.2"
- },
- "string-width": {
- "version": "4.2.2",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "yargs": {
- "version": "17.1.1",
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- }
- }
- }
- },
- "typescript": {
- "version": "4.4.3"
- },
- "typescript-json-schema": {
- "version": "0.50.1",
- "requires": {
- "@types/json-schema": "^7.0.7",
- "@types/node": "^14.14.33",
- "glob": "^7.1.6",
- "json-stable-stringify": "^1.0.1",
- "ts-node": "^9.1.1",
- "typescript": "~4.2.3",
- "yargs": "^16.2.0"
- },
- "dependencies": {
- "ts-node": {
- "version": "9.1.1",
- "requires": {
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.17",
- "yn": "3.1.1"
- }
- },
- "typescript": {
- "version": "4.2.4"
- }
- }
- },
- "universalify": {
- "version": "0.1.2"
- },
- "unpipe": {
- "version": "1.0.0"
- },
- "uri-js": {
- "version": "4.4.1",
- "optional": true,
- "peer": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "url-parse": {
- "version": "1.5.10",
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2"
- },
- "utils-merge": {
- "version": "1.0.1"
- },
- "uuid": {
- "version": "3.4.0",
- "optional": true,
- "peer": true
- },
- "v8-to-istanbul": {
- "version": "8.0.0",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "dev": true
- }
- }
- },
- "vary": {
- "version": "1.1.2"
- },
- "verror": {
- "version": "1.10.0",
- "optional": true,
- "peer": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- },
- "dependencies": {
- "core-util-is": {
- "version": "1.0.2",
- "optional": true,
- "peer": true
- }
- }
- },
- "vm2": {
- "version": "3.9.7",
- "requires": {
- "acorn": "^8.7.0",
- "acorn-walk": "^8.2.0"
- },
- "dependencies": {
- "acorn-walk": {
- "version": "8.2.0"
- }
- }
- },
- "w3c-hr-time": {
- "version": "1.0.2",
- "dev": true,
- "requires": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "w3c-xmlserializer": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "xml-name-validator": "^3.0.0"
- }
- },
- "walker": {
- "version": "1.0.7",
- "dev": true,
- "requires": {
- "makeerror": "1.0.x"
- }
- },
- "webidl-conversions": {
- "version": "6.1.0",
- "dev": true
- },
- "whatwg-encoding": {
- "version": "1.0.5",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.24"
- }
- },
- "whatwg-mimetype": {
- "version": "2.3.0",
- "dev": true
- },
- "whatwg-url": {
- "version": "8.7.0",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wide-align": {
- "version": "1.1.3",
- "optional": true,
- "peer": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "word-wrap": {
- "version": "1.2.3"
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "string-width": {
- "version": "4.2.2",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- }
- }
- },
- "wrappy": {
- "version": "1.0.2"
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.5.5",
- "dev": true,
- "requires": {}
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "dev": true
- },
- "xml2js": {
- "version": "0.4.23",
- "requires": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- }
- },
- "xmlbuilder": {
- "version": "11.0.1"
- },
- "xmlchars": {
- "version": "2.2.0",
- "dev": true
- },
- "xregexp": {
- "version": "2.0.0"
- },
- "xtend": {
- "version": "4.0.2"
- },
- "y18n": {
- "version": "5.0.8"
- },
- "yallist": {
- "version": "4.0.0",
- "devOptional": true
- },
- "yargonaut": {
- "version": "1.1.4",
- "requires": {
- "chalk": "^1.1.1",
- "figlet": "^1.1.1",
- "parent-require": "^1.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1"
- },
- "ansi-styles": {
- "version": "2.2.1"
- },
- "chalk": {
- "version": "1.1.3",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5"
- },
- "strip-ansi": {
- "version": "3.0.1",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0"
- }
- }
- },
- "yargs": {
- "version": "16.2.0",
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "string-width": {
- "version": "4.2.2",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- }
- }
- },
- "yargs-parser": {
- "version": "20.2.9"
- },
- "yn": {
- "version": "3.1.1"
- },
- "zen-observable": {
- "version": "0.8.15"
- },
- "zen-observable-ts": {
- "version": "1.1.0",
- "requires": {
- "@types/zen-observable": "0.8.3",
- "zen-observable": "0.8.15"
- }
- }
- }
- },
- "@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- }
- },
- "@istanbuljs/schema": {
- "version": "0.1.3",
- "dev": true
- },
- "@jest/console": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^27.2.5",
- "jest-util": "^27.2.5",
- "slash": "^3.0.0"
- }
- },
- "@jest/core": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.5",
- "@jest/reporters": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^27.2.5",
- "jest-config": "^27.2.5",
- "jest-haste-map": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-resolve-dependencies": "^27.2.5",
- "jest-runner": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "jest-watcher": "^27.2.5",
- "micromatch": "^4.0.4",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ci-info": {
- "version": "3.2.0",
- "dev": true
- },
- "is-ci": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "ci-info": "^3.1.1"
- }
- },
- "jest-config": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.5",
- "@jest/types": "^27.2.5",
- "babel-jest": "^27.2.5",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.5",
- "jest-environment-jsdom": "^27.2.5",
- "jest-environment-node": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-runner": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.5"
- }
- }
- }
- },
- "@jest/environment": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "jest-mock": "^27.2.5"
- }
- },
- "@jest/fake-timers": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "@sinonjs/fake-timers": "^8.0.1",
- "@types/node": "*",
- "jest-message-util": "^27.2.5",
- "jest-mock": "^27.2.5",
- "jest-util": "^27.2.5"
- }
- },
- "@jest/globals": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.5",
- "@jest/types": "^27.2.5",
- "expect": "^27.2.5"
- }
- },
- "@jest/reporters": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^27.2.5",
- "jest-resolve": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-worker": "^27.2.5",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^8.1.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "dev": true
- }
- }
- },
- "@jest/source-map": {
- "version": "27.0.6",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "dev": true
- }
- }
- },
- "@jest/test-result": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/test-sequencer": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.2.5",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-runtime": "^27.2.5"
- }
- },
- "@jest/transform": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^27.2.5",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-util": "^27.2.5",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "dev": true
- }
- }
- },
- "@jest/types": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- }
- },
- "@mapbox/node-pre-gyp": {
- "version": "1.0.5",
- "requires": {
- "detect-libc": "^1.0.3",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.4",
- "tar": "^6.1.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
- }
- },
- "@sentry/core": {
- "version": "6.16.1",
- "requires": {
- "@sentry/hub": "6.16.1",
- "@sentry/minimal": "6.16.1",
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1"
- }
- }
- },
- "@sentry/hub": {
- "version": "6.16.1",
- "requires": {
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1"
- }
- }
- },
- "@sentry/minimal": {
- "version": "6.16.1",
- "requires": {
- "@sentry/hub": "6.16.1",
- "@sentry/types": "6.16.1",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1"
- }
- }
- },
- "@sentry/node": {
- "version": "6.16.1",
- "requires": {
- "@sentry/core": "6.16.1",
- "@sentry/hub": "6.16.1",
- "@sentry/tracing": "6.16.1",
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "cookie": "^0.4.1",
- "https-proxy-agent": "^5.0.0",
- "lru_map": "^0.3.3",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "cookie": {
- "version": "0.4.1"
- },
- "tslib": {
- "version": "1.14.1"
- }
- }
- },
- "@sentry/tracing": {
- "version": "6.16.1",
- "requires": {
- "@sentry/hub": "6.16.1",
- "@sentry/minimal": "6.16.1",
- "@sentry/types": "6.16.1",
- "@sentry/utils": "6.16.1",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1"
- }
- }
- },
- "@sentry/types": {
- "version": "6.16.1"
- },
- "@sentry/utils": {
- "version": "6.16.1",
- "requires": {
- "@sentry/types": "6.16.1",
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1"
- }
- }
- },
- "@sinonjs/commons": {
- "version": "1.8.3",
- "dev": true,
- "requires": {
- "type-detect": "4.0.8"
- }
- },
- "@sinonjs/fake-timers": {
- "version": "8.0.1",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
- "@sqltools/formatter": {
- "version": "1.2.3"
- },
- "@tootallnate/once": {
- "version": "1.1.2"
- },
- "@types/amqplib": {
- "version": "0.8.2",
- "dev": true,
- "requires": {
- "@types/bluebird": "*",
- "@types/node": "*"
- }
- },
- "@types/babel__core": {
- "version": "7.1.16",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "@types/babel__generator": {
- "version": "7.6.3",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__template": {
- "version": "7.4.1",
- "dev": true,
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__traverse": {
- "version": "7.14.2",
- "dev": true,
- "requires": {
- "@babel/types": "^7.3.0"
- }
- },
- "@types/bcrypt": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/bluebird": {
- "version": "3.5.36",
- "dev": true
- },
- "@types/body-parser": {
- "version": "1.19.1",
- "dev": true,
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.35",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/cookiejar": {
- "version": "2.1.2",
- "dev": true
- },
- "@types/express": {
- "version": "4.17.13",
- "dev": true,
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.24",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "@types/graceful-fs": {
- "version": "4.1.5",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/i18next-node-fs-backend": {
- "version": "2.1.1",
- "dev": true,
- "requires": {
- "i18next": ">=17.0.11"
- }
- },
- "@types/istanbul-lib-coverage": {
- "version": "2.0.3",
- "dev": true
- },
- "@types/istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/jest": {
- "version": "27.0.1",
- "dev": true,
- "requires": {
- "jest-diff": "^27.0.0",
- "pretty-format": "^27.0.0"
- }
- },
- "@types/jest-expect-message": {
- "version": "1.0.3",
- "dev": true,
- "requires": {
- "@types/jest": "*"
- }
- },
- "@types/json-schema": {
- "version": "7.0.9",
- "dev": true
- },
- "@types/jsonwebtoken": {
- "version": "8.5.5",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/mime": {
- "version": "1.3.2",
- "dev": true
- },
- "@types/morgan": {
- "version": "1.9.3",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/multer": {
- "version": "1.4.7",
- "dev": true,
- "requires": {
- "@types/express": "*"
- }
- },
- "@types/node": {
- "version": "14.17.16",
- "dev": true
- },
- "@types/node-fetch": {
- "version": "2.5.12",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- }
- },
- "@types/prettier": {
- "version": "2.4.1",
- "dev": true
- },
- "@types/qs": {
- "version": "6.9.7",
- "dev": true
- },
- "@types/range-parser": {
- "version": "1.2.4",
- "dev": true
- },
- "@types/serve-static": {
- "version": "1.13.10",
- "dev": true,
- "requires": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "@types/stack-utils": {
- "version": "2.0.1",
- "dev": true
- },
- "@types/strip-bom": {
- "version": "3.0.0",
- "dev": true
- },
- "@types/strip-json-comments": {
- "version": "0.0.30",
- "dev": true
- },
- "@types/superagent": {
- "version": "4.1.13",
- "dev": true,
- "requires": {
- "@types/cookiejar": "*",
- "@types/node": "*"
- }
- },
- "@types/supertest": {
- "version": "2.0.11",
- "dev": true,
- "requires": {
- "@types/superagent": "*"
- }
- },
- "@types/yargs": {
- "version": "16.0.4",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "@types/yargs-parser": {
- "version": "20.2.1",
- "dev": true
- },
- "@types/zen-observable": {
- "version": "0.8.3"
- },
- "@yarnpkg/lockfile": {
- "version": "1.1.0"
- },
- "@zerollup/ts-helpers": {
- "version": "1.7.18",
- "dev": true,
- "requires": {
- "resolve": "^1.12.0"
- }
- },
- "@zerollup/ts-transform-paths": {
- "version": "1.7.18",
- "dev": true,
- "requires": {
- "@zerollup/ts-helpers": "^1.7.18"
- }
- },
- "abab": {
- "version": "2.0.5",
- "dev": true
- },
- "abbrev": {
- "version": "1.1.1"
- },
- "accepts": {
- "version": "1.3.7",
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "acorn": {
- "version": "8.7.0"
- },
- "acorn-globals": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "dev": true
- }
- }
- },
- "acorn-walk": {
- "version": "7.2.0",
- "dev": true
- },
- "agent-base": {
- "version": "6.0.2",
- "requires": {
- "debug": "4"
- }
- },
- "ajv": {
- "version": "8.6.2",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-formats": {
- "version": "2.1.1",
- "requires": {
- "ajv": "^8.0.0"
- }
- },
- "amqplib": {
- "version": "0.8.0",
- "requires": {
- "bitsyntax": "~0.1.0",
- "bluebird": "^3.7.2",
- "buffer-more-ints": "~1.0.0",
- "readable-stream": "1.x >=1.1.9",
- "safe-buffer": "~5.2.1",
- "url-parse": "~1.5.1"
- }
- },
- "ansi-escapes": {
- "version": "4.3.2",
- "dev": true,
- "requires": {
- "type-fest": "^0.21.3"
- }
- },
- "ansi-regex": {
- "version": "5.0.1"
- },
- "ansi-styles": {
- "version": "4.3.0",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "any-promise": {
- "version": "1.3.0"
- },
- "anymatch": {
- "version": "3.1.2",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "app-root-path": {
- "version": "3.0.0"
- },
- "append-field": {
- "version": "1.0.0"
- },
- "aproba": {
- "version": "1.2.0"
- },
- "are-we-there-yet": {
- "version": "1.1.7",
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0"
- },
- "readable-stream": {
- "version": "2.3.7",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2"
- },
- "string_decoder": {
- "version": "1.1.1",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "arg": {
- "version": "4.1.3",
- "dev": true
- },
- "argparse": {
- "version": "1.0.10",
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "array-flatten": {
- "version": "1.1.1"
- },
- "assert": {
- "version": "1.5.0",
- "requires": {
- "object-assign": "^4.1.1",
- "util": "0.10.3"
- }
- },
- "ast-types": {
- "version": "0.13.4",
- "requires": {
- "tslib": "^2.0.1"
- }
- },
- "asynckit": {
- "version": "0.4.0"
- },
- "babel-jest": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^27.2.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- }
- },
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "dev": true,
- "requires": {
- "object.assign": "^4.1.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^4.0.0",
- "test-exclude": "^6.0.0"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-plugin-polyfill-corejs2": {
- "version": "0.2.2",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.13.11",
- "@babel/helper-define-polyfill-provider": "^0.2.2",
- "semver": "^6.1.1"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "dev": true
- }
- }
- },
- "babel-plugin-polyfill-corejs3": {
- "version": "0.2.5",
- "dev": true,
- "requires": {
- "@babel/helper-define-polyfill-provider": "^0.2.2",
- "core-js-compat": "^3.16.2"
- }
- },
- "babel-plugin-polyfill-regenerator": {
- "version": "0.2.2",
- "dev": true,
- "requires": {
- "@babel/helper-define-polyfill-provider": "^0.2.2"
- }
- },
- "babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- }
- },
- "babel-preset-jest": {
- "version": "27.2.0",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^27.2.0",
- "babel-preset-current-node-syntax": "^1.0.0"
- }
- },
- "balanced-match": {
- "version": "1.0.2"
- },
- "base64-js": {
- "version": "1.5.1"
- },
- "basic-auth": {
- "version": "2.0.1",
- "requires": {
- "safe-buffer": "5.1.2"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2"
- }
- }
- },
- "bcrypt": {
- "version": "5.0.1",
- "requires": {
- "@mapbox/node-pre-gyp": "^1.0.0",
- "node-addon-api": "^3.1.0"
- }
- },
- "binary-extensions": {
- "version": "2.2.0",
- "dev": true
- },
- "bitsyntax": {
- "version": "0.1.0",
- "requires": {
- "buffer-more-ints": "~1.0.0",
- "debug": "~2.6.9",
- "safe-buffer": "~5.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0"
- },
- "safe-buffer": {
- "version": "5.1.2"
- }
- }
- },
- "bluebird": {
- "version": "3.7.2"
- },
- "body-parser": {
- "version": "1.19.0",
- "requires": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0"
- }
- }
- },
- "boolbase": {
- "version": "1.0.0"
- },
- "brace-expansion": {
- "version": "1.1.11",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browser-process-hrtime": {
- "version": "1.0.0",
- "dev": true
- },
- "browserslist": {
- "version": "4.17.0",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001254",
- "colorette": "^1.3.0",
- "electron-to-chromium": "^1.3.830",
- "escalade": "^3.1.1",
- "node-releases": "^1.1.75"
- }
- },
- "bser": {
- "version": "2.1.1",
- "dev": true,
- "requires": {
- "node-int64": "^0.4.0"
- }
- },
- "buffer-equal-constant-time": {
- "version": "1.0.1"
- },
- "buffer-from": {
- "version": "1.1.2"
- },
- "buffer-more-ints": {
- "version": "1.0.0"
- },
- "busboy": {
- "version": "0.2.14",
- "requires": {
- "dicer": "0.2.5",
- "readable-stream": "1.1.x"
- }
- },
- "bytes": {
- "version": "3.1.0"
- },
- "call-bind": {
- "version": "1.0.2",
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "dev": true
- },
- "caniuse-lite": {
- "version": "1.0.30001257",
- "dev": true
- },
- "chalk": {
- "version": "4.1.2",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "char-regex": {
- "version": "1.0.2",
- "dev": true
- },
- "cheerio": {
- "version": "1.0.0-rc.10",
- "requires": {
- "cheerio-select": "^1.5.0",
- "dom-serializer": "^1.3.2",
- "domhandler": "^4.2.0",
- "htmlparser2": "^6.1.0",
- "parse5": "^6.0.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.1",
- "tslib": "^2.2.0"
- }
- },
- "cheerio-select": {
- "version": "1.5.0",
- "requires": {
- "css-select": "^4.1.3",
- "css-what": "^5.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.7.0"
- }
- },
- "chokidar": {
- "version": "3.5.2",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- }
- },
- "chownr": {
- "version": "2.0.0"
- },
- "ci-info": {
- "version": "2.0.0"
- },
- "cjs-module-lexer": {
- "version": "1.2.2",
- "dev": true
- },
- "cli-highlight": {
- "version": "2.1.11",
- "requires": {
- "chalk": "^4.0.0",
- "highlight.js": "^10.7.1",
- "mz": "^2.4.0",
- "parse5": "^5.1.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.0",
- "yargs": "^16.0.0"
- },
- "dependencies": {
- "parse5": {
- "version": "5.1.1"
- }
- }
- },
- "cliui": {
- "version": "7.0.4",
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "string-width": {
- "version": "4.2.3",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
- }
- },
- "co": {
- "version": "4.6.0",
- "dev": true
- },
- "code-point-at": {
- "version": "1.1.0"
- },
- "collect-v8-coverage": {
- "version": "1.0.1",
- "dev": true
- },
- "color-convert": {
- "version": "2.0.1",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4"
- },
- "colorette": {
- "version": "1.4.0",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "component-emitter": {
- "version": "1.3.0"
- },
- "concat-map": {
- "version": "0.0.1"
- },
- "concat-stream": {
- "version": "1.6.2",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0"
- },
- "readable-stream": {
- "version": "2.3.7",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2"
- },
- "string_decoder": {
- "version": "1.1.1",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "console-control-strings": {
- "version": "1.1.0"
- },
- "content-disposition": {
- "version": "0.5.3",
- "requires": {
- "safe-buffer": "5.1.2"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2"
- }
- }
- },
- "content-type": {
- "version": "1.0.4"
- },
- "convert-source-map": {
- "version": "1.8.0",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "dev": true
- }
- }
- },
- "cookie": {
- "version": "0.4.0"
- },
- "cookie-signature": {
- "version": "1.0.6"
- },
- "cookiejar": {
- "version": "2.1.2"
- },
- "core-js-compat": {
- "version": "3.18.3",
- "dev": true,
- "requires": {
- "browserslist": "^4.17.3",
- "semver": "7.0.0"
- },
- "dependencies": {
- "browserslist": {
- "version": "4.17.4",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001265",
- "electron-to-chromium": "^1.3.867",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.0",
- "picocolors": "^1.0.0"
- }
- },
- "caniuse-lite": {
- "version": "1.0.30001267",
- "dev": true
- },
- "electron-to-chromium": {
- "version": "1.3.870",
- "dev": true
- },
- "node-releases": {
- "version": "2.0.0",
- "dev": true
- },
- "semver": {
- "version": "7.0.0",
- "dev": true
- }
- }
- },
- "core-util-is": {
- "version": "1.0.3"
- },
- "create-require": {
- "version": "1.1.1",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.3",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "css-select": {
- "version": "4.1.3",
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^5.0.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.6.0",
- "nth-check": "^2.0.0"
- }
- },
- "css-what": {
- "version": "5.0.1"
- },
- "cssom": {
- "version": "0.4.4",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "dev": true
- }
- }
- },
- "data-uri-to-buffer": {
- "version": "3.0.1"
- },
- "data-urls": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- }
- },
- "debug": {
- "version": "4.3.2",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decimal.js": {
- "version": "10.3.1",
- "dev": true
- },
- "dedent": {
- "version": "0.7.0",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.4"
- },
- "deepmerge": {
- "version": "4.2.2",
- "dev": true
- },
- "define-properties": {
- "version": "1.1.3",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
- "degenerator": {
- "version": "3.0.1",
- "requires": {
- "ast-types": "^0.13.2",
- "escodegen": "^1.8.1",
- "esprima": "^4.0.0",
- "vm2": "^3.9.3"
- },
- "dependencies": {
- "escodegen": {
- "version": "1.14.3",
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- }
- },
- "estraverse": {
- "version": "4.3.0"
- },
- "source-map": {
- "version": "0.6.1",
- "optional": true
- }
- }
- },
- "delayed-stream": {
- "version": "1.0.0"
- },
- "delegates": {
- "version": "1.0.0"
- },
- "depd": {
- "version": "1.1.2"
- },
- "destroy": {
- "version": "1.0.4"
- },
- "detect-libc": {
- "version": "1.0.3"
- },
- "detect-newline": {
- "version": "3.1.0",
- "dev": true
- },
- "dicer": {
- "version": "0.2.5",
- "requires": {
- "readable-stream": "1.1.x",
- "streamsearch": "0.1.2"
- }
- },
- "diff": {
- "version": "4.0.2",
- "dev": true
- },
- "diff-sequences": {
- "version": "27.0.6",
- "dev": true
- },
- "dom-serializer": {
- "version": "1.3.2",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- }
- },
- "domelementtype": {
- "version": "2.2.0"
- },
- "domexception": {
- "version": "2.0.1",
- "dev": true,
- "requires": {
- "webidl-conversions": "^5.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "5.0.0",
- "dev": true
- }
- }
- },
- "domhandler": {
- "version": "4.2.2",
- "requires": {
- "domelementtype": "^2.2.0"
- }
- },
- "domutils": {
- "version": "2.8.0",
- "requires": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- }
- },
- "dotenv": {
- "version": "8.6.0"
- },
- "dynamic-dedupe": {
- "version": "0.3.0",
- "dev": true,
- "requires": {
- "xtend": "^4.0.0"
- }
- },
- "ecdsa-sig-formatter": {
- "version": "1.0.11",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "ee-first": {
- "version": "1.1.1"
- },
- "electron-to-chromium": {
- "version": "1.3.840",
- "dev": true
- },
- "emittery": {
- "version": "0.8.1",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0"
- },
- "encodeurl": {
- "version": "1.0.2"
- },
- "entities": {
- "version": "2.2.0"
- },
- "escalade": {
- "version": "3.1.1"
- },
- "escape-html": {
- "version": "1.0.3"
- },
- "escape-string-regexp": {
- "version": "1.0.5"
- },
- "escodegen": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "dev": true,
- "optional": true
- }
- }
- },
- "esprima": {
- "version": "4.0.1"
- },
- "estraverse": {
- "version": "5.2.0",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3"
- },
- "etag": {
- "version": "1.8.1"
- },
- "execa": {
- "version": "5.1.1",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "dev": true
- },
- "expect": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "ansi-styles": "^5.0.0",
- "jest-get-type": "^27.0.6",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-regex-util": "^27.0.6"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "dev": true
- }
- }
- },
- "express": {
- "version": "4.17.1",
- "requires": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0"
- },
- "safe-buffer": {
- "version": "5.1.2"
- }
- }
- },
- "express-async-errors": {
- "version": "3.1.1",
- "requires": {}
- },
- "fast-deep-equal": {
- "version": "3.1.3"
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6"
- },
- "fast-safe-stringify": {
- "version": "2.1.1"
- },
- "fb-watchman": {
- "version": "2.0.1",
- "dev": true,
- "requires": {
- "bser": "2.1.1"
- }
- },
- "figlet": {
- "version": "1.5.2"
- },
- "file-uri-to-path": {
- "version": "2.0.0"
- },
- "fill-range": {
- "version": "7.0.1",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "finalhandler": {
- "version": "1.1.2",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0"
- }
- }
- },
- "find-up": {
- "version": "4.1.0",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "find-yarn-workspace-root": {
- "version": "2.0.0",
- "requires": {
- "micromatch": "^4.0.2"
- }
- },
- "form-data": {
- "version": "3.0.1",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "formidable": {
- "version": "1.2.2"
- },
- "forwarded": {
- "version": "0.2.0"
- },
- "fresh": {
- "version": "0.5.2"
- },
- "fs-extra": {
- "version": "8.1.0",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs-minipass": {
- "version": "2.1.0",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0"
- },
- "ftp": {
- "version": "0.3.10",
- "requires": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- }
- },
- "function-bind": {
- "version": "1.1.1"
- },
- "gauge": {
- "version": "2.7.4",
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1"
- },
- "strip-ansi": {
- "version": "3.0.1",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5"
- },
- "get-intrinsic": {
- "version": "1.1.1",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- }
- },
- "get-package-type": {
- "version": "0.1.0",
- "dev": true
- },
- "get-stream": {
- "version": "6.0.1",
- "dev": true
- },
- "get-uri": {
- "version": "3.0.2",
- "requires": {
- "@tootallnate/once": "1",
- "data-uri-to-buffer": "3",
- "debug": "4",
- "file-uri-to-path": "2",
- "fs-extra": "^8.1.0",
- "ftp": "^0.3.10"
- }
- },
- "glob": {
- "version": "7.1.7",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "5.1.2",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "global-prefix": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- }
- },
- "globals": {
- "version": "11.12.0",
- "dev": true
- },
- "graceful-fs": {
- "version": "4.2.8"
- },
- "growly": {
- "version": "1.3.0",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "has": {
- "version": "1.0.3",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "requires": {
- "ansi-regex": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1"
- }
- }
- },
- "has-flag": {
- "version": "4.0.0"
- },
- "has-symbols": {
- "version": "1.0.2"
- },
- "has-unicode": {
- "version": "2.0.1"
- },
- "helmet": {
- "version": "4.6.0"
- },
- "highlight.js": {
- "version": "10.7.3"
- },
- "html-encoding-sniffer": {
- "version": "2.0.1",
- "dev": true,
- "requires": {
- "whatwg-encoding": "^1.0.5"
- }
- },
- "html-escaper": {
- "version": "2.0.2",
- "dev": true
- },
- "htmlparser2": {
- "version": "6.1.0",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.0.0",
- "domutils": "^2.5.2",
- "entities": "^2.0.0"
- }
- },
- "http-errors": {
- "version": "1.7.2",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3"
- }
- }
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.0",
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "dev": true
- },
- "i18next": {
- "version": "19.9.2",
- "requires": {
- "@babel/runtime": "^7.12.0"
- }
- },
- "i18next-http-middleware": {
- "version": "3.1.4"
- },
- "i18next-node-fs-backend": {
- "version": "2.1.3",
- "requires": {
- "js-yaml": "3.13.1",
- "json5": "2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.24",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ieee754": {
- "version": "1.2.1"
- },
- "image-size": {
- "version": "1.0.0",
- "requires": {
- "queue": "6.0.2"
- }
- },
- "import-local": {
- "version": "3.0.3",
- "dev": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4"
- },
- "ini": {
- "version": "1.3.8",
- "dev": true
- },
- "interpret": {
- "version": "1.4.0",
- "dev": true
- },
- "ip": {
- "version": "1.1.5"
- },
- "ipaddr.js": {
- "version": "1.9.1"
- },
- "is-binary-path": {
- "version": "2.1.0",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-ci": {
- "version": "2.0.0",
- "requires": {
- "ci-info": "^2.0.0"
- }
- },
- "is-core-module": {
- "version": "2.6.0",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-docker": {
- "version": "2.2.1"
- },
- "is-extglob": {
- "version": "2.1.1",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-generator-fn": {
- "version": "2.1.0",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.1",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0"
- },
- "is-potential-custom-element-name": {
- "version": "1.0.1",
- "dev": true
- },
- "is-stream": {
- "version": "2.0.1",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "dev": true
- },
- "is-wsl": {
- "version": "2.2.0",
- "requires": {
- "is-docker": "^2.0.0"
- }
- },
- "isarray": {
- "version": "0.0.1"
- },
- "isexe": {
- "version": "2.0.0"
- },
- "istanbul-lib-coverage": {
- "version": "3.0.0",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "4.0.3",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "dev": true
- }
- }
- },
- "istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- }
- },
- "istanbul-lib-source-maps": {
- "version": "4.0.1",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "dev": true
- }
- }
- },
- "istanbul-reports": {
- "version": "3.0.5",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- }
- },
- "jest": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/core": "^27.2.5",
- "import-local": "^3.0.2",
- "jest-cli": "^27.2.5"
- }
- },
- "jest-changed-files": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "execa": "^5.0.0",
- "throat": "^6.0.1"
- }
- },
- "jest-circus": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^0.7.0",
- "expect": "^27.2.5",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.5",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "pretty-format": "^27.2.5",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- }
- },
- "jest-cli": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/core": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "jest-config": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "prompts": "^2.0.1",
- "yargs": "^16.2.0"
- },
- "dependencies": {
- "ci-info": {
- "version": "3.2.0",
- "dev": true
- },
- "is-ci": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "ci-info": "^3.1.1"
- }
- },
- "jest-config": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^27.2.5",
- "@jest/types": "^27.2.5",
- "babel-jest": "^27.2.5",
- "chalk": "^4.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "jest-circus": "^27.2.5",
- "jest-environment-jsdom": "^27.2.5",
- "jest-environment-node": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "jest-jasmine2": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-runner": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.5"
- }
- }
- }
- },
- "jest-diff": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.0.6",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.5"
- }
- },
- "jest-docblock": {
- "version": "27.0.6",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-each": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "jest-util": "^27.2.5",
- "pretty-format": "^27.2.5"
- }
- },
- "jest-environment-jsdom": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.5",
- "@jest/fake-timers": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "jest-mock": "^27.2.5",
- "jest-util": "^27.2.5",
- "jsdom": "^16.6.0"
- }
- },
- "jest-environment-node": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/environment": "^27.2.5",
- "@jest/fake-timers": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "jest-mock": "^27.2.5",
- "jest-util": "^27.2.5"
- }
- },
- "jest-expect-message": {
- "version": "1.0.2",
- "dev": true
- },
- "jest-get-type": {
- "version": "27.0.6",
- "dev": true
- },
- "jest-haste-map": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.3.2",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^27.0.6",
- "jest-serializer": "^27.0.6",
- "jest-util": "^27.2.5",
- "jest-worker": "^27.2.5",
- "micromatch": "^4.0.4",
- "walker": "^1.0.7"
- }
- },
- "jest-jasmine2": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^27.2.5",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "expect": "^27.2.5",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^27.2.5",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "pretty-format": "^27.2.5",
- "throat": "^6.0.1"
- }
- },
- "jest-leak-detector": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.5"
- }
- },
- "jest-matcher-utils": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "pretty-format": "^27.2.5"
- }
- },
- "jest-message-util": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^27.2.5",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.4",
- "pretty-format": "^27.2.5",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- }
- },
- "jest-mock": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "@types/node": "*"
- }
- },
- "jest-pnp-resolver": {
- "version": "1.2.2",
- "dev": true,
- "requires": {}
- },
- "jest-regex-util": {
- "version": "27.0.6",
- "dev": true
- },
- "jest-resolve": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "chalk": "^4.0.0",
- "escalade": "^3.1.1",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "resolve": "^1.20.0",
- "slash": "^3.0.0"
- }
- },
- "jest-resolve-dependencies": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-snapshot": "^27.2.5"
- }
- },
- "jest-runner": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.5",
- "@jest/environment": "^27.2.5",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.8.1",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-docblock": "^27.0.6",
- "jest-environment-jsdom": "^27.2.5",
- "jest-environment-node": "^27.2.5",
- "jest-haste-map": "^27.2.5",
- "jest-leak-detector": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-resolve": "^27.2.5",
- "jest-runtime": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-worker": "^27.2.5",
- "source-map-support": "^0.5.6",
- "throat": "^6.0.1"
- }
- },
- "jest-runtime": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/console": "^27.2.5",
- "@jest/environment": "^27.2.5",
- "@jest/fake-timers": "^27.2.5",
- "@jest/globals": "^27.2.5",
- "@jest/source-map": "^27.0.6",
- "@jest/test-result": "^27.2.5",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "execa": "^5.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-mock": "^27.2.5",
- "jest-regex-util": "^27.0.6",
- "jest-resolve": "^27.2.5",
- "jest-snapshot": "^27.2.5",
- "jest-util": "^27.2.5",
- "jest-validate": "^27.2.5",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^16.2.0"
- }
- },
- "jest-serializer": {
- "version": "27.0.6",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- }
- },
- "jest-snapshot": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.2",
- "@babel/generator": "^7.7.2",
- "@babel/parser": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/traverse": "^7.7.2",
- "@babel/types": "^7.0.0",
- "@jest/transform": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/babel__traverse": "^7.0.4",
- "@types/prettier": "^2.1.5",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^27.2.5",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^27.2.5",
- "jest-get-type": "^27.0.6",
- "jest-haste-map": "^27.2.5",
- "jest-matcher-utils": "^27.2.5",
- "jest-message-util": "^27.2.5",
- "jest-resolve": "^27.2.5",
- "jest-util": "^27.2.5",
- "natural-compare": "^1.4.0",
- "pretty-format": "^27.2.5",
- "semver": "^7.3.2"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
- }
- },
- "jest-util": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^3.0.0",
- "picomatch": "^2.2.3"
- },
- "dependencies": {
- "ci-info": {
- "version": "3.2.0",
- "dev": true
- },
- "is-ci": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "ci-info": "^3.1.1"
- }
- }
- }
- },
- "jest-validate": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.0.6",
- "leven": "^3.1.0",
- "pretty-format": "^27.2.5"
- },
- "dependencies": {
- "camelcase": {
- "version": "6.2.0",
- "dev": true
- }
- }
- },
- "jest-watcher": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/test-result": "^27.2.5",
- "@jest/types": "^27.2.5",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "jest-util": "^27.2.5",
- "string-length": "^4.0.1"
- }
- },
- "jest-worker": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "8.1.1",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "dev": true
- },
- "js-yaml": {
- "version": "3.13.1",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "jsdom": {
- "version": "16.7.0",
- "dev": true,
- "requires": {
- "abab": "^2.0.5",
- "acorn": "^8.2.4",
- "acorn-globals": "^6.0.0",
- "cssom": "^0.4.4",
- "cssstyle": "^2.3.0",
- "data-urls": "^2.0.0",
- "decimal.js": "^10.2.1",
- "domexception": "^2.0.1",
- "escodegen": "^2.0.0",
- "form-data": "^3.0.0",
- "html-encoding-sniffer": "^2.0.1",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.0",
- "parse5": "6.0.1",
- "saxes": "^5.0.1",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.0.0",
- "w3c-hr-time": "^1.0.2",
- "w3c-xmlserializer": "^2.0.0",
- "webidl-conversions": "^6.1.0",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.5.0",
- "ws": "^7.4.6",
- "xml-name-validator": "^3.0.0"
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "1.0.0"
- },
- "json5": {
- "version": "2.0.0",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "jsonify": {
- "version": "0.0.0",
- "dev": true
- },
- "jsonwebtoken": {
- "version": "8.5.1",
- "requires": {
- "jws": "^3.2.2",
- "lodash.includes": "^4.3.0",
- "lodash.isboolean": "^3.0.3",
- "lodash.isinteger": "^4.0.4",
- "lodash.isnumber": "^3.0.3",
- "lodash.isplainobject": "^4.0.6",
- "lodash.isstring": "^4.0.1",
- "lodash.once": "^4.0.0",
- "ms": "^2.1.1",
- "semver": "^5.6.0"
- }
- },
- "jwa": {
- "version": "1.4.1",
- "requires": {
- "buffer-equal-constant-time": "1.0.1",
- "ecdsa-sig-formatter": "1.0.11",
- "safe-buffer": "^5.0.1"
- }
- },
- "jws": {
- "version": "3.2.2",
- "requires": {
- "jwa": "^1.4.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "kind-of": {
- "version": "6.0.3",
- "dev": true
- },
- "klaw-sync": {
- "version": "6.0.0",
- "requires": {
- "graceful-fs": "^4.1.11"
- }
- },
- "kleur": {
- "version": "3.0.3",
- "dev": true
- },
- "lambert-server": {
- "version": "1.2.12",
- "requires": {
- "body-parser": "^1.19.0",
- "chalk": "^4.1.1",
- "express": "^4.17.1",
- "express-async-errors": "^3.1.1",
- "helmet": "^4.4.1",
- "missing-native-js-functions": "^1.2.11"
- }
- },
- "leven": {
- "version": "3.1.0",
- "dev": true
- },
- "levn": {
- "version": "0.3.0",
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "dev": true
- },
- "lodash.debounce": {
- "version": "4.0.8",
- "dev": true
- },
- "lodash.includes": {
- "version": "4.3.0"
- },
- "lodash.isboolean": {
- "version": "3.0.3"
- },
- "lodash.isinteger": {
- "version": "4.0.4"
- },
- "lodash.isnumber": {
- "version": "3.0.3"
- },
- "lodash.isplainobject": {
- "version": "4.0.6"
- },
- "lodash.isstring": {
- "version": "4.0.1"
- },
- "lodash.once": {
- "version": "4.1.1"
- },
- "lru_map": {
- "version": "0.3.3"
- },
- "lru-cache": {
- "version": "6.0.0",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0"
- }
- }
- },
- "make-error": {
- "version": "1.3.6",
- "dev": true
- },
- "makeerror": {
- "version": "1.0.11",
- "dev": true,
- "requires": {
- "tmpl": "1.0.x"
- }
- },
- "media-typer": {
- "version": "0.3.0"
- },
- "merge-descriptors": {
- "version": "1.0.1"
- },
- "merge-stream": {
- "version": "2.0.0",
- "dev": true
- },
- "methods": {
- "version": "1.1.2"
- },
- "micromatch": {
- "version": "4.0.4",
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
- "mime": {
- "version": "1.6.0"
- },
- "mime-db": {
- "version": "1.49.0"
- },
- "mime-types": {
- "version": "2.1.32",
- "requires": {
- "mime-db": "1.49.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
- },
- "minipass": {
- "version": "3.1.5",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "missing-native-js-functions": {
- "version": "1.2.18"
- },
- "mkdirp": {
- "version": "0.5.5",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "morgan": {
- "version": "1.10.0",
- "requires": {
- "basic-auth": "~2.0.1",
- "debug": "2.6.9",
- "depd": "~2.0.0",
- "on-finished": "~2.3.0",
- "on-headers": "~1.0.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "depd": {
- "version": "2.0.0"
- },
- "ms": {
- "version": "2.0.0"
- }
- }
- },
- "ms": {
- "version": "2.1.2"
- },
- "multer": {
- "version": "1.4.3",
- "requires": {
- "append-field": "^1.0.0",
- "busboy": "^0.2.11",
- "concat-stream": "^1.5.2",
- "mkdirp": "^0.5.4",
- "object-assign": "^4.1.1",
- "on-finished": "^2.3.0",
- "type-is": "^1.6.4",
- "xtend": "^4.0.0"
- }
- },
- "mz": {
- "version": "2.7.0",
- "requires": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "natural-compare": {
- "version": "1.4.0",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.2"
- },
- "netmask": {
- "version": "2.0.2"
- },
- "nice-try": {
- "version": "1.0.5"
- },
- "node-addon-api": {
- "version": "3.2.1"
- },
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- },
- "dependencies": {
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- }
- }
- },
- "node-int64": {
- "version": "0.4.0",
- "dev": true
- },
- "node-modules-regexp": {
- "version": "1.0.0",
- "dev": true
- },
- "node-notifier": {
- "version": "8.0.2",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "growly": "^1.3.0",
- "is-wsl": "^2.2.0",
- "semver": "^7.3.2",
- "shellwords": "^0.1.1",
- "uuid": "^8.3.0",
- "which": "^2.0.2"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "node-releases": {
- "version": "1.1.75",
- "dev": true
- },
- "nopt": {
- "version": "5.0.0",
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "dev": true
- },
- "npm-run-path": {
- "version": "4.0.1",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "nth-check": {
- "version": "2.0.1",
- "requires": {
- "boolbase": "^1.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1"
- },
- "nwsapi": {
- "version": "2.2.0",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1"
- },
- "object-inspect": {
- "version": "1.11.0"
- },
- "object-keys": {
- "version": "1.1.1",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.2",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- }
- },
- "on-finished": {
- "version": "2.3.0",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "on-headers": {
- "version": "1.0.2"
- },
- "once": {
- "version": "1.4.0",
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "open": {
- "version": "7.4.2",
- "requires": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
- }
- },
- "optionator": {
- "version": "0.8.3",
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "os-tmpdir": {
- "version": "1.0.2"
- },
- "p-limit": {
- "version": "2.3.0",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "dev": true
- },
- "pac-proxy-agent": {
- "version": "5.0.0",
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4",
- "get-uri": "3",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "5",
- "pac-resolver": "^5.0.0",
- "raw-body": "^2.2.0",
- "socks-proxy-agent": "5"
- }
- },
- "pac-resolver": {
- "version": "5.0.0",
- "requires": {
- "degenerator": "^3.0.1",
- "ip": "^1.1.5",
- "netmask": "^2.0.1"
- }
- },
- "parent-require": {
- "version": "1.0.0"
- },
- "parse5": {
- "version": "6.0.1"
- },
- "parse5-htmlparser2-tree-adapter": {
- "version": "6.0.1",
- "requires": {
- "parse5": "^6.0.1"
- }
- },
- "parseurl": {
- "version": "1.3.3"
- },
- "patch-package": {
- "version": "6.4.7",
- "requires": {
- "@yarnpkg/lockfile": "^1.1.0",
- "chalk": "^2.4.2",
- "cross-spawn": "^6.0.5",
- "find-yarn-workspace-root": "^2.0.0",
- "fs-extra": "^7.0.1",
- "is-ci": "^2.0.0",
- "klaw-sync": "^6.0.0",
- "minimist": "^1.2.0",
- "open": "^7.4.2",
- "rimraf": "^2.6.3",
- "semver": "^5.6.0",
- "slash": "^2.0.0",
- "tmp": "^0.0.33"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3"
- },
- "cross-spawn": {
- "version": "6.0.5",
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "has-flag": {
- "version": "3.0.0"
- },
- "path-key": {
- "version": "2.0.1"
- },
- "rimraf": {
- "version": "2.7.1",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "shebang-command": {
- "version": "1.2.0",
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0"
- },
- "slash": {
- "version": "2.0.0"
- },
- "supports-color": {
- "version": "5.5.0",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1"
- },
- "path-key": {
- "version": "3.1.1",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "dev": true
- },
- "path-to-regexp": {
- "version": "0.1.7"
- },
- "picocolors": {
- "version": "1.0.0"
- },
- "picomatch": {
- "version": "2.3.0"
- },
- "pirates": {
- "version": "4.0.1",
- "dev": true,
- "requires": {
- "node-modules-regexp": "^1.0.0"
- }
- },
- "pkg-dir": {
- "version": "4.2.0",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "prelude-ls": {
- "version": "1.1.2"
- },
- "pretty-format": {
- "version": "27.2.5",
- "dev": true,
- "requires": {
- "@jest/types": "^27.2.5",
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "dev": true
- }
- }
- },
- "process-nextick-args": {
- "version": "2.0.1"
- },
- "prompts": {
- "version": "2.4.2",
- "dev": true,
- "requires": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- }
- },
- "proxy-addr": {
- "version": "2.0.7",
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- }
- },
- "proxy-agent": {
- "version": "5.0.0",
- "requires": {
- "agent-base": "^6.0.0",
- "debug": "4",
- "http-proxy-agent": "^4.0.0",
- "https-proxy-agent": "^5.0.0",
- "lru-cache": "^5.1.1",
- "pac-proxy-agent": "^5.0.0",
- "proxy-from-env": "^1.0.0",
- "socks-proxy-agent": "^5.0.0"
- },
- "dependencies": {
- "lru-cache": {
- "version": "5.1.1",
- "requires": {
- "yallist": "^3.0.2"
- }
- },
- "yallist": {
- "version": "3.1.1"
- }
- }
- },
- "proxy-from-env": {
- "version": "1.1.0"
- },
- "psl": {
- "version": "1.8.0",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1"
- },
- "qs": {
- "version": "6.7.0"
- },
- "querystringify": {
- "version": "2.2.0"
- },
- "queue": {
- "version": "6.0.2",
- "requires": {
- "inherits": "~2.0.3"
- }
- },
- "range-parser": {
- "version": "1.2.1"
- },
- "raw-body": {
- "version": "2.4.0",
- "requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "react-is": {
- "version": "17.0.2",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- },
- "dependencies": {
- "string_decoder": {
- "version": "0.10.31"
- }
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "rechoir": {
- "version": "0.6.2",
- "dev": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
- "reflect-metadata": {
- "version": "0.1.13"
- },
- "regenerate": {
- "version": "1.4.2",
- "dev": true
- },
- "regenerate-unicode-properties": {
- "version": "9.0.0",
- "dev": true,
- "requires": {
- "regenerate": "^1.4.2"
- }
- },
- "regenerator-runtime": {
- "version": "0.13.9"
- },
- "regenerator-transform": {
- "version": "0.14.5",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.8.4"
- }
- },
- "regexpu-core": {
- "version": "4.8.0",
- "dev": true,
- "requires": {
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^9.0.0",
- "regjsgen": "^0.5.2",
- "regjsparser": "^0.7.0",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.0.0"
- }
- },
- "regjsgen": {
- "version": "0.5.2",
- "dev": true
- },
- "regjsparser": {
- "version": "0.7.0",
- "dev": true,
- "requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "dev": true
- }
- }
- },
- "require-directory": {
- "version": "2.1.1"
- },
- "require-from-string": {
- "version": "2.0.2"
- },
- "requires-port": {
- "version": "1.0.0"
- },
- "resolve": {
- "version": "1.20.0",
- "dev": true,
- "requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- }
- },
- "resolve-cwd": {
- "version": "3.0.0",
- "dev": true,
- "requires": {
- "resolve-from": "^5.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.2.1"
- },
- "safer-buffer": {
- "version": "2.1.2"
- },
- "sax": {
- "version": "1.2.4"
- },
- "saxes": {
- "version": "5.0.1",
- "dev": true,
- "requires": {
- "xmlchars": "^2.2.0"
- }
- },
- "semver": {
- "version": "5.7.1"
- },
- "send": {
- "version": "0.17.1",
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0"
- }
- }
- },
- "ms": {
- "version": "2.1.1"
- }
- }
- },
- "serve-static": {
- "version": "1.14.1",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
- }
- },
- "set-blocking": {
- "version": "2.0.0"
- },
- "setprototypeof": {
- "version": "1.1.1"
- },
- "sha.js": {
- "version": "2.4.11",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "dev": true
- },
- "shelljs": {
- "version": "0.8.4",
- "dev": true,
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
- "shellwords": {
- "version": "0.1.1",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "side-channel": {
- "version": "1.0.4",
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "signal-exit": {
- "version": "3.0.4"
- },
- "sisteransi": {
- "version": "1.0.5",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "dev": true
- },
- "smart-buffer": {
- "version": "4.2.0"
- },
- "socks": {
- "version": "2.6.1",
- "requires": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.1.0"
- }
- },
- "socks-proxy-agent": {
- "version": "5.0.1",
- "requires": {
- "agent-base": "^6.0.2",
- "debug": "4",
- "socks": "^2.3.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "dev": true
- },
- "source-map-support": {
- "version": "0.5.20",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "dev": true
- }
- }
- },
- "sprintf-js": {
- "version": "1.0.3"
- },
- "stack-utils": {
- "version": "2.0.4",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0",
- "source-map-support": "^0.5.20"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "2.0.0",
- "dev": true
- }
- }
- },
- "statuses": {
- "version": "1.5.0"
- },
- "streamsearch": {
- "version": "0.1.2"
- },
- "string_decoder": {
- "version": "1.3.0",
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
- "string-length": {
- "version": "4.0.2",
- "dev": true,
- "requires": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1"
- },
- "strip-ansi": {
- "version": "3.0.1",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom": {
- "version": "4.0.0",
- "dev": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "dev": true
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "dev": true
- },
- "superagent": {
- "version": "6.1.0",
- "requires": {
- "component-emitter": "^1.3.0",
- "cookiejar": "^2.1.2",
- "debug": "^4.1.1",
- "fast-safe-stringify": "^2.0.7",
- "form-data": "^3.0.0",
- "formidable": "^1.2.2",
- "methods": "^1.1.2",
- "mime": "^2.4.6",
- "qs": "^6.9.4",
- "readable-stream": "^3.6.0",
- "semver": "^7.3.2"
- },
- "dependencies": {
- "mime": {
- "version": "2.5.2"
- },
- "qs": {
- "version": "6.10.1",
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "semver": {
- "version": "7.3.5",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
- }
- },
- "supertest": {
- "version": "6.1.6",
- "requires": {
- "methods": "^1.1.2",
- "superagent": "^6.1.0"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-hyperlinks": {
- "version": "2.2.0",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- }
- },
- "symbol-tree": {
- "version": "3.2.4",
- "dev": true
- },
- "tar": {
- "version": "6.1.11",
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "dependencies": {
- "mkdirp": {
- "version": "1.0.4"
- }
- }
- },
- "terminal-link": {
- "version": "2.1.1",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- }
- },
- "test-exclude": {
- "version": "6.0.0",
- "dev": true,
- "requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- }
- },
- "thenify": {
- "version": "3.3.1",
- "requires": {
- "any-promise": "^1.0.0"
- }
- },
- "thenify-all": {
- "version": "1.6.0",
- "requires": {
- "thenify": ">= 3.1.0 < 4"
- }
- },
- "throat": {
- "version": "6.0.1",
- "dev": true
- },
- "tmp": {
- "version": "0.0.33",
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
- },
- "tmpl": {
- "version": "1.0.5",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toidentifier": {
- "version": "1.0.0"
- },
- "tough-cookie": {
- "version": "4.0.0",
- "dev": true,
- "requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.1.2"
- }
- },
- "tr46": {
- "version": "2.1.0",
- "dev": true,
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "tree-kill": {
- "version": "1.2.2",
- "dev": true
- },
- "ts-node": {
- "version": "9.1.1",
- "dev": true,
- "requires": {
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.17",
- "yn": "3.1.1"
- }
- },
- "ts-node-dev": {
- "version": "1.1.8",
- "dev": true,
- "requires": {
- "chokidar": "^3.5.1",
- "dynamic-dedupe": "^0.3.0",
- "minimist": "^1.2.5",
- "mkdirp": "^1.0.4",
- "resolve": "^1.0.0",
- "rimraf": "^2.6.1",
- "source-map-support": "^0.5.12",
- "tree-kill": "^1.2.2",
- "ts-node": "^9.0.0",
- "tsconfig": "^7.0.0"
- },
- "dependencies": {
- "mkdirp": {
- "version": "1.0.4",
- "dev": true
- },
- "rimraf": {
- "version": "2.7.1",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
- "ts-patch": {
- "version": "1.4.4",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "glob": "^7.1.7",
- "global-prefix": "^3.0.0",
- "minimist": "^1.2.5",
- "resolve": "^1.20.0",
- "shelljs": "^0.8.4",
- "strip-ansi": "^6.0.0"
- }
- },
- "tsconfig": {
- "version": "7.0.0",
- "dev": true,
- "requires": {
- "@types/strip-bom": "^3.0.0",
- "@types/strip-json-comments": "0.0.30",
- "strip-bom": "^3.0.0",
- "strip-json-comments": "^2.0.0"
- },
- "dependencies": {
- "strip-bom": {
- "version": "3.0.0",
- "dev": true
- }
- }
- },
- "tslib": {
- "version": "2.3.1"
- },
- "type-check": {
- "version": "0.3.2",
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "dev": true
- },
- "type-fest": {
- "version": "0.21.3",
- "dev": true
- },
- "type-is": {
- "version": "1.6.18",
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typedarray": {
- "version": "0.0.6"
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typeorm": {
- "version": "0.2.37",
- "requires": {
- "@sqltools/formatter": "^1.2.2",
- "app-root-path": "^3.0.0",
- "buffer": "^6.0.3",
- "chalk": "^4.1.0",
- "cli-highlight": "^2.1.11",
- "debug": "^4.3.1",
- "dotenv": "^8.2.0",
- "glob": "^7.1.6",
- "js-yaml": "^4.0.0",
- "mkdirp": "^1.0.4",
- "reflect-metadata": "^0.1.13",
- "sha.js": "^2.4.11",
- "tslib": "^2.1.0",
- "xml2js": "^0.4.23",
- "yargonaut": "^1.1.4",
- "yargs": "^17.0.1",
- "zen-observable-ts": "^1.0.0"
- },
- "dependencies": {
- "argparse": {
- "version": "2.0.1"
- },
- "buffer": {
- "version": "6.0.3",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "js-yaml": {
- "version": "4.1.0",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "mkdirp": {
- "version": "1.0.4"
- },
- "string-width": {
- "version": "4.2.2",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "yargs": {
- "version": "17.1.1",
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- }
- }
- }
- },
- "typescript": {
- "version": "4.4.3",
- "dev": true
- },
- "typescript-json-schema": {
- "version": "0.50.1",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.7",
- "@types/node": "^14.14.33",
- "glob": "^7.1.6",
- "json-stable-stringify": "^1.0.1",
- "ts-node": "^9.1.1",
- "typescript": "~4.2.3",
- "yargs": "^16.2.0"
- },
- "dependencies": {
- "json-stable-stringify": {
- "version": "1.0.1",
- "dev": true,
- "requires": {
- "jsonify": "~0.0.0"
- }
- },
- "typescript": {
- "version": "4.2.4",
- "dev": true
- }
- }
- },
- "unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "dev": true
- },
- "unicode-match-property-ecmascript": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- }
- },
- "unicode-match-property-value-ecmascript": {
- "version": "2.0.0",
- "dev": true
- },
- "unicode-property-aliases-ecmascript": {
- "version": "2.0.0",
- "dev": true
- },
- "universalify": {
- "version": "0.1.2"
- },
- "unpipe": {
- "version": "1.0.0"
- },
- "uri-js": {
- "version": "4.4.1",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "url-parse": {
- "version": "1.5.10",
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "util": {
- "version": "0.10.3",
- "requires": {
- "inherits": "2.0.1"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1"
- }
- }
- },
- "util-deprecate": {
- "version": "1.0.2"
- },
- "utils-merge": {
- "version": "1.0.1"
- },
- "uuid": {
- "version": "8.3.2",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "v8-to-istanbul": {
- "version": "8.1.0",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "dev": true
- }
- }
- },
- "vary": {
- "version": "1.1.2"
- },
- "vm2": {
- "version": "3.9.7",
- "requires": {
- "acorn": "^8.7.0",
- "acorn-walk": "^8.2.0"
- },
- "dependencies": {
- "acorn-walk": {
- "version": "8.2.0"
- }
- }
- },
- "w3c-hr-time": {
- "version": "1.0.2",
- "dev": true,
- "requires": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "w3c-xmlserializer": {
- "version": "2.0.0",
- "dev": true,
- "requires": {
- "xml-name-validator": "^3.0.0"
- }
- },
- "walker": {
- "version": "1.0.7",
- "dev": true,
- "requires": {
- "makeerror": "1.0.x"
- }
- },
- "webidl-conversions": {
- "version": "6.1.0",
- "dev": true
- },
- "whatwg-encoding": {
- "version": "1.0.5",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.24"
- }
- },
- "whatwg-mimetype": {
- "version": "2.3.0",
- "dev": true
- },
- "whatwg-url": {
- "version": "8.7.0",
- "dev": true,
- "requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
- }
- },
- "which": {
- "version": "1.3.1",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wide-align": {
- "version": "1.1.3",
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "word-wrap": {
- "version": "1.2.3"
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "string-width": {
- "version": "4.2.3",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
- }
- },
- "wrappy": {
- "version": "1.0.2"
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.5.5",
- "dev": true,
- "requires": {}
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "dev": true
- },
- "xml2js": {
- "version": "0.4.23",
- "requires": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- }
- },
- "xmlbuilder": {
- "version": "11.0.1"
- },
- "xmlchars": {
- "version": "2.2.0",
- "dev": true
- },
- "xregexp": {
- "version": "2.0.0"
- },
- "xtend": {
- "version": "4.0.2"
- },
- "y18n": {
- "version": "5.0.8"
- },
- "yallist": {
- "version": "4.0.0"
- },
- "yargonaut": {
- "version": "1.1.4",
- "requires": {
- "chalk": "^1.1.1",
- "figlet": "^1.1.1",
- "parent-require": "^1.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1"
- },
- "ansi-styles": {
- "version": "2.2.1"
- },
- "chalk": {
- "version": "1.1.3",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0"
- }
- }
- },
- "yargs": {
- "version": "16.2.0",
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0"
- },
- "string-width": {
- "version": "4.2.3",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
- }
- },
- "yargs-parser": {
- "version": "20.2.9"
- },
- "yn": {
- "version": "3.1.1",
- "dev": true
- },
- "zen-observable": {
- "version": "0.8.15"
- },
- "zen-observable-ts": {
- "version": "1.1.0",
- "requires": {
- "@types/zen-observable": "0.8.3",
- "zen-observable": "0.8.15"
- }
- }
- }
-}
diff --git a/api/package.json b/api/package.json
deleted file mode 100644
index 1bb49261..00000000
--- a/api/package.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "name": "@fosscord/api",
- "version": "1.0.0",
- "description": "This repository contains the HTTP API Server",
- "main": "dist/index.js",
- "types": "src/index.ts",
- "scripts": {
- "test:only": "npx jest --coverage --verbose --forceExit ./tests",
- "test:routes": "npx jest --coverage --verbose --forceExit ./routes.test.ts",
- "test": "npm run build && npm run test:only",
- "test:watch": "npx jest --watch",
- "start": "npm run build && node dist/start",
- "build": "npx tsc -p .",
- "dev": "npx tsnd --respawn src/start.ts",
- "patch": "npx ts-patch install -s && npx patch-package",
- "postinstall": "npm run patch",
- "generate:docs": "node scripts/generate_openapi",
- "generate:schema": "node scripts/generate_schema"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/fosscord/fosscord-server.git"
- },
- "keywords": [
- "discord",
- "fosscord",
- "fosscord-server",
- "fosscord-api",
- "discord open source",
- "discord-open-source"
- ],
- "author": "Fosscord",
- "license": "AGPL-3.0-only",
- "bugs": {
- "url": "https://github.com/fosscord/fosscord-server/issues"
- },
- "homepage": "https://fosscord.com",
- "devDependencies": {
- "@babel/core": "^7.15.5",
- "@babel/preset-env": "^7.15.8",
- "@babel/preset-typescript": "^7.15.0",
- "@types/amqplib": "^0.8.1",
- "@types/bcrypt": "^5.0.0",
- "@types/express": "^4.17.9",
- "@types/i18next-node-fs-backend": "^2.1.0",
- "@types/jest": "^27.0.1",
- "@types/jest-expect-message": "^1.0.3",
- "@types/jsonwebtoken": "^8.5.0",
- "@types/morgan": "^1.9.3",
- "@types/multer": "^1.4.5",
- "@types/node": "^14.17.9",
- "@types/node-fetch": "^2.5.5",
- "@types/supertest": "^2.0.11",
- "@zerollup/ts-transform-paths": "^1.7.18",
- "jest": "^27.2.5",
- "jest-expect-message": "^1.0.2",
- "jest-runtime": "^27.2.1",
- "ts-node": "^9.1.1",
- "ts-node-dev": "^1.1.6",
- "ts-patch": "^1.4.4",
- "typescript": "^4.4.2",
- "typescript-json-schema": "0.50.1"
- },
- "dependencies": {
- "@babel/preset-env": "^7.15.8",
- "@babel/preset-typescript": "^7.15.0",
- "@fosscord/util": "file:../util",
- "@sentry/node": "^6.16.1",
- "@sentry/tracing": "^6.16.1",
- "ajv": "8.6.2",
- "ajv-formats": "^2.1.1",
- "amqplib": "^0.8.0",
- "assert": "^1.5.0",
- "bcrypt": "^5.0.1",
- "body-parser": "^1.19.0",
- "cheerio": "^1.0.0-rc.10",
- "dotenv": "^8.2.0",
- "express": "^4.17.1",
- "form-data": "^3.0.0",
- "i18next": "^19.9.2",
- "i18next-http-middleware": "^3.1.3",
- "i18next-node-fs-backend": "^2.1.3",
- "image-size": "^1.0.0",
- "jsonwebtoken": "^8.5.1",
- "lambert-server": "^1.2.12",
- "missing-native-js-functions": "^1.2.18",
- "morgan": "^1.10.0",
- "multer": "^1.4.2",
- "node-fetch": "^2.6.2",
- "patch-package": "^6.4.7",
- "picocolors": "^1.0.0",
- "proxy-agent": "^5.0.0",
- "supertest": "^6.1.6",
- "typeorm": "^0.2.37"
- },
- "jest": {
- "setupFiles": [
- "<rootDir>/jest/setup.js"
- ],
- "setupFilesAfterEnv": [
- "jest-expect-message"
- ],
- "globalSetup": "<rootDir>/jest/globalSetup.js",
- "verbose": true
- }
-}
diff --git a/api/patches/ajv+8.6.2.patch b/api/patches/ajv+8.6.2.patch
deleted file mode 100644
index 3f54881b..00000000
--- a/api/patches/ajv+8.6.2.patch
+++ /dev/null
@@ -1,249 +0,0 @@
-diff --git a/node_modules/ajv/dist/compile/jtd/parse.js b/node_modules/ajv/dist/compile/jtd/parse.js
-index 1eeb1be..7684121 100644
---- a/node_modules/ajv/dist/compile/jtd/parse.js
-+++ b/node_modules/ajv/dist/compile/jtd/parse.js
-@@ -239,6 +239,9 @@ function parseType(cxt) {
- gen.if(fail, () => parsingError(cxt, codegen_1.str `invalid timestamp`));
- break;
- }
-+ case "bigint":
-+ parseBigInt(cxt);
-+ break
- case "float32":
- case "float64":
- parseNumber(cxt);
-@@ -284,6 +287,15 @@ function parseNumber(cxt, maxDigits) {
- skipWhitespace(cxt);
- gen.if(codegen_1._ `"-0123456789".indexOf(${jsonSlice(1)}) < 0`, () => jsonSyntaxError(cxt), () => parseWith(cxt, parseJson_1.parseJsonNumber, maxDigits));
- }
-+function parseBigInt(cxt, maxDigits) {
-+ const {gen} = cxt
-+ skipWhitespace(cxt)
-+ gen.if(
-+ _`"-0123456789".indexOf(${jsonSlice(1)}) < 0`,
-+ () => jsonSyntaxError(cxt),
-+ () => parseWith(cxt, parseJson_1.parseJsonBigInt, maxDigits)
-+ )
-+}
- function parseBooleanToken(bool, fail) {
- return (cxt) => {
- const { gen, data } = cxt;
-diff --git a/node_modules/ajv/dist/compile/rules.js b/node_modules/ajv/dist/compile/rules.js
-index 82a591f..1ebd8fe 100644
---- a/node_modules/ajv/dist/compile/rules.js
-+++ b/node_modules/ajv/dist/compile/rules.js
-@@ -1,7 +1,7 @@
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getRules = exports.isJSONType = void 0;
--const _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"];
-+const _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array","bigint"];
- const jsonTypes = new Set(_jsonTypes);
- function isJSONType(x) {
- return typeof x == "string" && jsonTypes.has(x);
-@@ -13,10 +13,11 @@ function getRules() {
- string: { type: "string", rules: [] },
- array: { type: "array", rules: [] },
- object: { type: "object", rules: [] },
-+ bigint: {type: "bigint", rules: []}
- };
- return {
-- types: { ...groups, integer: true, boolean: true, null: true },
-- rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object],
-+ types: { ...groups, integer: true, boolean: true, null: true, bigint: true },
-+ rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object, groups.bigint],
- post: { rules: [] },
- all: {},
- keywords: {},
-diff --git a/node_modules/ajv/dist/compile/validate/dataType.js b/node_modules/ajv/dist/compile/validate/dataType.js
-index 6319e76..8b50b4c 100644
---- a/node_modules/ajv/dist/compile/validate/dataType.js
-+++ b/node_modules/ajv/dist/compile/validate/dataType.js
-@@ -52,7 +52,7 @@ function coerceAndCheckDataType(it, types) {
- return checkTypes;
- }
- exports.coerceAndCheckDataType = coerceAndCheckDataType;
--const COERCIBLE = new Set(["string", "number", "integer", "boolean", "null"]);
-+const COERCIBLE = new Set(["string", "number", "integer", "boolean", "null","bigint"]);
- function coerceToTypes(types, coerceTypes) {
- return coerceTypes
- ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === "array" && t === "array"))
-@@ -83,6 +83,14 @@ function coerceData(it, types, coerceTo) {
- });
- function coerceSpecificType(t) {
- switch (t) {
-+ case "bigint":
-+ gen
-+ .elseIf(
-+ codegen_1._`${dataType} == "boolean" || ${data} === null
-+ || (${dataType} == "string" && ${data} && ${data} == BigInt(${data}))`
-+ )
-+ .assign(coerced, codegen_1._`BigInt(${data})`)
-+ return
- case "string":
- gen
- .elseIf(codegen_1._ `${dataType} == "number" || ${dataType} == "boolean"`)
-@@ -143,6 +151,9 @@ function checkDataType(dataType, data, strictNums, correct = DataType.Correct) {
- case "number":
- cond = numCond();
- break;
-+ case "bigint":
-+ cond = codegen_1._`typeof ${data} == "bigint" && isFinite(${data})`
-+ break
- default:
- return codegen_1._ `typeof ${data} ${EQ} ${dataType}`;
- }
-diff --git a/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json b/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json
-index 7027a12..25679c8 100644
---- a/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json
-+++ b/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json
-@@ -78,7 +78,7 @@
- "default": 0
- },
- "simpleTypes": {
-- "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
-+ "enum": ["array", "boolean", "integer", "null", "number", "object", "string","bigint"]
- },
- "stringArray": {
- "type": "array",
-diff --git a/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json b/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
-index e0ae13d..57c9036 100644
---- a/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
-+++ b/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
-@@ -78,7 +78,7 @@
- "default": 0
- },
- "simpleTypes": {
-- "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
-+ "enum": ["array", "boolean", "integer", "null", "number", "object", "string","bigint"]
- },
- "stringArray": {
- "type": "array",
-diff --git a/node_modules/ajv/dist/refs/json-schema-draft-06.json b/node_modules/ajv/dist/refs/json-schema-draft-06.json
-index 5410064..774435b 100644
---- a/node_modules/ajv/dist/refs/json-schema-draft-06.json
-+++ b/node_modules/ajv/dist/refs/json-schema-draft-06.json
-@@ -16,7 +16,7 @@
- "allOf": [{"$ref": "#/definitions/nonNegativeInteger"}, {"default": 0}]
- },
- "simpleTypes": {
-- "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
-+ "enum": ["array", "boolean", "integer", "null", "number", "object", "string","bigint"]
- },
- "stringArray": {
- "type": "array",
-diff --git a/node_modules/ajv/dist/refs/json-schema-draft-07.json b/node_modules/ajv/dist/refs/json-schema-draft-07.json
-index 6a74851..fc6dd7d 100644
---- a/node_modules/ajv/dist/refs/json-schema-draft-07.json
-+++ b/node_modules/ajv/dist/refs/json-schema-draft-07.json
-@@ -16,7 +16,7 @@
- "allOf": [{"$ref": "#/definitions/nonNegativeInteger"}, {"default": 0}]
- },
- "simpleTypes": {
-- "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
-+ "enum": ["array", "boolean", "integer", "null", "number", "object", "string","bigint"]
- },
- "stringArray": {
- "type": "array",
-diff --git a/node_modules/ajv/dist/refs/jtd-schema.js b/node_modules/ajv/dist/refs/jtd-schema.js
-index 1ee940a..1148887 100644
---- a/node_modules/ajv/dist/refs/jtd-schema.js
-+++ b/node_modules/ajv/dist/refs/jtd-schema.js
-@@ -38,6 +38,7 @@ const typeForm = (root) => ({
- "uint16",
- "int32",
- "uint32",
-+ "bigint",
- ],
- },
- },
-diff --git a/node_modules/ajv/dist/runtime/parseJson.js b/node_modules/ajv/dist/runtime/parseJson.js
-index 2576a6e..e7447b1 100644
---- a/node_modules/ajv/dist/runtime/parseJson.js
-+++ b/node_modules/ajv/dist/runtime/parseJson.js
-@@ -97,6 +97,71 @@ exports.parseJsonNumber = parseJsonNumber;
- parseJsonNumber.message = undefined;
- parseJsonNumber.position = 0;
- parseJsonNumber.code = 'require("ajv/dist/runtime/parseJson").parseJsonNumber';
-+
-+function parseJsonBigInt(s, pos, maxDigits) {
-+ let numStr = "";
-+ let c;
-+ parseJsonBigInt.message = undefined;
-+ if (s[pos] === "-") {
-+ numStr += "-";
-+ pos++;
-+ }
-+ if (s[pos] === "0") {
-+ numStr += "0";
-+ pos++;
-+ }
-+ else {
-+ if (!parseDigits(maxDigits)) {
-+ errorMessage();
-+ return undefined;
-+ }
-+ }
-+ if (maxDigits) {
-+ parseJsonBigInt.position = pos;
-+ return BigInt(numStr);
-+ }
-+ if (s[pos] === ".") {
-+ numStr += ".";
-+ pos++;
-+ if (!parseDigits()) {
-+ errorMessage();
-+ return undefined;
-+ }
-+ }
-+ if (((c = s[pos]), c === "e" || c === "E")) {
-+ numStr += "e";
-+ pos++;
-+ if (((c = s[pos]), c === "+" || c === "-")) {
-+ numStr += c;
-+ pos++;
-+ }
-+ if (!parseDigits()) {
-+ errorMessage();
-+ return undefined;
-+ }
-+ }
-+ parseJsonBigInt.position = pos;
-+ return BigInt(numStr);
-+ function parseDigits(maxLen) {
-+ let digit = false;
-+ while (((c = s[pos]), c >= "0" && c <= "9" && (maxLen === undefined || maxLen-- > 0))) {
-+ digit = true;
-+ numStr += c;
-+ pos++;
-+ }
-+ return digit;
-+ }
-+ function errorMessage() {
-+ parseJsonBigInt.position = pos;
-+ parseJsonBigInt.message = pos < s.length ? `unexpected token ${s[pos]}` : "unexpected end";
-+ }
-+}
-+exports.parseJsonBigInt = parseJsonBigInt;
-+parseJsonBigInt.message = undefined;
-+parseJsonBigInt.position = 0;
-+parseJsonBigInt.code = 'require("ajv/dist/runtime/parseJson").parseJsonBigInt';
-+
-+
- const escapedChars = {
- b: "\b",
- f: "\f",
-diff --git a/node_modules/ajv/dist/vocabularies/jtd/type.js b/node_modules/ajv/dist/vocabularies/jtd/type.js
-index 428bddb..fbc3070 100644
---- a/node_modules/ajv/dist/vocabularies/jtd/type.js
-+++ b/node_modules/ajv/dist/vocabularies/jtd/type.js
-@@ -45,6 +45,9 @@ const def = {
- cond = timestampCode(cxt);
- break;
- }
-+ case "bigint":
-+ cond = codegen_1._`typeof ${data} == "bigint" || typeof ${data} == "string"`
-+ break
- case "float32":
- case "float64":
- cond = codegen_1._ `typeof ${data} == "number"`;
\ No newline at end of file
diff --git a/api/src/middlewares/TestClient.ts b/api/src/middlewares/TestClient.ts
deleted file mode 100644
index ecf87681..00000000
--- a/api/src/middlewares/TestClient.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import express, { Request, Response, Application } from "express";
-import fs from "fs";
-import path from "path";
-import fetch, { Response as FetchResponse } from "node-fetch";
-import ProxyAgent from 'proxy-agent';
-import { Config } from "@fosscord/util";
-
-export default function TestClient(app: Application) {
- const agent = new ProxyAgent();
- const assetCache = new Map<string, { response: FetchResponse; buffer: Buffer }>();
- const indexHTML = fs.readFileSync(path.join(__dirname, "..", "..", "client_test", "index.html"), { encoding: "utf8" });
-
- var html = indexHTML;
- const CDN_ENDPOINT = (Config.get().cdn.endpointClient || Config.get()?.cdn.endpointPublic || process.env.CDN || "").replace(
- /(https?)?(:\/\/?)/g,
- ""
- );
- const GATEWAY_ENDPOINT = Config.get().gateway.endpointClient || Config.get()?.gateway.endpointPublic || process.env.GATEWAY || "";
-
- if (CDN_ENDPOINT) {
- html = html.replace(/CDN_HOST: .+/, `CDN_HOST: \`${CDN_ENDPOINT}\`,`);
- }
- if (GATEWAY_ENDPOINT) {
- html = html.replace(/GATEWAY_ENDPOINT: .+/, `GATEWAY_ENDPOINT: \`${GATEWAY_ENDPOINT}\`,`);
- }
- // inline plugins
- var files = fs.readdirSync(path.join(__dirname, "..", "..", "assets", "preload-plugins"));
- var plugins = "";
- files.forEach(x =>{if(x.endsWith(".js")) plugins += `<script>${fs.readFileSync(path.join(__dirname, "..", "..", "assets", "preload-plugins", x))}</script>\n`; });
- html = html.replaceAll("<!-- preload plugin marker -->", plugins);
-
- // plugins
- files = fs.readdirSync(path.join(__dirname, "..", "..", "assets", "plugins"));
- plugins = "";
- files.forEach(x =>{if(x.endsWith(".js")) plugins += `<script src='/assets/plugins/${x}'></script>\n`; });
- html = html.replaceAll("<!-- plugin marker -->", plugins);
- //preload plugins
- files = fs.readdirSync(path.join(__dirname, "..", "..", "assets", "preload-plugins"));
- plugins = "";
- files.forEach(x =>{if(x.endsWith(".js")) plugins += `<script>${fs.readFileSync(path.join(__dirname, "..", "..", "assets", "preload-plugins", x))}</script>\n`; });
- html = html.replaceAll("<!-- preload plugin marker -->", plugins);
-
-
- app.use("/assets", express.static(path.join(__dirname, "..", "..", "assets")));
-
- app.get("/assets/:file", async (req: Request, res: Response) => {
- delete req.headers.host;
- var response: FetchResponse;
- var buffer: Buffer;
- const cache = assetCache.get(req.params.file);
- if (!cache) {
- response = await fetch(`https://discord.com/assets/${req.params.file}`, {
- agent,
- // @ts-ignore
- headers: {
- ...req.headers
- }
- });
- buffer = await response.buffer();
- } else {
- response = cache.response;
- buffer = cache.buffer;
- }
-
- response.headers.forEach((value, name) => {
- if (
- [
- "content-length",
- "content-security-policy",
- "strict-transport-security",
- "set-cookie",
- "transfer-encoding",
- "expect-ct",
- "access-control-allow-origin",
- "content-encoding"
- ].includes(name.toLowerCase())
- ) {
- return;
- }
- res.set(name, value);
- });
- assetCache.set(req.params.file, { buffer, response });
-
- return res.send(buffer);
- });
- app.get("/developers*", (req: Request, res: Response) => {
- const { useTestClient } = Config.get().client;
- res.set("Cache-Control", "public, max-age=" + 60 * 60 * 24);
- res.set("content-type", "text/html");
-
- if(!useTestClient) return res.send("Test client is disabled on this instance. Use a stand-alone client to connect this instance.")
-
- res.send(fs.readFileSync(path.join(__dirname, "..", "..", "client_test", "developers.html"), { encoding: "utf8" }));
- });
- app.get("*", (req: Request, res: Response) => {
- const { useTestClient } = Config.get().client;
- res.set("Cache-Control", "public, max-age=" + 60 * 60 * 24);
- res.set("content-type", "text/html");
-
- if(req.url.startsWith("/api") || req.url.startsWith("/__development")) return;
-
- if(!useTestClient) return res.send("Test client is disabled on this instance. Use a stand-alone client to connect this instance.")
- if (req.url.startsWith("/invite")) return res.send(html.replace("9b2b7f0632acd0c5e781", "9f24f709a3de09b67c49"));
-
- res.send(html);
- });
-}
\ No newline at end of file
diff --git a/api/src/routes/auth/location-metadata.ts b/api/src/routes/auth/location-metadata.ts
deleted file mode 100644
index f4c2bd16..00000000
--- a/api/src/routes/auth/location-metadata.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
-import { getIpAdress, IPAnalysis } from "@fosscord/api";
-const router = Router();
-
-router.get("/",route({}), async (req: Request, res: Response) => {
- //TODO
- //Note: It's most likely related to legal. At the moment Discord hasn't finished this too
- const country_code = (await IPAnalysis(getIpAdress(req))).country_code;
- res.json({ consent_required: false, country_code: country_code, promotional_email_opt_in: { required: true, pre_checked: false}});
-});
-
-export default router;
diff --git a/api/src/routes/channels/#channel_id/invites.ts b/api/src/routes/channels/#channel_id/invites.ts
deleted file mode 100644
index 9c361164..00000000
--- a/api/src/routes/channels/#channel_id/invites.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Router, Request, Response } from "express";
-import { HTTPError } from "lambert-server";
-import { route } from "@fosscord/api";
-import { random } from "@fosscord/api";
-import { Channel, Invite, InviteCreateEvent, emitEvent, User, Guild, PublicInviteRelation } from "@fosscord/util";
-import { isTextChannel } from "./messages";
-
-const router: Router = Router();
-
-export interface InviteCreateSchema {
- target_user_id?: string;
- target_type?: string;
- validate?: string; // ? what is this
- max_age?: number;
- max_uses?: number;
- temporary?: boolean;
- unique?: boolean;
- target_user?: string;
- target_user_type?: number;
-}
-
-router.post("/", route({ body: "InviteCreateSchema", permission: "CREATE_INSTANT_INVITE", right: "CREATE_INVITES" }),
- async (req: Request, res: Response) => {
- const { user_id } = req;
- const { channel_id } = req.params;
- const channel = await Channel.findOneOrFail({ where: { id: channel_id }, select: ["id", "name", "type", "guild_id"] });
- isTextChannel(channel.type);
-
- if (!channel.guild_id) {
- throw new HTTPError("This channel doesn't exist", 404);
- }
- const { guild_id } = channel;
-
- const expires_at = new Date(req.body.max_age * 1000 + Date.now());
-
- const invite = await new Invite({
- code: random(),
- temporary: req.body.temporary,
- uses: 0,
- max_uses: req.body.max_uses,
- max_age: req.body.max_age,
- expires_at,
- created_at: new Date(),
- guild_id,
- channel_id: channel_id,
- inviter_id: user_id
- }).save();
- const data = invite.toJSON();
- data.inviter = await User.getPublicUser(req.user_id);
- data.guild = await Guild.findOne({ id: guild_id });
- data.channel = channel;
-
- await emitEvent({ event: "INVITE_CREATE", data, guild_id } as InviteCreateEvent);
- res.status(201).send(data);
-});
-
-router.get("/", route({ permission: "MANAGE_CHANNELS" }), async (req: Request, res: Response) => {
- const { user_id } = req;
- const { channel_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
-
- if (!channel.guild_id) {
- throw new HTTPError("This channel doesn't exist", 404);
- }
- const { guild_id } = channel;
-
- const invites = await Invite.find({ where: { guild_id }, relations: PublicInviteRelation });
-
- res.status(200).send(invites);
-});
-
-export default router;
diff --git a/api/src/routes/channels/#channel_id/purge.ts b/api/src/routes/channels/#channel_id/purge.ts
deleted file mode 100644
index 28b52b50..00000000
--- a/api/src/routes/channels/#channel_id/purge.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import { HTTPError } from "lambert-server";
-import { route } from "@fosscord/api";
-import { isTextChannel } from "./messages";
-import { FindManyOptions, Between, Not } from "typeorm";
-import {
- Attachment,
- Channel,
- Config,
- Embed,
- DiscordApiErrors,
- emitEvent,
- FosscordApiErrors,
- getPermission,
- getRights,
- Message,
- MessageDeleteBulkEvent,
- Snowflake,
- uploadFile
-} from "@fosscord/util";
-import { Router, Response, Request } from "express";
-import multer from "multer";
-import { handleMessage, postHandleMessage } from "@fosscord/api";
-
-const router: Router = Router();
-
-export default router;
-
-export interface PurgeSchema {
- before: string;
- after: string
-}
-
-/**
-TODO: apply the delete bit by bit to prevent client and database stress
-**/
-router.post("/", route({ /*body: "PurgeSchema",*/ }), async (req: Request, res: Response) => {
- const { channel_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
-
- if (!channel.guild_id) throw new HTTPError("Can't purge dm channels", 400);
- isTextChannel(channel.type);
-
- const rights = await getRights(req.user_id);
- if (!rights.has("MANAGE_MESSAGES")) {
- const permissions = await getPermission(req.user_id, channel.guild_id, channel_id);
- permissions.hasThrow("MANAGE_MESSAGES");
- permissions.hasThrow("MANAGE_CHANNELS");
- }
-
- const { before, after } = req.body as PurgeSchema;
-
- // TODO: send the deletion event bite-by-bite to prevent client stress
-
- var query: FindManyOptions<Message> & { where: { id?: any; }; } = {
- order: { id: "ASC" },
- // take: limit,
- where: {
- channel_id,
- id: Between(after, before), // the right way around
- author_id: rights.has("SELF_DELETE_MESSAGES") ? undefined : Not(req.user_id)
- // if you lack the right of self-deletion, you can't delete your own messages, even in purges
- },
- relations: ["author", "webhook", "application", "mentions", "mention_roles", "mention_channels", "sticker_items", "attachments"]
- };
-
-
- const messages = await Message.find(query);
- const endpoint = Config.get().cdn.endpointPublic;
-
- if (messages.length == 0) {
- res.sendStatus(304);
- return;
- }
-
- await Message.delete(messages.map((x) => ({ id: x })));
-
- await emitEvent({
- event: "MESSAGE_DELETE_BULK",
- channel_id,
- data: { ids: messages.map(x => x.id), channel_id, guild_id: channel.guild_id }
- } as MessageDeleteBulkEvent);
-
- res.sendStatus(204);
-});
diff --git a/api/src/routes/discoverable-guilds.ts b/api/src/routes/discoverable-guilds.ts
deleted file mode 100644
index 0aa2baa9..00000000
--- a/api/src/routes/discoverable-guilds.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Guild, Config } from "@fosscord/util";
-
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
-
-const router = Router();
-
-router.get("/", route({}), async (req: Request, res: Response) => {
- const { offset, limit, categories } = req.query;
- var showAllGuilds = Config.get().guild.discovery.showAllGuilds;
- var configLimit = Config.get().guild.discovery.limit;
- // ! this only works using SQL querys
- // TODO: implement this with default typeorm query
- // const guilds = await Guild.find({ where: { features: "DISCOVERABLE" } }); //, take: Math.abs(Number(limit)) });
- let guilds;
- if (categories == undefined) {
- guilds = showAllGuilds
- ? await Guild.find({ take: Math.abs(Number(limit || configLimit)) })
- : await Guild.find({ where: `"features" LIKE '%DISCOVERABLE%'`, take: Math.abs(Number(limit || configLimit)) });
- } else {
- guilds = showAllGuilds
- ? await Guild.find({ where: `"primary_category_id" = ${categories}`, take: Math.abs(Number(limit || configLimit)) })
- : await Guild.find({
- where: `"primary_category_id" = ${categories} AND "features" LIKE '%DISCOVERABLE%'`,
- take: Math.abs(Number(limit || configLimit))
- });
- }
-
- const total = guilds ? guilds.length : undefined;
-
- res.send({ total: total, guilds: guilds, offset: Number(offset || Config.get().guild.discovery.offset), limit: Number(limit || configLimit) });
-});
-
-export default router;
diff --git a/api/src/routes/downloads.ts b/api/src/routes/downloads.ts
deleted file mode 100644
index ddfc080c..00000000
--- a/api/src/routes/downloads.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Router, Response, Request } from "express";
-import { route } from "@fosscord/api";
-import { Release, Config } from "@fosscord/util";
-
-const router = Router();
-
-router.get("/:branch", route({}), async (req: Request, res: Response) => {
- const { client } = Config.get();
- const { branch } = req.params;
- const { platform } = req.query;
- //TODO
-
- if(!platform || !["linux", "osx", "win"].includes(platform.toString())) return res.status(404)
-
- const release = await Release.findOneOrFail({ name: client.releases.upstreamVersion });
-
- res.redirect(release[`win_url`]);
-});
-
-export default router;
diff --git a/api/src/routes/guilds/#guild_id/discovery-requirements.ts b/api/src/routes/guilds/#guild_id/discovery-requirements.ts
deleted file mode 100644
index ad20633f..00000000
--- a/api/src/routes/guilds/#guild_id/discovery-requirements.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Guild, Config } from "@fosscord/util";
-
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
-
-const router = Router();
-
-router.get("/", route({}), async (req: Request, res: Response) => {
- const { guild_id } = req.params;
- // TODO:
- // Load from database
- // Admin control, but for now it allows anyone to be discoverable
-
- res.send({
- guild_id: guild_id,
- safe_environment: true,
- healthy: true,
- health_score_pending: false,
- size: true,
- nsfw_properties: {},
- protected: true,
- sufficient: true,
- sufficient_without_grace_period: true,
- valid_rules_channel: true,
- retention_healthy: true,
- engagement_healthy: true,
- age: true,
- minimum_age: 0,
- health_score: {
- avg_nonnew_participators: 0,
- avg_nonnew_communicators: 0,
- num_intentful_joiners: 0,
- perc_ret_w1_intentful: 0
- },
- minimum_size: 0
- });
-});
-
-export default router;
diff --git a/api/src/routes/guilds/#guild_id/integrations.ts b/api/src/routes/guilds/#guild_id/integrations.ts
deleted file mode 100644
index abf997c9..00000000
--- a/api/src/routes/guilds/#guild_id/integrations.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Router, Response, Request } from "express";
-import { Channel, ChannelUpdateEvent, getPermission, emitEvent } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
-import { route } from "@fosscord/api";
-import { ChannelModifySchema } from "../../channels/#channel_id";
-const router = Router();
-
-//TODO: implement integrations list
-router.get("/", route({}), async (req: Request, res: Response) => {
- res.json([]);
-});
-export default router;
diff --git a/api/src/routes/guilds/#guild_id/webhooks.ts b/api/src/routes/guilds/#guild_id/webhooks.ts
deleted file mode 100644
index 8b2febea..00000000
--- a/api/src/routes/guilds/#guild_id/webhooks.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Router, Response, Request } from "express";
-import { Channel, ChannelUpdateEvent, getPermission, emitEvent } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
-import { route } from "@fosscord/api";
-import { ChannelModifySchema } from "../../channels/#channel_id";
-const router = Router();
-
-//TODO: implement webhooks
-router.get("/", route({}), async (req: Request, res: Response) => {
- res.json([]);
-});
-export default router;
diff --git a/api/src/routes/partners/#guild_id/requirements.ts b/api/src/routes/partners/#guild_id/requirements.ts
deleted file mode 100644
index 545c5c78..00000000
--- a/api/src/routes/partners/#guild_id/requirements.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-
-import { Guild, Config } from "@fosscord/util";
-
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
-
-const router = Router();
-
-router.get("/", route({}), async (req: Request, res: Response) => {
- const { guild_id } = req.params;
- // TODO:
- // Load from database
- // Admin control, but for now it allows anyone to be discoverable
-
- res.send({
- guild_id: guild_id,
- safe_environment: true,
- healthy: true,
- health_score_pending: false,
- size: true,
- nsfw_properties: {},
- protected: true,
- sufficient: true,
- sufficient_without_grace_period: true,
- valid_rules_channel: true,
- retention_healthy: true,
- engagement_healthy: true,
- age: true,
- minimum_age: 0,
- health_score: {
- avg_nonnew_participators: 0,
- avg_nonnew_communicators: 0,
- num_intentful_joiners: 0,
- perc_ret_w1_intentful: 0
- },
- minimum_size: 0
- });
-});
-
-export default router;
diff --git a/api/src/routes/policies/instance/domains.ts b/api/src/routes/policies/instance/domains.ts
deleted file mode 100644
index 20cd07ba..00000000
--- a/api/src/routes/policies/instance/domains.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
-import { Config } from "@fosscord/util";
-import { config } from "dotenv"
-const router = Router();
-
-router.get("/",route({}), async (req: Request, res: Response) => {
- const { cdn, gateway } = Config.get();
-
- const IdentityForm = {
- cdn: cdn.endpointPublic || process.env.CDN || "http://localhost:3001",
- gateway: gateway.endpointPublic || process.env.GATEWAY || "ws://localhost:3002"
- };
-
- res.json(IdentityForm);
-});
-
-export default router;
diff --git a/api/src/routes/scheduled-maintenances/upcoming_json.ts b/api/src/routes/scheduled-maintenances/upcoming_json.ts
deleted file mode 100644
index 83092e44..00000000
--- a/api/src/routes/scheduled-maintenances/upcoming_json.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
-const router = Router();
-
-router.get("/scheduled-maintenances/upcoming.json",route({}), async (req: Request, res: Response) => {
- res.json({
- "page": {},
- "scheduled_maintenances": {}
- });
-});
-
-export default router;
diff --git a/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts b/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
deleted file mode 100644
index 723a5160..00000000
--- a/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-import { Request, Response, Router } from "express";
-import { route } from "@fosscord/api";
-
-const router: Router = Router();
-
-const skus = new Map([
- [
- "521842865731534868",
- [
- {
- id: "511651856145973248",
- name: "Premium Monthly (Legacy)",
- interval: 1,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "521842865731534868",
- currency: "usd",
- price: 0,
- price_tier: null
- },
- {
- id: "511651860671627264",
- name: "Premium Yearly (Legacy)",
- interval: 2,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "521842865731534868",
- currency: "usd",
- price: 0,
- price_tier: null
- }
- ]
- ],
- [
- "521846918637420545",
- [
- {
- id: "511651871736201216",
- name: "Premium Classic Monthly",
- interval: 1,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "521846918637420545",
- currency: "usd",
- price: 0,
- price_tier: null
- },
- {
- id: "511651876987469824",
- name: "Premium Classic Yearly",
- interval: 2,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "521846918637420545",
- currency: "usd",
- price: 0,
- price_tier: null
- }
- ]
- ],
- [
- "521847234246082599",
- [
- {
- id: "642251038925127690",
- name: "Premium Quarterly",
- interval: 1,
- interval_count: 3,
- tax_inclusive: true,
- sku_id: "521847234246082599",
- currency: "usd",
- price: 0,
- price_tier: null
- },
- {
- id: "511651880837840896",
- name: "Premium Monthly",
- interval: 1,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "521847234246082599",
- currency: "usd",
- price: 0,
- price_tier: null
- },
- {
- id: "511651885459963904",
- name: "Premium Yearly",
- interval: 2,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "521847234246082599",
- currency: "usd",
- price: 0,
- price_tier: null
- }
- ]
- ],
- [
- "590663762298667008",
- [
- {
- id: "590665532894740483",
- name: "Server Boost Monthly",
- interval: 1,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "590663762298667008",
- discount_price: 0,
- currency: "usd",
- price: 0,
- price_tier: null
- },
- {
- id: "590665538238152709",
- name: "Server Boost Yearly",
- interval: 2,
- interval_count: 1,
- tax_inclusive: true,
- sku_id: "590663762298667008",
- discount_price: 0,
- currency: "usd",
- price: 0,
- price_tier: null
- }
- ]
- ]
-]);
-
-router.get("/", route({}), async (req: Request, res: Response) => {
- // TODO: add the ability to add custom
- const { sku_id } = req.params;
-
- if (!skus.has(sku_id)) {
- console.log(`Request for invalid SKU ${sku_id}! Please report this!`);
- res.sendStatus(404);
- } else {
- res.json(skus.get(sku_id)).status(200);
- }
-});
-
-export default router;
diff --git a/api/src/routes/updates.ts b/api/src/routes/updates.ts
deleted file mode 100644
index cb4577c8..00000000
--- a/api/src/routes/updates.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Router, Response, Request } from "express";
-import { route } from "@fosscord/api";
-import { Config, Release } from "@fosscord/util";
-
-const router = Router();
-
-router.get("/", route({}), async (req: Request, res: Response) => {
- const { client } = Config.get();
-
- const release = await Release.findOneOrFail({ name: client.releases.upstreamVersion})
-
- res.json({
- name: release.name,
- pub_date: release.pub_date,
- url: release.url,
- notes: release.notes
- });
-});
-
-export default router;
diff --git a/api/src/routes/users/#id/profile.ts b/api/src/routes/users/#id/profile.ts
deleted file mode 100644
index 4dbb84cf..00000000
--- a/api/src/routes/users/#id/profile.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { Router, Request, Response } from "express";
-import { PublicConnectedAccount, PublicUser, User, UserPublic, Member } from "@fosscord/util";
-import { route } from "@fosscord/api";
-
-const router: Router = Router();
-
-export interface UserProfileResponse {
- user: UserPublic;
- connected_accounts: PublicConnectedAccount;
- premium_guild_since?: Date;
- premium_since?: Date;
-}
-
-router.get("/", route({ test: { response: { body: "UserProfileResponse" } } }), async (req: Request, res: Response) => {
- if (req.params.id === "@me") req.params.id = req.user_id;
- const user = await User.getPublicUser(req.params.id, { relations: ["connected_accounts"] });
-
- var mutual_guilds: object[] = [];
- var premium_guild_since;
- const requested_member = await Member.find( { id: req.params.id, })
- const self_member = await Member.find( { id: req.user_id, })
-
- for(const rmem of requested_member) {
- if(rmem.premium_since) {
- if(premium_guild_since){
- if(premium_guild_since > rmem.premium_since) {
- premium_guild_since = rmem.premium_since;
- }
- } else {
- premium_guild_since = rmem.premium_since;
- }
- }
- for(const smem of self_member) {
- if (smem.guild_id === rmem.guild_id) {
- mutual_guilds.push({id: rmem.guild_id, nick: rmem.nick})
- }
- }
- }
- res.json({
- connected_accounts: user.connected_accounts,
- premium_guild_since: premium_guild_since, // TODO
- premium_since: user.premium_since, // TODO
- mutual_guilds: mutual_guilds, // TODO {id: "", nick: null} when ?with_mutual_guilds=true
- user: {
- username: user.username,
- discriminator: user.discriminator,
- id: user.id,
- public_flags: user.public_flags,
- avatar: user.avatar,
- accent_color: user.accent_color,
- banner: user.banner,
- bio: req.user_bot ? null : user.bio,
- bot: user.bot
- }
- });
-});
-
-export default router;
diff --git a/api/src/routes/users/#id/relationships.ts b/api/src/routes/users/#id/relationships.ts
deleted file mode 100644
index de7cb9d3..00000000
--- a/api/src/routes/users/#id/relationships.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Router, Request, Response } from "express";
-import { User } from "@fosscord/util";
-import { route } from "@fosscord/api";
-
-const router: Router = Router();
-
-export interface UserRelationsResponse {
- object: {
- id?: string,
- username?: string,
- avatar?: string,
- discriminator?: string,
- public_flags?: number
- }
-}
-
-
-router.get("/", route({ test: { response: { body: "UserRelationsResponse" } } }), async (req: Request, res: Response) => {
- var mutual_relations: object[] = [];
- const requested_relations = await User.findOneOrFail({
- where: { id: req.params.id },
- relations: ["relationships"]
- });
- const self_relations = await User.findOneOrFail({
- where: { id: req.user_id },
- relations: ["relationships"]
- });
-
- for(const rmem of requested_relations.relationships) {
- for(const smem of self_relations.relationships)
- if (rmem.to_id === smem.to_id && rmem.type === 1 && rmem.to_id !== req.user_id) {
- var relation_user = await User.getPublicUser(rmem.to_id)
-
- mutual_relations.push({id: relation_user.id, username: relation_user.username, avatar: relation_user.avatar, discriminator: relation_user.discriminator, public_flags: relation_user.public_flags})
- }
- }
-
- res.json(mutual_relations)
-});
-
-export default router;
diff --git a/api/src/routes/users/@me/notes.ts b/api/src/routes/users/@me/notes.ts
deleted file mode 100644
index 4887b191..00000000
--- a/api/src/routes/users/@me/notes.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Request, Response, Router } from "express";
-import { route } from "@fosscord/api";
-import { User, emitEvent } from "@fosscord/util";
-
-const router: Router = Router();
-
-router.get("/:id", route({}), async (req: Request, res: Response) => {
- const { id } = req.params;
- const user = await User.findOneOrFail({ where: { id: req.user_id }, select: ["notes"] });
-
- const note = user.notes[id];
- return res.json({
- note: note,
- note_user_id: id,
- user_id: user.id,
- });
-});
-
-router.put("/:id", route({}), async (req: Request, res: Response) => {
- const { id } = req.params;
- const user = await User.findOneOrFail({ where: { id: req.user_id } });
- const noteUser = await User.findOneOrFail({ where: { id: id }}); //if noted user does not exist throw
- const { note } = req.body;
-
- await User.update({ id: req.user_id }, { notes: { ...user.notes, [noteUser.id]: note } });
-
- await emitEvent({
- event: "USER_NOTE_UPDATE",
- data: {
- note: note,
- id: noteUser.id
- },
- user_id: user.id,
- })
-
- return res.status(204);
-});
-
-export default router;
diff --git a/api/client_test/developers.html b/assets/developers.html
index 2a4402d7..b33009dd 100644
--- a/api/client_test/developers.html
+++ b/assets/developers.html
@@ -25,7 +25,7 @@
RELEASE_CHANNEL: "stable",
ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
};
- GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
+ GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
const localStorage = window.localStorage;
// TODO: remote auth
// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
@@ -35,8 +35,8 @@
`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
);
</script>
- <script src="/assets/41fde19fdf180f3d4315.js" integrity=""></script>
- <script src="/assets/7b04a3ab10e05dd9054e.js" integrity=""></script>
- <script src="/assets/d1f811da193e5648048b.js" integrity=""></script>
+ <script src="/assets/38f40c32d3c8a2fdf73b.js" integrity=""></script>
+ <script src="/assets/aa190934324e05fcc35c.js" integrity=""></script>
+ <script src="/assets/45664a0209e828a528b4.js" integrity=""></script>
</body>
</html>
diff --git a/api/assets/dff87c953f43b561d71fbcfe8a93a79a.png b/assets/dff87c953f43b561d71fbcfe8a93a79a.png
index e69de29b..e69de29b 100644
--- a/api/assets/dff87c953f43b561d71fbcfe8a93a79a.png
+++ b/assets/dff87c953f43b561d71fbcfe8a93a79a.png
diff --git a/api/assets/endpoints.json b/assets/endpoints.json
index 8b0514ce..8b0514ce 100644
--- a/api/assets/endpoints.json
+++ b/assets/endpoints.json
diff --git a/api/assets/features.json b/assets/features.json
index 05a858a0..05a858a0 100644
--- a/api/assets/features.json
+++ b/assets/features.json
diff --git a/api/assets/fosscord-login.css b/assets/fosscord-login.css
index d507c545..975bf908 100644
--- a/api/assets/fosscord-login.css
+++ b/assets/fosscord-login.css
@@ -1,12 +1,12 @@
/* replace tos acceptance popup */
#app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK {
- visibility: hidden;
+ visibility: hidden;
}
-#app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK::after{
- visibility: visible;
- display: block;
- content: "You need to agree to this instance's rules to continue";
- margin-top: -32px;
+#app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK::after {
+ visibility: visible;
+ display: block;
+ content: "You need to agree to this instance's rules to continue";
+ margin-top: -32px;
}
/* replace login header */
#app-mount > div.app-1q1i1E > div > div > div > div > form > div > div > div.mainLoginContainer-1ddwnR > h3 {
diff --git a/api/assets/fosscord.css b/assets/fosscord.css
index 6078fdeb..fa503d39 100644
--- a/api/assets/fosscord.css
+++ b/assets/fosscord.css
@@ -1,4 +1,3 @@
-
/* loading spinner */
#app-mount > div.app-1q1i1E > div.container-16j22k.fixClipping-3qAKRb > div.content-1-zrf2 > video {
filter: opacity(1);
@@ -11,14 +10,62 @@
}
/* home button icon */
-#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div
-{
- background-image: url(https://raw.githubusercontent.com/fosscord/fosscord/master/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg);
- background-size: contain;
- border-radius: 50%;
+#app-mount
+ > div.app-1q1i1E
+ > div
+ > div.layers-3iHuyZ.layers-3q14ss
+ > div
+ > div
+ > nav
+ > ul
+ > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih
+ > div.tutorialContainer-2sGCg9
+ > div
+ > div.listItemWrapper-KhRmzM
+ > div
+ > svg
+ > foreignObject
+ > div
+ > div {
+ background-image: url(https://raw.githubusercontent.com/fosscord/fosscord/master/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg);
+ background-size: contain;
+ border-radius: 50%;
}
-#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div, #app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div:hover {
+#app-mount
+ > div.app-1q1i1E
+ > div
+ > div.layers-3iHuyZ.layers-3q14ss
+ > div
+ > div
+ > nav
+ > ul
+ > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih
+ > div.tutorialContainer-2sGCg9
+ > div
+ > div.listItemWrapper-KhRmzM
+ > div
+ > svg
+ > foreignObject
+ > div
+ > div,
+#app-mount
+ > div.app-1q1i1E
+ > div
+ > div.layers-3iHuyZ.layers-3q14ss
+ > div
+ > div
+ > nav
+ > ul
+ > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih
+ > div.tutorialContainer-2sGCg9
+ > div
+ > div.listItemWrapper-KhRmzM
+ > div
+ > svg
+ > foreignObject
+ > div
+ > div:hover {
background-color: white;
}
/* Login QR */
@@ -40,7 +87,6 @@
/* Thread permissions etc popups */
#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > div > div.content-98HsJk > div.sidebar-2K8pFh.hasNotice-1XRy4h > nav > div.container-3O_wAf,
/* home button icon */
-#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div > svg
-{
- display: none;
-}
\ No newline at end of file
+#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div > svg {
+ display: none;
+}
diff --git a/api/client_test/index.html b/assets/index.html
index b438b492..1d4e4543 100644
--- a/api/client_test/index.html
+++ b/assets/index.html
@@ -7,6 +7,7 @@
<link rel="stylesheet" href="/assets/fosscord.css" />
<link id="logincss" rel="stylesheet" href="/assets/fosscord-login.css" />
<link id="customcss" rel="stylesheet" href="/assets/user.css" />
+ <!-- inline plugin marker -->
<!-- preload plugin marker -->
</head>
@@ -18,7 +19,7 @@
window.GLOBAL_ENV = {
API_ENDPOINT: "/api",
API_VERSION: 9,
- GATEWAY_ENDPOINT: `${location.protocol === "https:" ? "wss://" : "ws://"}${location.hostname}:3002`,
+ GATEWAY_ENDPOINT: `${location.protocol === "https:" ? "wss://" : "ws://"}${location.host}`,
WEBAPP_ENDPOINT: "",
CDN_HOST: `${location.hostname}:3003`,
ASSET_ENDPOINT: "",
@@ -33,6 +34,7 @@
STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
NETWORKING_ENDPOINT: "//router.discordapp.net",
RTC_LATENCY_ENDPOINT: "//${location.hostname}/rtc",
+ ACTIVITY_APPLICATION_HOST: "discordsays.com",
PROJECT_ENV: "production",
REMOTE_AUTH_ENDPOINT: "//localhost:3020",
SENTRY_TAGS: { buildId: "75e36d9", buildType: "normal" },
@@ -52,16 +54,16 @@
);
setInterval(() => {
- var token = JSON.parse(localStorage.getItem("token"));
+ let token = JSON.parse(localStorage.getItem("token"));
if (token) {
- var logincss = document.querySelector('#logincss'),
- canRemove = logincss ? logincss: "";
- if(canRemove !== "") {
- document.querySelector("#logincss").remove();
- canRemove = "";
+ let logincss = document.querySelector("#logincss"),
+ canRemove = logincss ? logincss : "";
+ if (canRemove !== "") {
+ document.querySelector("#logincss").remove();
+ canRemove = "";
}
}
- }, 1000)
+ }, 1000);
const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
if (settings && settings.locale.length <= 2) {
@@ -70,11 +72,11 @@
localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
}
</script>
- <script src="/assets/checkLocale.js"></script>
- <script src="/assets/1e18f2aac02e172db283.js"></script>
- <script src="/assets/681e53cdfefa5b82249a.js"></script>
- <script src="/assets/7a036838c0a0e73f59d8.js"></script>
- <script src="/assets/b6cf2184a7a05e7525ce.js"></script>
+ <script src="/assets/checkLocale.js"></script>
+ <script src="/assets/2f2e0c25e45eb2f5a6f1.js"></script>
+ <script src="/assets/006e72c08a4c69cb66fc.js"></script>
+ <script src="/assets/2f94a3ba801087653a38.js"></script>
+ <script src="/assets/f7703f092bdbfc607cc7.js"></script>
<!-- plugin marker -->
</body>
</html>
diff --git a/api/assets/preload-plugins/autoRegister.js b/assets/inline-plugins/autoRegister.js
index bb0b903d..7bca39f8 100644
--- a/api/assets/preload-plugins/autoRegister.js
+++ b/assets/inline-plugins/autoRegister.js
@@ -44,7 +44,7 @@ function _generateName() {
return `${prefix.random()}${suffix.random()}`;
}
-var token = JSON.parse(localStorage.getItem("token"));
+let token = JSON.parse(localStorage.getItem("token"));
if (!token && location.pathname !== "/login" && location.pathname !== "/register") {
fetch(`${window.GLOBAL_ENV.API_ENDPOINT}/auth/register`, {
method: "POST",
diff --git a/api/assets/preload-plugins/fosscord-login.js b/assets/inline-plugins/fosscord-login.js
index 38f82200..9191dad4 100644
--- a/api/assets/preload-plugins/fosscord-login.js
+++ b/assets/inline-plugins/fosscord-login.js
@@ -6,7 +6,7 @@
// fosscord-login.css after login is successful, but not if you reload the page after logging in. This script is to remove fosscord-login.css in
// that specific case.
-var token = JSON.parse(localStorage.getItem("token"));
+let token = JSON.parse(localStorage.getItem("token"));
if (!token && location.pathname !== "/login" && location.pathname !== "/register") {
document.getElementById("logincss").remove();
}
diff --git a/api/locales/be/auth.json b/assets/locales/af/auth.json
index e19547a0..a78d4d60 100644
--- a/api/locales/be/auth.json
+++ b/assets/locales/af/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
+ "ACCOUNT_DISABLED": "This account is disabled",
+ "INVALID_TOTP_CODE": "Invalid two-factor code.",
+ "INVALID_TOTP_SECRET": "Invalid two-factor secret."
},
"register": {
"REGISTRATION_DISABLED": "New user registration is disabled",
diff --git a/api/locales/af/common.json b/assets/locales/af/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/af/common.json
+++ b/assets/locales/af/common.json
diff --git a/api/locales/az/auth.json b/assets/locales/ar/auth.json
index e19547a0..a78d4d60 100644
--- a/api/locales/az/auth.json
+++ b/assets/locales/ar/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
+ "ACCOUNT_DISABLED": "This account is disabled",
+ "INVALID_TOTP_CODE": "Invalid two-factor code.",
+ "INVALID_TOTP_SECRET": "Invalid two-factor secret."
},
"register": {
"REGISTRATION_DISABLED": "New user registration is disabled",
diff --git a/api/locales/ar/common.json b/assets/locales/ar/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ar/common.json
+++ b/assets/locales/ar/common.json
diff --git a/api/locales/af/auth.json b/assets/locales/arn/auth.json
index e19547a0..e19547a0 100644
--- a/api/locales/af/auth.json
+++ b/assets/locales/arn/auth.json
diff --git a/api/locales/arn/common.json b/assets/locales/arn/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/arn/common.json
+++ b/assets/locales/arn/common.json
diff --git a/api/locales/arn/auth.json b/assets/locales/az/auth.json
index e19547a0..a78d4d60 100644
--- a/api/locales/arn/auth.json
+++ b/assets/locales/az/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
+ "ACCOUNT_DISABLED": "This account is disabled",
+ "INVALID_TOTP_CODE": "Invalid two-factor code.",
+ "INVALID_TOTP_SECRET": "Invalid two-factor secret."
},
"register": {
"REGISTRATION_DISABLED": "New user registration is disabled",
diff --git a/api/locales/az/common.json b/assets/locales/az/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/az/common.json
+++ b/assets/locales/az/common.json
diff --git a/api/locales/zh/common.json b/assets/locales/be/common.json
index 8bb9c042..09be0d40 100644
--- a/api/locales/zh/common.json
+++ b/assets/locales/be/common.json
@@ -1,9 +1,9 @@
{
"field": {
- "BASE_TYPE_REQUIRED": "This field is required",
- "BASE_TYPE_STRING": "This field must be a string",
- "BASE_TYPE_NUMBER": "This field must be a number",
- "BASE_TYPE_BIGINT": "This field must be a bigint",
+ "BASE_TYPE_REQUIRED": "Гэта поле з'яўляецца абавязковым",
+ "BASE_TYPE_STRING": "Гэта поле павінна быць радком",
+ "BASE_TYPE_NUMBER": "Гэта поле павінна быць лікам",
+ "BASE_TYPE_BIGINT": "Гэта поле павінна быць bigint",
"BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
diff --git a/api/locales/ar/auth.json b/assets/locales/ber/auth.json
index e19547a0..a78d4d60 100644
--- a/api/locales/ar/auth.json
+++ b/assets/locales/ber/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Invalid Password",
- "ACCOUNT_DISABLED": "This account is disabled"
+ "ACCOUNT_DISABLED": "This account is disabled",
+ "INVALID_TOTP_CODE": "Invalid two-factor code.",
+ "INVALID_TOTP_SECRET": "Invalid two-factor secret."
},
"register": {
"REGISTRATION_DISABLED": "New user registration is disabled",
diff --git a/api/locales/be/common.json b/assets/locales/ber/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/be/common.json
+++ b/assets/locales/ber/common.json
diff --git a/api/locales/ber/common.json b/assets/locales/bg/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ber/common.json
+++ b/assets/locales/bg/common.json
diff --git a/api/locales/bg/common.json b/assets/locales/bo/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/bg/common.json
+++ b/assets/locales/bo/common.json
diff --git a/api/locales/bo/common.json b/assets/locales/ca/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/bo/common.json
+++ b/assets/locales/ca/common.json
diff --git a/api/locales/ca/common.json b/assets/locales/cs/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ca/common.json
+++ b/assets/locales/cs/common.json
diff --git a/api/locales/cs/common.json b/assets/locales/da/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/cs/common.json
+++ b/assets/locales/da/common.json
diff --git a/api/locales/da/common.json b/assets/locales/el/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/da/common.json
+++ b/assets/locales/el/common.json
diff --git a/api/locales/de/common.json b/assets/locales/en/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/de/common.json
+++ b/assets/locales/en/common.json
diff --git a/api/locales/el/common.json b/assets/locales/eo/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/el/common.json
+++ b/assets/locales/eo/common.json
diff --git a/api/locales/en/common.json b/assets/locales/es/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/en/common.json
+++ b/assets/locales/es/common.json
diff --git a/api/locales/eo/common.json b/assets/locales/eu/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/eo/common.json
+++ b/assets/locales/eu/common.json
diff --git a/api/locales/es/common.json b/assets/locales/fa/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/es/common.json
+++ b/assets/locales/fa/common.json
diff --git a/api/locales/eu/common.json b/assets/locales/fi/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/eu/common.json
+++ b/assets/locales/fi/common.json
diff --git a/api/locales/fa/common.json b/assets/locales/fr/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/fa/common.json
+++ b/assets/locales/fr/common.json
diff --git a/api/locales/fi/common.json b/assets/locales/gn/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/fi/common.json
+++ b/assets/locales/gn/common.json
diff --git a/api/locales/fr/common.json b/assets/locales/ha/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/fr/common.json
+++ b/assets/locales/ha/common.json
diff --git a/api/locales/gn/common.json b/assets/locales/hi/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/gn/common.json
+++ b/assets/locales/hi/common.json
diff --git a/api/locales/ha/common.json b/assets/locales/hr/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ha/common.json
+++ b/assets/locales/hr/common.json
diff --git a/api/locales/hi/common.json b/assets/locales/hu/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/hi/common.json
+++ b/assets/locales/hu/common.json
diff --git a/api/locales/hr/common.json b/assets/locales/id/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/hr/common.json
+++ b/assets/locales/id/common.json
diff --git a/api/locales/hu/common.json b/assets/locales/it/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/hu/common.json
+++ b/assets/locales/it/common.json
diff --git a/api/locales/id/common.json b/assets/locales/ja/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/id/common.json
+++ b/assets/locales/ja/common.json
diff --git a/api/locales/it/common.json b/assets/locales/jv/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/it/common.json
+++ b/assets/locales/jv/common.json
diff --git a/api/locales/ja/common.json b/assets/locales/kk/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ja/common.json
+++ b/assets/locales/kk/common.json
diff --git a/api/locales/jv/common.json b/assets/locales/ko/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/jv/common.json
+++ b/assets/locales/ko/common.json
diff --git a/api/locales/kk/common.json b/assets/locales/ku/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/kk/common.json
+++ b/assets/locales/ku/common.json
diff --git a/api/locales/ko/common.json b/assets/locales/la/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ko/common.json
+++ b/assets/locales/la/common.json
diff --git a/api/locales/ku/common.json b/assets/locales/lt/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ku/common.json
+++ b/assets/locales/lt/common.json
diff --git a/api/locales/la/common.json b/assets/locales/mi/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/la/common.json
+++ b/assets/locales/mi/common.json
diff --git a/api/locales/lt/common.json b/assets/locales/mn/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/lt/common.json
+++ b/assets/locales/mn/common.json
diff --git a/api/locales/mi/common.json b/assets/locales/mr/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/mi/common.json
+++ b/assets/locales/mr/common.json
diff --git a/api/locales/mn/common.json b/assets/locales/nn/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/mn/common.json
+++ b/assets/locales/nn/common.json
diff --git a/api/locales/mr/common.json b/assets/locales/no/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/mr/common.json
+++ b/assets/locales/no/common.json
diff --git a/api/locales/nl/common.json b/assets/locales/pa/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/nl/common.json
+++ b/assets/locales/pa/common.json
diff --git a/api/locales/pl/auth.json b/assets/locales/pl/auth.json
index 711cb4d7..ff17f237 100644
--- a/api/locales/pl/auth.json
+++ b/assets/locales/pl/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "E-mail lub numer telefonu nie został znaleziony",
"INVALID_PASSWORD": "Nieprawidłowe hasło",
- "ACCOUNT_DISABLED": "To konto jest nieaktywne"
+ "ACCOUNT_DISABLED": "To konto jest nieaktywne",
+ "INVALID_TOTP_CODE": "Invalid two-factor code.",
+ "INVALID_TOTP_SECRET": "Invalid two-factor secret."
},
"register": {
"REGISTRATION_DISABLED": "Rejestracja nowych użytkowników jest wyłączona",
diff --git a/api/locales/pl/common.json b/assets/locales/pl/common.json
index 98c0906b..98c0906b 100644
--- a/api/locales/pl/common.json
+++ b/assets/locales/pl/common.json
diff --git a/api/locales/nn/common.json b/assets/locales/pt/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/nn/common.json
+++ b/assets/locales/pt/common.json
diff --git a/api/locales/no/common.json b/assets/locales/qu/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/no/common.json
+++ b/assets/locales/qu/common.json
diff --git a/api/locales/pa/common.json b/assets/locales/ro/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/pa/common.json
+++ b/assets/locales/ro/common.json
diff --git a/api/locales/ru/auth.json b/assets/locales/ru/auth.json
index 39a75b61..7967e238 100644
--- a/api/locales/ru/auth.json
+++ b/assets/locales/ru/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "Данный адрес электронной почты или телефона не найден",
"INVALID_PASSWORD": "Неверный пароль",
- "ACCOUNT_DISABLED": "Этот аккаунт отключён"
+ "ACCOUNT_DISABLED": "Этот аккаунт отключён",
+ "INVALID_TOTP_CODE": "Неверный код двухфакторной аутентификации.",
+ "INVALID_TOTP_SECRET": "Неверный секретный код двухфакторной аутентификации."
},
"register": {
"REGISTRATION_DISABLED": "Регистрация новых пользователей отключена",
diff --git a/api/locales/pt/common.json b/assets/locales/sh/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/pt/common.json
+++ b/assets/locales/sh/common.json
diff --git a/api/locales/qu/common.json b/assets/locales/si/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/qu/common.json
+++ b/assets/locales/si/common.json
diff --git a/api/locales/ro/common.json b/assets/locales/sk/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ro/common.json
+++ b/assets/locales/sk/common.json
diff --git a/api/locales/sh/common.json b/assets/locales/sr/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/sh/common.json
+++ b/assets/locales/sr/common.json
diff --git a/api/locales/sv/auth.json b/assets/locales/sv/auth.json
index 04e55752..573e685d 100644
--- a/api/locales/sv/auth.json
+++ b/assets/locales/sv/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "E-post eller telefon hittades inte",
"INVALID_PASSWORD": "Ogiltigt lösenord",
- "ACCOUNT_DISABLED": "Detta konto är inaktiverat"
+ "ACCOUNT_DISABLED": "Detta konto är inaktiverat",
+ "INVALID_TOTP_CODE": "Invalid two-factor code.",
+ "INVALID_TOTP_SECRET": "Invalid two-factor secret."
},
"register": {
"REGISTRATION_DISABLED": "Registrering av nya användare är inaktiverat",
diff --git a/api/locales/sv/common.json b/assets/locales/sv/common.json
index 56c02a64..56c02a64 100644
--- a/api/locales/sv/common.json
+++ b/assets/locales/sv/common.json
diff --git a/api/locales/si/common.json b/assets/locales/sw/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/si/common.json
+++ b/assets/locales/sw/common.json
diff --git a/api/locales/sk/common.json b/assets/locales/ta/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/sk/common.json
+++ b/assets/locales/ta/common.json
diff --git a/api/locales/sr/common.json b/assets/locales/te/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/sr/common.json
+++ b/assets/locales/te/common.json
diff --git a/api/locales/sw/common.json b/assets/locales/tl/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/sw/common.json
+++ b/assets/locales/tl/common.json
diff --git a/api/locales/tr/auth.json b/assets/locales/tr/auth.json
index 1b3c4a8f..670f07e3 100644
--- a/api/locales/tr/auth.json
+++ b/assets/locales/tr/auth.json
@@ -2,7 +2,9 @@
"login": {
"INVALID_LOGIN": "E-posta veya Telefon Numarası bulunamadı",
"INVALID_PASSWORD": "Geçersiz Şifre",
- "ACCOUNT_DISABLED": "Bu hesap devre dışı bırakıldı"
+ "ACCOUNT_DISABLED": "Bu hesap devre dışı bırakıldı",
+ "INVALID_TOTP_CODE": "Invalid two-factor code.",
+ "INVALID_TOTP_SECRET": "Invalid two-factor secret."
},
"register": {
"REGISTRATION_DISABLED": "Yeni kullanıcı alımı devre dışı bırakıldı",
diff --git a/api/locales/tr/common.json b/assets/locales/tr/common.json
index 1f99c1d5..1f99c1d5 100644
--- a/api/locales/tr/common.json
+++ b/assets/locales/tr/common.json
diff --git a/api/locales/ta/common.json b/assets/locales/ug/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ta/common.json
+++ b/assets/locales/ug/common.json
diff --git a/api/locales/te/common.json b/assets/locales/uk/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/te/common.json
+++ b/assets/locales/uk/common.json
diff --git a/api/locales/tl/common.json b/assets/locales/ur/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/tl/common.json
+++ b/assets/locales/ur/common.json
diff --git a/api/locales/ug/common.json b/assets/locales/vec/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ug/common.json
+++ b/assets/locales/vec/common.json
diff --git a/api/locales/uk/common.json b/assets/locales/vi/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/uk/common.json
+++ b/assets/locales/vi/common.json
diff --git a/api/locales/ur/common.json b/assets/locales/zh/common.json
index 8bb9c042..8bb9c042 100644
--- a/api/locales/ur/common.json
+++ b/assets/locales/zh/common.json
diff --git a/api/assets/openapi.json b/assets/openapi.json
index a8a657b2..a8a657b2 100644
--- a/api/assets/openapi.json
+++ b/assets/openapi.json
diff --git a/api/assets/plugins/.gitkeep b/assets/plugins/.gitkeep
index e69de29b..e69de29b 100644
--- a/api/assets/plugins/.gitkeep
+++ b/assets/plugins/.gitkeep
diff --git a/api/assets/widget/banner1.png b/assets/widget/banner1.png
index ed9bd5c0..ed9bd5c0 100644
--- a/api/assets/widget/banner1.png
+++ b/assets/widget/banner1.png
Binary files differdiff --git a/api/assets/widget/banner2.png b/assets/widget/banner2.png
index 90d3713d..90d3713d 100644
--- a/api/assets/widget/banner2.png
+++ b/assets/widget/banner2.png
Binary files differdiff --git a/api/assets/widget/banner3.png b/assets/widget/banner3.png
index 22351898..22351898 100644
--- a/api/assets/widget/banner3.png
+++ b/assets/widget/banner3.png
Binary files differdiff --git a/api/assets/widget/banner4.png b/assets/widget/banner4.png
index e6bd7b6f..e6bd7b6f 100644
--- a/api/assets/widget/banner4.png
+++ b/assets/widget/banner4.png
Binary files differdiff --git a/api/assets/widget/shield.png b/assets/widget/shield.png
index 30277db2..30277db2 100644
--- a/api/assets/widget/shield.png
+++ b/assets/widget/shield.png
Binary files differdiff --git a/api/patches/typescript-json-schema+0.50.1.patch b/patches/typescript-json-schema+0.54.0.patch
index a0d479de..2a319ec4 100644
--- a/api/patches/typescript-json-schema+0.50.1.patch
+++ b/patches/typescript-json-schema+0.54.0.patch
@@ -1,14 +1,14 @@
diff --git a/node_modules/typescript-json-schema/dist/typescript-json-schema.js b/node_modules/typescript-json-schema/dist/typescript-json-schema.js
-index 47e1598..8397b9d 100644
+index 78f97ba..790c516 100644
--- a/node_modules/typescript-json-schema/dist/typescript-json-schema.js
+++ b/node_modules/typescript-json-schema/dist/typescript-json-schema.js
-@@ -432,6 +432,9 @@ var JsonSchemaGenerator = (function () {
+@@ -453,6 +453,9 @@ var JsonSchemaGenerator = (function () {
else if (flags & ts.TypeFlags.Boolean) {
definition.type = "boolean";
}
-+ else if (flags & ts.TypeFlags.BigInt) {
-+ definition.type = "bigint";
-+ }
++ else if (flags & ts.TypeFlags.BigInt) {
++ definition.type = "bigint";
++ }
else if (flags & ts.TypeFlags.Null) {
definition.type = "null";
}
diff --git a/api/scripts/droptables.sql b/scripts/droptables.sql
index 8a852048..8a852048 100644
--- a/api/scripts/droptables.sql
+++ b/scripts/droptables.sql
diff --git a/api/scripts/generate_openapi.js b/scripts/generate_openapi.js
index c9de9fa6..9624a5b9 100644
--- a/api/scripts/generate_openapi.js
+++ b/scripts/generate_openapi.js
@@ -11,7 +11,7 @@ const schemas = JSON.parse(fs.readFileSync(SchemaPath, { encoding: "utf8" }));
const specification = JSON.parse(fs.readFileSync(openapiPath, { encoding: "utf8" }));
function combineSchemas(schemas) {
- var definitions = {};
+ let definitions = {};
for (const name in schemas) {
definitions = {
diff --git a/api/scripts/generate_schema.js b/scripts/generate_schema.js
index b56c3fbc..e4bdd0c4 100644
--- a/api/scripts/generate_schema.js
+++ b/scripts/generate_schema.js
@@ -36,11 +36,11 @@ const Excluded = [
"UncheckedPropertiesSchema",
"PropertiesSchema",
"AsyncSchema",
- "AnySchema",
+ "AnySchema"
];
function modify(obj) {
- for (var k in obj) {
+ for (let k in obj) {
if (typeof obj[k] === "object" && obj[k] !== null) {
modify(obj[k]);
}
@@ -48,21 +48,15 @@ function modify(obj) {
}
function main() {
- const files = [
- ...walk(path.join(__dirname, "..", "src", "routes")),
- ...walk(path.join(__dirname, "..", "..", "util", "src")),
- ];
- const program = TJS.getProgramFromFiles(
- files,
- compilerOptions
- );
+ const files = [...walk(path.join(__dirname, "..", "src", "util", "schemas"))];
+ const program = TJS.getProgramFromFiles(files, compilerOptions);
const generator = TJS.buildGenerator(program, settings);
if (!generator || !program) return;
let schemas = generator.getUserSymbols().filter((x) => (x.endsWith("Schema") || x.endsWith("Response")) && !Excluded.includes(x));
console.log(schemas);
- var definitions = {};
+ let definitions = {};
for (const name of schemas) {
const part = TJS.generateSchema(program, name, settings, [], generator);
@@ -79,11 +73,11 @@ function main() {
main();
function walk(dir) {
- var results = [];
- var list = fs.readdirSync(dir);
+ let results = [];
+ let list = fs.readdirSync(dir);
list.forEach(function (file) {
file = dir + "/" + file;
- var stat = fs.statSync(file);
+ let stat = fs.statSync(file);
if (stat && stat.isDirectory()) {
/* Recurse into a subdirectory */
results = results.concat(walk(file));
diff --git a/api/scripts/stresstest/.gitignore b/scripts/stresstest/.gitignore
index bde26fd4..bde26fd4 100644
--- a/api/scripts/stresstest/.gitignore
+++ b/scripts/stresstest/.gitignore
diff --git a/api/scripts/stresstest/accounts.json.example b/scripts/stresstest/accounts.json.example
index 61904c5e..61904c5e 100644
--- a/api/scripts/stresstest/accounts.json.example
+++ b/scripts/stresstest/accounts.json.example
diff --git a/api/scripts/stresstest/config.json.example b/scripts/stresstest/config.json.example
index 73f52f05..73f52f05 100644
--- a/api/scripts/stresstest/config.json.example
+++ b/scripts/stresstest/config.json.example
diff --git a/api/scripts/stresstest/index.js b/scripts/stresstest/index.js
index a9a65097..740a9011 100644
--- a/api/scripts/stresstest/index.js
+++ b/scripts/stresstest/index.js
@@ -19,19 +19,19 @@ setInterval(() => {
getUsers();
}, 60 * 1000);
async function generate() {
- var accounts = await JSON.parse(fs.readFileSync("accounts.json"));
+ let accounts = await JSON.parse(fs.readFileSync("accounts.json"));
console.log(accounts);
- var account = await register();
+ let account = await register();
accounts.push(account);
fs.writeFileSync("accounts.json", JSON.stringify(accounts));
console.log(accounts.length);
- var y = await login(account);
+ let y = await login(account);
sendMessage(y);
}
async function getUsers() {
- var accounts = await JSON.parse(fs.readFileSync("accounts.json"));
+ let accounts = await JSON.parse(fs.readFileSync("accounts.json"));
accounts.forEach(async (x) => {
- var y = await login(x);
+ let y = await login(x);
console.log(y);
sendMessage(y);
});
diff --git a/api/scripts/stresstest/package-lock.json b/scripts/stresstest/package-lock.json
index 81c9b817..81c9b817 100644
--- a/api/scripts/stresstest/package-lock.json
+++ b/scripts/stresstest/package-lock.json
diff --git a/api/scripts/stresstest/package.json b/scripts/stresstest/package.json
index 8d94d05b..8d94d05b 100644
--- a/api/scripts/stresstest/package.json
+++ b/scripts/stresstest/package.json
diff --git a/api/scripts/stresstest/src/login/index.js b/scripts/stresstest/src/login/index.js
index bd9fea87..b153550e 100644
--- a/api/scripts/stresstest/src/login/index.js
+++ b/scripts/stresstest/src/login/index.js
@@ -1,14 +1,14 @@
const fetch = require("node-fetch");
const fs = require("fs");
-var config = require("./../../config.json");
+let config = require("../../config.json");
module.exports = login;
async function login(account) {
- var body = {
+ let body = {
fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw",
login: account.email,
password: account.password
};
- var x = await fetch(config.url + "/auth/login", {
+ let x = await fetch(config.url + "/auth/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(body)
diff --git a/api/scripts/stresstest/src/message/send.js b/scripts/stresstest/src/message/send.js
index 1f8af8aa..d1b86914 100644
--- a/api/scripts/stresstest/src/message/send.js
+++ b/scripts/stresstest/src/message/send.js
@@ -1,14 +1,14 @@
const fetch = require("node-fetch");
const fs = require("fs");
-var config = require("./../../config.json");
+let config = require("./../../config.json");
module.exports = sendMessage;
async function sendMessage(account) {
- var body = {
+ let body = {
fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw",
content: "Test",
tts: false
};
- var x = await fetch(config.url + "/channels/" + config["text-channel"] + "/messages", {
+ let x = await fetch(config.url + "/channels/" + config["text-channel"] + "/messages", {
method: "POST",
headers: {
"Content-Type": "application/json",
diff --git a/api/scripts/stresstest/src/register/index.js b/scripts/stresstest/src/register/index.js
index bb6f839f..578b9022 100644
--- a/api/scripts/stresstest/src/register/index.js
+++ b/scripts/stresstest/src/register/index.js
@@ -1,17 +1,17 @@
const fetch = require("node-fetch");
const fs = require("fs");
-var config = require("./../../config.json");
+let config = require("./../../config.json");
module.exports = generate;
async function generate() {
- var mail = (Math.random() + 10).toString(36).substring(2);
+ let mail = (Math.random() + 10).toString(36).substring(2);
mail = mail + "." + (Math.random() + 10).toString(36).substring(2) + "@stresstest.com";
- var password =
+ let password =
(Math.random() * 69).toString(36).substring(-7) +
(Math.random() * 69).toString(36).substring(-7) +
(Math.random() * 69).toString(36).substring(-8);
console.log(mail);
console.log(password);
- var body = {
+ let body = {
fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw",
email: mail,
username: "Fosscord Stress Test",
@@ -22,7 +22,7 @@ async function generate() {
gift_code_sku_id: null,
captcha_key: null
};
- var x = await fetch(config.url + "/auth/register", {
+ let x = await fetch(config.url + "/auth/register", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(body)
diff --git a/api/src/Server.ts b/src/api/Server.ts
index 4cf0917d..e92335a5 100644
--- a/api/src/Server.ts
+++ b/src/api/Server.ts
@@ -1,18 +1,16 @@
-import "missing-native-js-functions";
+import { Config, getOrInitialiseDatabase, initEvent, registerRoutes } from "@fosscord/util";
+import { NextFunction, Request, Response, Router } from "express";
import { Server, ServerOptions } from "lambert-server";
+import morgan from "morgan";
+import path from "path";
+import { red } from "picocolors";
import { Authentication, CORS } from "./middlewares/";
-import { Config, initDatabase, initEvent } from "@fosscord/util";
-import { ErrorHandler } from "./middlewares/ErrorHandler";
import { BodyParser } from "./middlewares/BodyParser";
-import { Router, Request, Response, NextFunction } from "express";
-import path from "path";
+import { ErrorHandler } from "./middlewares/ErrorHandler";
import { initRateLimits } from "./middlewares/RateLimit";
import TestClient from "./middlewares/TestClient";
import { initTranslation } from "./middlewares/Translation";
-import morgan from "morgan";
import { initInstance } from "./util/handlers/Instance";
-import { registerRoutes } from "@fosscord/util";
-import { red } from "picocolors"
export interface FosscordServerOptions extends ServerOptions {}
@@ -34,7 +32,7 @@ export class FosscordServer extends Server {
}
async start() {
- await initDatabase();
+ await getOrInitialiseDatabase();
await Config.init();
await initEvent();
await initInstance();
@@ -44,13 +42,13 @@ export class FosscordServer extends Server {
this.app.use(
morgan("combined", {
skip: (req, res) => {
- var skip = !(process.env["LOG_REQUESTS"]?.includes(res.statusCode.toString()) ?? false);
+ let skip = !(process.env["LOG_REQUESTS"]?.includes(res.statusCode.toString()) ?? false);
if (process.env["LOG_REQUESTS"]?.charAt(0) == "-") skip = !skip;
return skip;
}
})
);
- };
+ }
this.app.use(CORS);
this.app.use(BodyParser({ inflate: true, limit: "10mb" }));
@@ -87,8 +85,13 @@ export class FosscordServer extends Server {
this.app.use(ErrorHandler);
TestClient(this.app);
- if (logRequests) console.log(red(`Warning: Request logging is enabled! This will spam your console!\nTo disable this, unset the 'LOG_REQUESTS' environment variable!`));
-
+ if (logRequests)
+ console.log(
+ red(
+ `Warning: Request logging is enabled! This will spam your console!\nTo disable this, unset the 'LOG_REQUESTS' environment variable!`
+ )
+ );
+
return super.start();
}
-};
\ No newline at end of file
+}
diff --git a/api/src/global.d.ts b/src/api/global.d.ts
index 7751af8f..7751af8f 100644
--- a/api/src/global.d.ts
+++ b/src/api/global.d.ts
diff --git a/api/src/index.ts b/src/api/index.ts
index adc7649c..5f97a463 100644
--- a/api/src/index.ts
+++ b/src/api/index.ts
@@ -1,3 +1,3 @@
-export * from "./Server";
export * from "./middlewares/";
+export * from "./Server";
export * from "./util/";
diff --git a/api/src/middlewares/Authentication.ts b/src/api/middlewares/Authentication.ts
index 5a08caf3..6d063953 100644
--- a/api/src/middlewares/Authentication.ts
+++ b/src/api/middlewares/Authentication.ts
@@ -1,15 +1,15 @@
+import { checkToken, Config, HTTPError, Rights } from "@fosscord/util";
import { NextFunction, Request, Response } from "express";
-import { HTTPError } from "lambert-server";
-import { checkToken, Config, Rights } from "@fosscord/util";
export const NO_AUTHORIZATION_ROUTES = [
// Authentication routes
"/auth/login",
"/auth/register",
"/auth/location-metadata",
+ "/auth/mfa/totp",
// Routes with a seperate auth system
"/webhooks/",
- // Public information endpoints
+ // Public information endpoints
"/ping",
"/gateway",
"/experiments",
diff --git a/api/src/middlewares/BodyParser.ts b/src/api/middlewares/BodyParser.ts
index 4cb376bc..36d89da7 100644
--- a/api/src/middlewares/BodyParser.ts
+++ b/src/api/middlewares/BodyParser.ts
@@ -1,6 +1,6 @@
+import { HTTPError } from "@fosscord/util";
import bodyParser, { OptionsJson } from "body-parser";
import { NextFunction, Request, Response } from "express";
-import { HTTPError } from "lambert-server";
export function BodyParser(opts?: OptionsJson) {
const jsonParser = bodyParser.json(opts);
diff --git a/api/src/middlewares/CORS.ts b/src/api/middlewares/CORS.ts
index 20260cf9..20260cf9 100644
--- a/api/src/middlewares/CORS.ts
+++ b/src/api/middlewares/CORS.ts
diff --git a/api/src/middlewares/ErrorHandler.ts b/src/api/middlewares/ErrorHandler.ts
index 2012b91c..813adc18 100644
--- a/api/src/middlewares/ErrorHandler.ts
+++ b/src/api/middlewares/ErrorHandler.ts
@@ -1,6 +1,5 @@
+import { ApiError, FieldError, HTTPError } from "@fosscord/util";
import { NextFunction, Request, Response } from "express";
-import { HTTPError } from "lambert-server";
-import { ApiError, FieldError } from "@fosscord/util";
const EntityNotFoundErrorRegex = /"(\w+)"/;
export function ErrorHandler(error: Error, req: Request, res: Response, next: NextFunction) {
diff --git a/api/src/middlewares/RateLimit.ts b/src/api/middlewares/RateLimit.ts
index 13f1602c..dc93dcef 100644
--- a/api/src/middlewares/RateLimit.ts
+++ b/src/api/middlewares/RateLimit.ts
@@ -1,6 +1,6 @@
-import { Config, getRights, listenEvent, Rights } from "@fosscord/util";
-import { NextFunction, Request, Response, Router } from "express";
import { getIpAdress } from "@fosscord/api";
+import { Config, getRights, listenEvent } from "@fosscord/util";
+import { NextFunction, Request, Response, Router } from "express";
import { API_PREFIX_TRAILING_SLASH } from "./Authentication";
// Docs: https://discord.com/developers/docs/topics/rate-limits
@@ -28,7 +28,7 @@ type RateLimit = {
expires_at: Date;
};
-var Cache = new Map<string, RateLimit>();
+let Cache = new Map<string, RateLimit>();
const EventRateLimit = "RATELIMIT";
export default function rateLimit(opts: {
@@ -48,14 +48,14 @@ export default function rateLimit(opts: {
// exempt user? if so, immediately short circuit
if (req.user_id) {
const rights = await getRights(req.user_id);
- if (rights.has("BYPASS_RATE_LIMITS")) return;
+ if (rights.has("BYPASS_RATE_LIMITS")) return next();
}
const bucket_id = opts.bucket || req.originalUrl.replace(API_PREFIX_TRAILING_SLASH, "");
- var executor_id = getIpAdress(req);
+ let executor_id = getIpAdress(req);
if (!opts.onlyIp && req.user_id) executor_id = req.user_id;
- var max_hits = opts.count;
+ let max_hits = opts.count;
if (opts.bot && req.user_bot) max_hits = opts.bot;
if (opts.GET && ["GET", "OPTIONS", "HEAD"].includes(req.method)) max_hits = opts.GET;
else if (opts.MODIFY && ["POST", "DELETE", "PATCH", "PUT"].includes(req.method)) max_hits = opts.MODIFY;
@@ -121,6 +121,7 @@ export default function rateLimit(opts: {
export async function initRateLimits(app: Router) {
const { routes, global, ip, error, disabled } = Config.get().limits.rate;
if (disabled) return;
+ console.log("Enabling rate limits...");
await listenEvent(EventRateLimit, (event) => {
Cache.set(event.channel_id as string, event.data);
event.acknowledge?.();
@@ -163,9 +164,9 @@ export async function initRateLimits(app: Router) {
app.use("/auth/register", rateLimit({ onlyIp: true, success: true, ...routes.auth.register }));
}
-async function hitRoute(opts: { executor_id: string; bucket_id: string; max_hits: number; window: number; }) {
+async function hitRoute(opts: { executor_id: string; bucket_id: string; max_hits: number; window: number }) {
const id = opts.executor_id + opts.bucket_id;
- var limit = Cache.get(id);
+ let limit = Cache.get(id);
if (!limit) {
limit = {
id: opts.bucket_id,
@@ -183,7 +184,7 @@ async function hitRoute(opts: { executor_id: string; bucket_id: string; max_hits
}
/*
- var ratelimit = await RateLimit.findOne({ id: opts.bucket_id, executor_id: opts.executor_id });
+ let ratelimit = await RateLimit.findOne({ where: { id: opts.bucket_id, executor_id: opts.executor_id } });
if (!ratelimit) {
ratelimit = new RateLimit({
id: opts.bucket_id,
diff --git a/api/src/middlewares/Translation.ts b/src/api/middlewares/Translation.ts
index baabf221..8e5e67e6 100644
--- a/api/src/middlewares/Translation.ts
+++ b/src/api/middlewares/Translation.ts
@@ -1,13 +1,13 @@
+import { Router } from "express";
import fs from "fs";
-import path from "path";
import i18next from "i18next";
import i18nextMiddleware from "i18next-http-middleware";
import i18nextBackend from "i18next-node-fs-backend";
-import { Router } from "express";
+import path from "path";
export async function initTranslation(router: Router) {
- const languages = fs.readdirSync(path.join(__dirname, "..", "..", "locales"));
- const namespaces = fs.readdirSync(path.join(__dirname, "..", "..", "locales", "en"));
+ const languages = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "locales"));
+ const namespaces = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "locales", "en"));
const ns = namespaces.filter((x) => x.endsWith(".json")).map((x) => x.slice(0, x.length - 5));
await i18next
@@ -19,7 +19,7 @@ export async function initTranslation(router: Router) {
fallbackLng: "en",
ns,
backend: {
- loadPath: __dirname + "/../../locales/{{lng}}/{{ns}}.json"
+ loadPath: __dirname + "/../../../assets/locales/{{lng}}/{{ns}}.json"
},
load: "all"
});
diff --git a/api/src/middlewares/index.ts b/src/api/middlewares/index.ts
index f0c50dbe..f0c50dbe 100644
--- a/api/src/middlewares/index.ts
+++ b/src/api/middlewares/index.ts
diff --git a/api/src/routes/-/healthz.ts b/src/api/routes/-/healthz.ts
index f7bcfebf..5dee9e86 100644
--- a/api/src/routes/-/healthz.ts
+++ b/src/api/routes/-/healthz.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
import { getConnection } from "typeorm";
const router = Router();
diff --git a/api/src/routes/-/readyz.ts b/src/api/routes/-/readyz.ts
index f7bcfebf..5dee9e86 100644
--- a/api/src/routes/-/readyz.ts
+++ b/src/api/routes/-/readyz.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
import { getConnection } from "typeorm";
const router = Router();
diff --git a/api/src/routes/applications/#id/entitlements.ts b/src/api/routes/applications/#id/entitlements.ts
index cfcfe40f..26054eb0 100644
--- a/api/src/routes/applications/#id/entitlements.ts
+++ b/src/api/routes/applications/#id/entitlements.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/applications/index.ts b/src/api/routes/applications/#id/skus.ts
index 28ce42da..df7ad4bb 100644
--- a/api/src/routes/applications/index.ts
+++ b/src/api/routes/applications/#id/skus.ts
@@ -1,11 +1,10 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
- //TODO
- res.send([]).status(200);
+ res.json([]).status(200);
});
export default router;
diff --git a/api/src/routes/applications/detectable.ts b/src/api/routes/applications/detectable.ts
index 28ce42da..f012a595 100644
--- a/api/src/routes/applications/detectable.ts
+++ b/src/api/routes/applications/detectable.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/auth/login.ts b/src/api/routes/auth/login.ts
index a89721ea..68b2656a 100644
--- a/api/src/routes/auth/login.ts
+++ b/src/api/routes/auth/login.ts
@@ -1,30 +1,29 @@
import { Request, Response, Router } from "express";
-import { route } from "@fosscord/api";
-import bcrypt from "bcrypt";
-import { Config, User, generateToken, adjustEmail, FieldErrors } from "@fosscord/util";
+import { route, getIpAdress, verifyCaptcha } from "@fosscord/api";
+import { Config, User, generateToken, adjustEmail, FieldErrors, LoginSchema } from "@fosscord/util";
+import crypto from "crypto";
+
+let bcrypt: any;
+try {
+ bcrypt = require("bcrypt");
+} catch {
+ bcrypt = require("bcryptjs");
+ console.log("Warning: using bcryptjs because bcrypt is not installed! Performance will be affected.");
+}
const router: Router = Router();
export default router;
-export interface LoginSchema {
- login: string;
- password: string;
- undelete?: boolean;
- captcha_key?: string;
- login_source?: string;
- gift_code_sku_id?: string;
-}
-
router.post("/", route({ body: "LoginSchema" }), async (req: Request, res: Response) => {
const { login, password, captcha_key, undelete } = req.body as LoginSchema;
const email = adjustEmail(login);
- console.log("login", email);
+ const ip = getIpAdress(req);
const config = Config.get();
if (config.login.requireCaptcha && config.security.captcha.enabled) {
+ const { sitekey, service } = config.security.captcha;
if (!captcha_key) {
- const { sitekey, service } = config.security.captcha;
return res.status(400).json({
captcha_key: ["captcha-required"],
captcha_sitekey: sitekey,
@@ -32,12 +31,20 @@ router.post("/", route({ body: "LoginSchema" }), async (req: Request, res: Respo
});
}
- // TODO: check captcha
+ const ip = getIpAdress(req);
+ const verify = await verifyCaptcha(captcha_key, ip);
+ if (!verify.success) {
+ return res.status(400).json({
+ captcha_key: verify["error-codes"],
+ captcha_sitekey: sitekey,
+ captcha_service: service
+ })
+ }
}
const user = await User.findOneOrFail({
where: [{ phone: login }, { email: login }],
- select: ["data", "id", "disabled", "deleted", "settings"]
+ select: ["data", "id", "disabled", "deleted", "settings", "totp_secret", "mfa_enabled"]
}).catch((e) => {
throw FieldErrors({ login: { message: req.t("auth:login.INVALID_LOGIN"), code: "INVALID_LOGIN" } });
});
@@ -57,6 +64,20 @@ router.post("/", route({ body: "LoginSchema" }), async (req: Request, res: Respo
throw FieldErrors({ password: { message: req.t("auth:login.INVALID_PASSWORD"), code: "INVALID_PASSWORD" } });
}
+ if (user.mfa_enabled) {
+ // TODO: This is not a discord.com ticket. I'm not sure what it is but I'm lazy
+ const ticket = crypto.randomBytes(40).toString("hex");
+
+ await User.update({ id: user.id }, { totp_last_ticket: ticket });
+
+ return res.json({
+ ticket: ticket,
+ mfa: true,
+ sms: false, // TODO
+ token: null
+ });
+ }
+
const token = await generateToken(user.id);
// Notice this will have a different token structure, than discord
diff --git a/api/src/routes/auth/register.ts b/src/api/routes/auth/register.ts
index 94dd6502..5cc28f7a 100644
--- a/api/src/routes/auth/register.ts
+++ b/src/api/routes/auth/register.ts
@@ -1,38 +1,17 @@
+import { getIpAdress, IPAnalysis, isProxy, route, verifyCaptcha } from "@fosscord/api";
+import { adjustEmail, Config, FieldErrors, generateToken, HTTPError, Invite, RegisterSchema, User } from "@fosscord/util";
import { Request, Response, Router } from "express";
-import { Config, generateToken, Invite, FieldErrors, User, adjustEmail, trimSpecial } from "@fosscord/util";
-import { route, getIpAdress, IPAnalysis, isProxy } from "@fosscord/api";
-import "missing-native-js-functions";
-import bcrypt from "bcrypt";
-import { HTTPError } from "lambert-server";
-const router: Router = Router();
-
-export interface RegisterSchema {
- /**
- * @minLength 2
- * @maxLength 32
- */
- username: string;
- /**
- * @minLength 1
- * @maxLength 72
- */
- password?: string;
- consent: boolean;
- /**
- * @TJS-format email
- */
- email?: string;
- fingerprint?: string;
- invite?: string;
- /**
- * @TJS-type string
- */
- date_of_birth?: Date; // "2000-04-03"
- gift_code_sku_id?: string;
- captcha_key?: string;
+let bcrypt: any;
+try {
+ bcrypt = require("bcrypt");
+} catch {
+ bcrypt = require("bcryptjs");
+ console.log("Warning: using bcryptjs because bcrypt is not installed! Performance will be affected.");
}
+const router: Router = Router();
+
router.post("/", route({ body: "RegisterSchema" }), async (req: Request, res: Response) => {
const body = req.body as RegisterSchema;
const { register, security } = Config.get();
@@ -64,9 +43,15 @@ router.post("/", route({ body: "RegisterSchema" }), async (req: Request, res: Re
});
}
+ if (!register.allowGuests) {
+ throw FieldErrors({
+ email: { code: "GUESTS_DISABLED", message: req.t("auth:register.GUESTS_DISABLED") }
+ });
+ }
+
if (register.requireCaptcha && security.captcha.enabled) {
+ const { sitekey, service } = security.captcha;
if (!body.captcha_key) {
- const { sitekey, service } = security.captcha;
return res?.status(400).json({
captcha_key: ["captcha-required"],
captcha_sitekey: sitekey,
@@ -74,7 +59,14 @@ router.post("/", route({ body: "RegisterSchema" }), async (req: Request, res: Re
});
}
- // TODO: check captcha
+ const verify = await verifyCaptcha(body.captcha_key, ip);
+ if (!verify.success) {
+ return res.status(400).json({
+ captcha_key: verify["error-codes"],
+ captcha_sitekey: sitekey,
+ captcha_service: service
+ });
+ }
}
if (!register.allowMultipleAccounts) {
@@ -108,7 +100,7 @@ router.post("/", route({ body: "RegisterSchema" }), async (req: Request, res: Re
}
// check if there is already an account with this email
- const exists = await User.findOne({ email: email });
+ const exists = await User.findOne({ where: { email: email } });
if (exists) {
throw FieldErrors({
@@ -124,7 +116,8 @@ router.post("/", route({ body: "RegisterSchema" }), async (req: Request, res: Re
});
}
- if (register.dateOfBirth.required && !body.date_of_birth) {
+ // If no password is provided, this is a guest account
+ if (register.dateOfBirth.required && !body.date_of_birth && body.password) {
throw FieldErrors({
date_of_birth: { code: "BASE_TYPE_REQUIRED", message: req.t("common:field.BASE_TYPE_REQUIRED") }
});
@@ -167,8 +160,6 @@ router.post("/", route({ body: "RegisterSchema" }), async (req: Request, res: Re
await Invite.joinGuild(user.id, body.invite);
}
- console.log("register", body.email, body.username, ip);
-
return res.json({ token: await generateToken(user.id) });
});
diff --git a/api/src/routes/channels/#channel_id/followers.ts b/src/api/routes/channels/#channel_id/followers.ts
index 641af4f8..c06db61b 100644
--- a/api/src/routes/channels/#channel_id/followers.ts
+++ b/src/api/routes/channels/#channel_id/followers.ts
@@ -1,4 +1,4 @@
-import { Router, Response, Request } from "express";
+import { Router } from "express";
const router: Router = Router();
// TODO:
diff --git a/api/src/routes/channels/#channel_id/index.ts b/src/api/routes/channels/#channel_id/index.ts
index 2fca4fdf..a65cf451 100644
--- a/api/src/routes/channels/#channel_id/index.ts
+++ b/src/api/routes/channels/#channel_id/index.ts
@@ -1,15 +1,16 @@
+import { route } from "@fosscord/api";
import {
Channel,
ChannelDeleteEvent,
- ChannelPermissionOverwriteType,
+ ChannelModifySchema,
ChannelType,
ChannelUpdateEvent,
emitEvent,
- Recipient,
- handleFile
+ handleFile,
+ OrmUtils,
+ Recipient
} from "@fosscord/util";
import { Request, Response, Router } from "express";
-import { route } from "@fosscord/api";
const router: Router = Router();
// TODO: delete channel
@@ -18,7 +19,7 @@ const router: Router = Router();
router.get("/", route({ permission: "VIEW_CHANNEL" }), async (req: Request, res: Response) => {
const { channel_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
return res.send(channel);
});
@@ -29,7 +30,7 @@ router.delete("/", route({ permission: "MANAGE_CHANNELS" }), async (req: Request
const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients"] });
if (channel.type === ChannelType.DM) {
- const recipient = await Recipient.findOneOrFail({ where: { channel_id: channel_id, user_id: req.user_id } });
+ const recipient = await Recipient.findOneOrFail({ where: { channel_id, user_id: req.user_id } });
recipient.closed = true;
await Promise.all([
recipient.save(),
@@ -47,38 +48,13 @@ router.delete("/", route({ permission: "MANAGE_CHANNELS" }), async (req: Request
res.send(channel);
});
-export interface ChannelModifySchema {
- /**
- * @maxLength 100
- */
- name?: string;
- type?: ChannelType;
- topic?: string;
- icon?: string | null;
- bitrate?: number;
- user_limit?: number;
- rate_limit_per_user?: number;
- position?: number;
- permission_overwrites?: {
- id: string;
- type: ChannelPermissionOverwriteType;
- allow: string;
- deny: string;
- }[];
- parent_id?: string;
- id?: string; // is not used (only for guild create)
- nsfw?: boolean;
- rtc_region?: string;
- default_auto_archive_duration?: number;
-}
-
router.patch("/", route({ body: "ChannelModifySchema", permission: "MANAGE_CHANNELS" }), async (req: Request, res: Response) => {
- var payload = req.body as ChannelModifySchema;
+ let payload = req.body as ChannelModifySchema;
const { channel_id } = req.params;
if (payload.icon) payload.icon = await handleFile(`/channel-icons/${channel_id}`, payload.icon);
- const channel = await Channel.findOneOrFail({ id: channel_id });
- channel.assign(payload);
+ let channel = await Channel.findOneOrFail({ where: { id: channel_id } });
+ channel = OrmUtils.mergeDeep(channel, payload);
await Promise.all([
channel.save(),
diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
index 885c5eca..5ebeed49 100644
--- a/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
@@ -1,26 +1,17 @@
-import { emitEvent, getPermission, MessageAckEvent, ReadState, Snowflake } from "@fosscord/util";
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { emitEvent, getPermission, MessageAckEvent, OrmUtils, ReadState } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
-// TODO: public read receipts & privacy scoping
-// TODO: send read state event to all channel members
-// TODO: advance-only notification cursor
-
-export interface MessageAcknowledgeSchema {
- manual?: boolean;
- mention_count?: number;
-}
-
router.post("/", route({ body: "MessageAcknowledgeSchema" }), async (req: Request, res: Response) => {
const { channel_id, message_id } = req.params;
const permission = await getPermission(req.user_id, undefined, channel_id);
permission.hasThrow("VIEW_CHANNEL");
- let read_state = await ReadState.findOne({ user_id: req.user_id, channel_id });
- if (!read_state) read_state = new ReadState({ user_id: req.user_id, channel_id });
+ let read_state = await ReadState.findOne({ where: { user_id: req.user_id, channel_id } });
+ if (!read_state) read_state = OrmUtils.mergeDeep(new ReadState(), { user_id: req.user_id, channel_id }) as ReadState;
read_state.last_message_id = message_id;
await read_state.save();
diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
index b2cb6763..fbbc65f0 100644
--- a/api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
index 63fee9b9..b082e083 100644
--- a/api/src/routes/channels/#channel_id/messages/#message_id/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
@@ -1,25 +1,22 @@
+import { handleMessage, postHandleMessage, route } from "@fosscord/api";
import {
Attachment,
Channel,
- Embed,
- DiscordApiErrors,
emitEvent,
FosscordApiErrors,
getPermission,
getRights,
- Message,
+ HTTPError,
+ Message,
MessageCreateEvent,
+ MessageCreateSchema,
MessageDeleteEvent,
MessageUpdateEvent,
Snowflake,
- uploadFile
+ uploadFile
} from "@fosscord/util";
-import { Router, Response, Request } from "express";
+import { Request, Response, Router } from "express";
import multer from "multer";
-import { route } from "@fosscord/api";
-import { handleMessage, postHandleMessage } from "@fosscord/api";
-import { MessageCreateSchema } from "../index";
-import { HTTPError } from "lambert-server";
const router = Router();
// TODO: message content/embed string length limit
@@ -33,50 +30,53 @@ const messageUpload = multer({
storage: multer.memoryStorage()
}); // max upload 50 mb
-router.patch("/", route({ body: "MessageCreateSchema", permission: "SEND_MESSAGES", right: "SEND_MESSAGES" }), async (req: Request, res: Response) => {
- const { message_id, channel_id } = req.params;
- var body = req.body as MessageCreateSchema;
+router.patch(
+ "/",
+ route({ body: "MessageCreateSchema", permission: "SEND_MESSAGES", right: "SEND_MESSAGES" }),
+ async (req: Request, res: Response) => {
+ const { message_id, channel_id } = req.params;
+ let body = req.body as MessageCreateSchema;
- const message = await Message.findOneOrFail({ where: { id: message_id, channel_id }, relations: ["attachments"] });
+ const message = await Message.findOneOrFail({ where: { id: message_id, channel_id }, relations: ["attachments"] });
- const permissions = await getPermission(req.user_id, undefined, channel_id);
-
- const rights = await getRights(req.user_id);
+ const permissions = await getPermission(req.user_id, undefined, channel_id);
- if ((req.user_id !== message.author_id)) {
- if (!rights.has("MANAGE_MESSAGES")) {
- permissions.hasThrow("MANAGE_MESSAGES");
- body = { flags: body.flags };
-// guild admins can only suppress embeds of other messages, no such restriction imposed to instance-wide admins
- }
- } else rights.hasThrow("SELF_EDIT_MESSAGES");
-
- const new_message = await handleMessage({
- ...message,
- // TODO: should message_reference be overridable?
- // @ts-ignore
- message_reference: message.message_reference,
- ...body,
- author_id: message.author_id,
- channel_id,
- id: message_id,
- edited_timestamp: new Date()
- });
-
- await Promise.all([
- new_message!.save(),
- await emitEvent({
- event: "MESSAGE_UPDATE",
+ const rights = await getRights(req.user_id);
+
+ if (req.user_id !== message.author_id) {
+ if (!rights.has("MANAGE_MESSAGES")) {
+ permissions.hasThrow("MANAGE_MESSAGES");
+ body = { flags: body.flags };
+ // guild admins can only suppress embeds of other messages, no such restriction imposed to instance-wide admins
+ }
+ } else rights.hasThrow("SELF_EDIT_MESSAGES");
+
+ const new_message = await handleMessage({
+ ...message,
+ // TODO: should message_reference be overridable?
+ // @ts-ignore
+ message_reference: message.message_reference,
+ ...body,
+ author_id: message.author_id,
channel_id,
- data: { ...new_message, nonce: undefined }
- } as MessageUpdateEvent)
- ]);
+ id: message_id,
+ edited_timestamp: new Date()
+ });
- postHandleMessage(message);
+ await Promise.all([
+ new_message!.save(),
+ await emitEvent({
+ event: "MESSAGE_UPDATE",
+ channel_id,
+ data: { ...new_message, nonce: undefined }
+ } as MessageUpdateEvent)
+ ]);
- return res.json(message);
-});
+ postHandleMessage(message);
+ return res.json(message);
+ }
+);
// Backfill message with specific timestamp
router.put(
@@ -92,9 +92,9 @@ router.put(
route({ body: "MessageCreateSchema", permission: "SEND_MESSAGES", right: "SEND_BACKDATED_EVENTS" }),
async (req: Request, res: Response) => {
const { channel_id, message_id } = req.params;
- var body = req.body as MessageCreateSchema;
+ let body = req.body as MessageCreateSchema;
const attachments: Attachment[] = [];
-
+
const rights = await getRights(req.user_id);
rights.hasThrow("SEND_MESSAGES");
@@ -103,20 +103,20 @@ router.put(
throw new HTTPError("Message IDs must be positive integers", 400);
}
- const snowflake = Snowflake.deconstruct(message_id)
+ const snowflake = Snowflake.deconstruct(message_id);
if (Date.now() < snowflake.timestamp) {
// message is in the future
throw FosscordApiErrors.CANNOT_BACKFILL_TO_THE_FUTURE;
}
- const exists = await Message.findOne({ where: { id: message_id, channel_id: channel_id }});
+ const exists = await Message.findOne({ where: { id: message_id, channel_id: channel_id } });
if (exists) {
throw FosscordApiErrors.CANNOT_REPLACE_BY_BACKFILL;
}
if (req.file) {
try {
- const file = await uploadFile(`/attachments/${req.params.channel_id}`, req.file);
+ const file: any = await uploadFile(`/attachments/${req.params.channel_id}`, req.file);
attachments.push({ ...file, proxy_url: file.url });
} catch (error) {
return res.status(400).json(error);
@@ -136,19 +136,19 @@ router.put(
channel_id,
attachments,
edited_timestamp: undefined,
- timestamp: new Date(snowflake.timestamp),
+ timestamp: new Date(snowflake.timestamp)
});
//Fix for the client bug
- delete message.member
-
+ delete message.member;
+
await Promise.all([
message.save(),
emitEvent({ event: "MESSAGE_CREATE", channel_id: channel_id, data: message } as MessageCreateEvent),
channel.save()
]);
- postHandleMessage(message).catch((e) => { }); // no await as it shouldnt block the message send function and silently catch error
+ postHandleMessage(message).catch((e) => {}); // no await as it shouldnt block the message send function and silently catch error
return res.json(message);
}
@@ -160,7 +160,7 @@ router.get("/", route({ permission: "VIEW_CHANNEL" }), async (req: Request, res:
const message = await Message.findOneOrFail({ where: { id: message_id, channel_id }, relations: ["attachments"] });
const permissions = await getPermission(req.user_id, undefined, channel_id);
-
+
if (message.author_id !== req.user_id) permissions.hasThrow("READ_MESSAGE_HISTORY");
return res.json(message);
@@ -169,12 +169,12 @@ router.get("/", route({ permission: "VIEW_CHANNEL" }), async (req: Request, res:
router.delete("/", route({}), async (req: Request, res: Response) => {
const { message_id, channel_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
- const message = await Message.findOneOrFail({ id: message_id });
-
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
+ const message = await Message.findOneOrFail({ where: { id: message_id } });
+
const rights = await getRights(req.user_id);
- if ((message.author_id !== req.user_id)) {
+ if (message.author_id !== req.user_id) {
if (!rights.has("MANAGE_MESSAGES")) {
const permission = await getPermission(req.user_id, channel.guild_id, channel_id);
permission.hasThrow("MANAGE_MESSAGES");
diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/reactions.ts b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
index d93cf70f..44de5c45 100644
--- a/api/src/routes/channels/#channel_id/messages/#message_id/reactions.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
@@ -1,8 +1,10 @@
+import { route } from "@fosscord/api";
import {
Channel,
emitEvent,
Emoji,
getPermission,
+ HTTPError,
Member,
Message,
MessageReactionAddEvent,
@@ -13,9 +15,7 @@ import {
PublicUserProjection,
User
} from "@fosscord/util";
-import { route } from "@fosscord/api";
-import { Router, Response, Request } from "express";
-import { HTTPError } from "lambert-server";
+import { Request, Response, Router } from "express";
import { In } from "typeorm";
const router = Router();
@@ -39,7 +39,7 @@ function getEmoji(emoji: string): PartialEmoji {
router.delete("/", route({ permission: "MANAGE_MESSAGES" }), async (req: Request, res: Response) => {
const { message_id, channel_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
await Message.update({ id: message_id, channel_id }, { reactions: [] });
@@ -60,7 +60,7 @@ router.delete("/:emoji", route({ permission: "MANAGE_MESSAGES" }), async (req: R
const { message_id, channel_id } = req.params;
const emoji = getEmoji(req.params.emoji);
- const message = await Message.findOneOrFail({ id: message_id, channel_id });
+ const message = await Message.findOneOrFail({ where: { id: message_id, channel_id } });
const already_added = message.reactions.find((x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name);
if (!already_added) throw new HTTPError("Reaction not found", 404);
@@ -87,7 +87,7 @@ router.get("/:emoji", route({ permission: "VIEW_CHANNEL" }), async (req: Request
const { message_id, channel_id } = req.params;
const emoji = getEmoji(req.params.emoji);
- const message = await Message.findOneOrFail({ id: message_id, channel_id });
+ const message = await Message.findOneOrFail({ where: { id: message_id, channel_id } });
const reaction = message.reactions.find((x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name);
if (!reaction) throw new HTTPError("Reaction not found", 404);
@@ -101,56 +101,60 @@ router.get("/:emoji", route({ permission: "VIEW_CHANNEL" }), async (req: Request
res.json(users);
});
-router.put("/:emoji/:user_id", route({ permission: "READ_MESSAGE_HISTORY", right: "SELF_ADD_REACTIONS" }), async (req: Request, res: Response) => {
- const { message_id, channel_id, user_id } = req.params;
- if (user_id !== "@me") throw new HTTPError("Invalid user");
- const emoji = getEmoji(req.params.emoji);
-
- const channel = await Channel.findOneOrFail({ id: channel_id });
- const message = await Message.findOneOrFail({ id: message_id, channel_id });
- const already_added = message.reactions.find((x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name);
-
- if (!already_added) req.permission!.hasThrow("ADD_REACTIONS");
-
- if (emoji.id) {
- const external_emoji = await Emoji.findOneOrFail({ id: emoji.id });
- if (!already_added) req.permission!.hasThrow("USE_EXTERNAL_EMOJIS");
- emoji.animated = external_emoji.animated;
- emoji.name = external_emoji.name;
- }
+router.put(
+ "/:emoji/:user_id",
+ route({ permission: "READ_MESSAGE_HISTORY", right: "SELF_ADD_REACTIONS" }),
+ async (req: Request, res: Response) => {
+ const { message_id, channel_id, user_id } = req.params;
+ if (user_id !== "@me") throw new HTTPError("Invalid user");
+ const emoji = getEmoji(req.params.emoji);
+
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
+ const message = await Message.findOneOrFail({ where: { id: message_id, channel_id } });
+ const already_added = message.reactions.find((x) => (x.emoji.id === emoji.id && emoji.id) || x.emoji.name === emoji.name);
+
+ if (!already_added) req.permission!.hasThrow("ADD_REACTIONS");
+
+ if (emoji.id) {
+ const external_emoji = await Emoji.findOneOrFail({ where: { id: emoji.id } });
+ if (!already_added) req.permission!.hasThrow("USE_EXTERNAL_EMOJIS");
+ emoji.animated = external_emoji.animated;
+ emoji.name = external_emoji.name;
+ }
- if (already_added) {
- if (already_added.user_ids.includes(req.user_id)) return res.sendStatus(204); // Do not throw an error ¯\_(ツ)_/¯ as discord also doesn't throw any error
- already_added.count++;
- } else message.reactions.push({ count: 1, emoji, user_ids: [req.user_id] });
+ if (already_added) {
+ if (already_added.user_ids.includes(req.user_id)) return res.sendStatus(204); // Do not throw an error ¯\_(ツ)_/¯ as discord also doesn't throw any error
+ already_added.count++;
+ } else message.reactions.push({ count: 1, emoji, user_ids: [req.user_id] });
- await message.save();
+ await message.save();
- const member = channel.guild_id && (await Member.findOneOrFail({ id: req.user_id }));
+ const member = channel.guild_id && (await Member.findOneOrFail({ where: { id: req.user_id } }));
- await emitEvent({
- event: "MESSAGE_REACTION_ADD",
- channel_id,
- data: {
- user_id: req.user_id,
+ await emitEvent({
+ event: "MESSAGE_REACTION_ADD",
channel_id,
- message_id,
- guild_id: channel.guild_id,
- emoji,
- member
- }
- } as MessageReactionAddEvent);
+ data: {
+ user_id: req.user_id,
+ channel_id,
+ message_id,
+ guild_id: channel.guild_id,
+ emoji,
+ member
+ }
+ } as MessageReactionAddEvent);
- res.sendStatus(204);
-});
+ res.sendStatus(204);
+ }
+);
router.delete("/:emoji/:user_id", route({}), async (req: Request, res: Response) => {
- var { message_id, channel_id, user_id } = req.params;
+ let { message_id, channel_id, user_id } = req.params;
const emoji = getEmoji(req.params.emoji);
- const channel = await Channel.findOneOrFail({ id: channel_id });
- const message = await Message.findOneOrFail({ id: message_id, channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
+ const message = await Message.findOneOrFail({ where: { id: message_id, channel_id } });
if (user_id === "@me") user_id = req.user_id;
else {
diff --git a/api/src/routes/channels/#channel_id/messages/bulk-delete.ts b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
index 6eacf249..561a40c0 100644
--- a/api/src/routes/channels/#channel_id/messages/bulk-delete.ts
+++ b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
@@ -1,31 +1,26 @@
-import { Router, Response, Request } from "express";
-import { Channel, Config, emitEvent, getPermission, getRights, MessageDeleteBulkEvent, Message } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
+import { Channel, Config, emitEvent, getPermission, getRights, HTTPError, Message, MessageDeleteBulkEvent } from "@fosscord/util";
+import { Request, Response, Router } from "express";
import { In } from "typeorm";
const router: Router = Router();
export default router;
-export interface BulkDeleteSchema {
- messages: string[];
-}
-
// should users be able to bulk delete messages or only bots? ANSWER: all users
// should this request fail, if you provide messages older than 14 days/invalid ids? ANSWER: NO
// https://discord.com/developers/docs/resources/channel#bulk-delete-messages
router.post("/", route({ body: "BulkDeleteSchema" }), async (req: Request, res: Response) => {
const { channel_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
if (!channel.guild_id) throw new HTTPError("Can't bulk delete dm channel messages", 400);
const rights = await getRights(req.user_id);
rights.hasThrow("SELF_DELETE_MESSAGES");
-
+
let superuser = rights.has("MANAGE_MESSAGES");
const permission = await getPermission(req.user_id, channel?.guild_id, channel_id);
-
+
const { maxBulkDelete } = Config.get().limits.message;
const { messages } = req.body as { messages: string[] };
@@ -35,7 +30,7 @@ router.post("/", route({ body: "BulkDeleteSchema" }), async (req: Request, res:
if (messages.length > maxBulkDelete) throw new HTTPError(`You cannot delete more than ${maxBulkDelete} messages`);
}
- await Message.delete(messages.map((x) => ({ id: x })));
+ await Message.delete({ id: In(messages) });
await emitEvent({
event: "MESSAGE_DELETE_BULK",
diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts
index 54e6edcc..5fdcb6f9 100644
--- a/api/src/routes/channels/#channel_id/messages/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -1,22 +1,21 @@
-import { Router, Response, Request } from "express";
+import { handleMessage, postHandleMessage, route } from "@fosscord/api";
import {
Attachment,
Channel,
ChannelType,
Config,
DmChannelDTO,
- Embed,
emitEvent,
getPermission,
- getRights,
+ HTTPError,
+ Member,
Message,
MessageCreateEvent,
+ MessageCreateSchema,
Snowflake,
- uploadFile,
- Member
+ uploadFile
} from "@fosscord/util";
-import { HTTPError } from "lambert-server";
-import { handleMessage, postHandleMessage, route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
import multer from "multer";
import { FindManyOptions, LessThan, MoreThan } from "typeorm";
import { URL } from "url";
@@ -49,43 +48,11 @@ export function isTextChannel(type: ChannelType): boolean {
}
}
-export interface MessageCreateSchema {
- type?: number;
- content?: string;
- nonce?: string;
- channel_id?: string;
- tts?: boolean;
- flags?: string;
- embeds?: Embed[];
- embed?: Embed;
- // TODO: ^ embed is deprecated in favor of embeds (https://discord.com/developers/docs/resources/channel#message-object)
- allowed_mentions?: {
- parse?: string[];
- roles?: string[];
- users?: string[];
- replied_user?: boolean;
- };
- message_reference?: {
- message_id: string;
- channel_id: string;
- guild_id?: string;
- fail_if_not_exists?: boolean;
- };
- payload_json?: string;
- file?: any;
- /**
- TODO: we should create an interface for attachments
- TODO: OpenWAAO<-->attachment-style metadata conversion
- **/
- attachments?: any[];
- sticker_ids?: string[];
-}
-
// https://discord.com/developers/docs/resources/channel#create-message
// get messages
router.get("/", async (req: Request, res: Response) => {
const channel_id = req.params.channel_id;
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
if (!channel) throw new HTTPError("Channel not found", 404);
isTextChannel(channel.type);
@@ -95,29 +62,26 @@ router.get("/", async (req: Request, res: Response) => {
const limit = Number(req.query.limit) || 50;
if (limit < 1 || limit > 100) throw new HTTPError("limit must be between 1 and 100", 422);
- var halfLimit = Math.floor(limit / 2);
+ let halfLimit = Math.floor(limit / 2);
const permissions = await getPermission(req.user_id, channel.guild_id, channel_id);
permissions.hasThrow("VIEW_CHANNEL");
if (!permissions.has("READ_MESSAGE_HISTORY")) return res.json([]);
- var query: FindManyOptions<Message> & { where: { id?: any; }; } = {
+ let query: FindManyOptions<Message> & { where: { id?: any } } = {
order: { id: "DESC" },
take: limit,
where: { channel_id },
relations: ["author", "webhook", "application", "mentions", "mention_roles", "mention_channels", "sticker_items", "attachments"]
};
-
if (after) {
if (after > new Snowflake()) return res.status(422);
query.where.id = MoreThan(after);
- }
- else if (before) {
+ } else if (before) {
if (before < req.params.channel_id) return res.status(422);
query.where.id = LessThan(before);
- }
- else if (around) {
+ } else if (around) {
query.where.id = [
MoreThan((BigInt(around) - BigInt(halfLimit)).toString()),
LessThan((BigInt(around) + BigInt(halfLimit)).toString())
@@ -142,15 +106,14 @@ router.get("/", async (req: Request, res: Response) => {
const uri = y.proxy_url.startsWith("http") ? y.proxy_url : `https://example.org${y.proxy_url}`;
y.proxy_url = `${endpoint == null ? "" : endpoint}${new URL(uri).pathname}`;
});
-
+
/**
Some clients ( discord.js ) only check if a property exists within the response,
which causes erorrs when, say, the `application` property is `null`.
**/
-
- for (var curr in x) {
- if (x[curr] === null)
- delete x[curr];
+
+ for (let curr in x) {
+ if (x[curr] === null) delete x[curr];
}
return x;
@@ -162,7 +125,7 @@ router.get("/", async (req: Request, res: Response) => {
const messageUpload = multer({
limits: {
fileSize: 1024 * 1024 * 100,
- fields: 10,
+ fields: 10
// files: 1
},
storage: multer.memoryStorage()
@@ -189,21 +152,20 @@ router.post(
route({ body: "MessageCreateSchema", permission: "SEND_MESSAGES", right: "SEND_MESSAGES" }),
async (req: Request, res: Response) => {
const { channel_id } = req.params;
- var body = req.body as MessageCreateSchema;
+ let body = req.body as MessageCreateSchema;
const attachments: Attachment[] = [];
const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] });
if (!channel.isWritable()) {
- throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400)
+ throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400);
}
- const files = req.files as Express.Multer.File[] ?? [];
- for (var currFile of files) {
+ const files = (req.files as Express.Multer.File[]) ?? [];
+ for (let currFile of files) {
try {
- const file = await uploadFile(`/attachments/${channel.id}`, currFile);
+ const file: any = await uploadFile(`/attachments/${channel.id}`, currFile);
attachments.push({ ...file, proxy_url: file.url });
- }
- catch (error) {
+ } catch (error) {
return res.status(400).json(error);
}
}
@@ -244,10 +206,20 @@ router.post(
})
);
}
-
- //Fix for the client bug
- delete message.member
-
+
+ //Defining member fields
+ var member = await Member.findOneOrFail({ where: { id: req.user_id }, relations: ["roles"] });
+ // TODO: This doesn't work either
+ // member.roles = member.roles.filter((role) => {
+ // return role.id !== role.guild_id;
+ // }).map((role) => {
+ // return role.id;
+ // });
+ message.member = member;
+ // TODO: Figure this out
+ // delete message.member.last_message_id;
+ // delete message.member.index;
+
await Promise.all([
message.save(),
emitEvent({ event: "MESSAGE_CREATE", channel_id: channel_id, data: message } as MessageCreateEvent),
@@ -255,9 +227,8 @@ router.post(
channel.save()
]);
- postHandleMessage(message).catch((e) => { }); // no await as it shouldnt block the message send function and silently catch error
+ postHandleMessage(message).catch((e) => {}); // no await as it shouldnt block the message send function and silently catch error
return res.json(message);
}
);
-
diff --git a/api/src/routes/channels/#channel_id/permissions.ts b/src/api/routes/channels/#channel_id/permissions.ts
index 2eded853..bd462ea6 100644
--- a/api/src/routes/channels/#channel_id/permissions.ts
+++ b/src/api/routes/channels/#channel_id/permissions.ts
@@ -1,23 +1,18 @@
+import { route } from "@fosscord/api";
import {
Channel,
ChannelPermissionOverwrite,
- ChannelPermissionOverwriteType,
+ ChannelPermissionOverwriteSchema,
ChannelUpdateEvent,
emitEvent,
- getPermission,
+ HTTPError,
Member,
Role
} from "@fosscord/util";
-import { Router, Response, Request } from "express";
-import { HTTPError } from "lambert-server";
+import { Request, Response, Router } from "express";
-import { route } from "@fosscord/api";
const router: Router = Router();
-// TODO: Only permissions your bot has in the guild or channel can be allowed/denied (unless your bot has a MANAGE_ROLES overwrite in the channel)
-
-export interface ChannelPermissionOverwriteSchema extends ChannelPermissionOverwrite {}
-
router.put(
"/:overwrite_id",
route({ body: "ChannelPermissionOverwriteSchema", permission: "MANAGE_ROLES" }),
@@ -25,17 +20,17 @@ router.put(
const { channel_id, overwrite_id } = req.params;
const body = req.body as ChannelPermissionOverwriteSchema;
- var channel = await Channel.findOneOrFail({ id: channel_id });
+ let channel = await Channel.findOneOrFail({ where: { id: channel_id } });
if (!channel.guild_id) throw new HTTPError("Channel not found", 404);
if (body.type === 0) {
- if (!(await Role.count({ id: overwrite_id }))) throw new HTTPError("role not found", 404);
+ if (!(await Role.count({ where: { id: overwrite_id } }))) throw new HTTPError("role not found", 404);
} else if (body.type === 1) {
- if (!(await Member.count({ id: overwrite_id }))) throw new HTTPError("user not found", 404);
+ if (!(await Member.count({ where: { id: overwrite_id } }))) throw new HTTPError("user not found", 404);
} else throw new HTTPError("type not supported", 501);
// @ts-ignore
- var overwrite: ChannelPermissionOverwrite = channel.permission_overwrites.find((x) => x.id === overwrite_id);
+ let overwrite: ChannelPermissionOverwrite = channel.permission_overwrites.find((x) => x.id === overwrite_id);
if (!overwrite) {
// @ts-ignore
overwrite = {
@@ -64,7 +59,7 @@ router.put(
router.delete("/:overwrite_id", route({ permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => {
const { channel_id, overwrite_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
if (!channel.guild_id) throw new HTTPError("Channel not found", 404);
channel.permission_overwrites = channel.permission_overwrites!.filter((x) => x.id === overwrite_id);
diff --git a/api/src/routes/channels/#channel_id/pins.ts b/src/api/routes/channels/#channel_id/pins.ts
index e71e659f..5c28feac 100644
--- a/api/src/routes/channels/#channel_id/pins.ts
+++ b/src/api/routes/channels/#channel_id/pins.ts
@@ -1,28 +1,18 @@
-import {
- Channel,
- ChannelPinsUpdateEvent,
- Config,
- emitEvent,
- getPermission,
- Message,
- MessageUpdateEvent,
- DiscordApiErrors
-} from "@fosscord/util";
-import { Router, Request, Response } from "express";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
+import { Channel, ChannelPinsUpdateEvent, Config, DiscordApiErrors, emitEvent, Message, MessageUpdateEvent } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
router.put("/:message_id", route({ permission: "VIEW_CHANNEL" }), async (req: Request, res: Response) => {
const { channel_id, message_id } = req.params;
- const message = await Message.findOneOrFail({ id: message_id });
+ const message = await Message.findOneOrFail({ where: { id: message_id } });
// * in dm channels anyone can pin messages -> only check for guilds
if (message.guild_id) req.permission!.hasThrow("MANAGE_MESSAGES");
- const pinned_count = await Message.count({ channel: { id: channel_id }, pinned: true });
+ const pinned_count = await Message.count({ where: { channel: { id: channel_id }, pinned: true } });
const { maxPins } = Config.get().limits.channel;
if (pinned_count >= maxPins) throw DiscordApiErrors.MAXIMUM_PINS.withParams(maxPins);
@@ -50,10 +40,10 @@ router.put("/:message_id", route({ permission: "VIEW_CHANNEL" }), async (req: Re
router.delete("/:message_id", route({ permission: "VIEW_CHANNEL" }), async (req: Request, res: Response) => {
const { channel_id, message_id } = req.params;
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
if (channel.guild_id) req.permission!.hasThrow("MANAGE_MESSAGES");
- const message = await Message.findOneOrFail({ id: message_id });
+ const message = await Message.findOneOrFail({ where: { id: message_id } });
message.pinned = false;
await Promise.all([
@@ -82,7 +72,7 @@ router.delete("/:message_id", route({ permission: "VIEW_CHANNEL" }), async (req:
router.get("/", route({ permission: ["READ_MESSAGE_HISTORY"] }), async (req: Request, res: Response) => {
const { channel_id } = req.params;
- let pins = await Message.find({ channel_id: channel_id, pinned: true });
+ let pins = await Message.find({ where: { channel_id, pinned: true } });
res.send(pins);
});
diff --git a/api/src/routes/channels/#channel_id/recipients.ts b/src/api/routes/channels/#channel_id/recipients.ts
index e6466211..276a0eda 100644
--- a/api/src/routes/channels/#channel_id/recipients.ts
+++ b/src/api/routes/channels/#channel_id/recipients.ts
@@ -1,4 +1,4 @@
-import { Request, Response, Router } from "express";
+import { route } from "@fosscord/api";
import {
Channel,
ChannelRecipientAddEvent,
@@ -6,11 +6,12 @@ import {
DiscordApiErrors,
DmChannelDTO,
emitEvent,
+ OrmUtils,
PublicUserProjection,
Recipient,
User
} from "@fosscord/util";
-import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
@@ -28,7 +29,7 @@ router.put("/:user_id", route({}), async (req: Request, res: Response) => {
throw DiscordApiErrors.INVALID_RECIPIENT; //TODO is this the right error?
}
- channel.recipients!.push(new Recipient({ channel_id: channel_id, user_id: user_id }));
+ channel.recipients!.push(OrmUtils.mergeDeep(new Recipient(), { channel_id, user_id: user_id }));
await channel.save();
await emitEvent({
diff --git a/api/src/routes/channels/#channel_id/typing.ts b/src/api/routes/channels/#channel_id/typing.ts
index 56652368..26d0fcfa 100644
--- a/api/src/routes/channels/#channel_id/typing.ts
+++ b/src/api/routes/channels/#channel_id/typing.ts
@@ -1,6 +1,6 @@
-import { Channel, emitEvent, Member, TypingStartEvent } from "@fosscord/util";
import { route } from "@fosscord/api";
-import { Router, Request, Response } from "express";
+import { Channel, emitEvent, Member, TypingStartEvent } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
@@ -8,7 +8,7 @@ router.post("/", route({ permission: "SEND_MESSAGES" }), async (req: Request, re
const { channel_id } = req.params;
const user_id = req.user_id;
const timestamp = Date.now();
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
const member = await Member.findOne({ where: { id: user_id, guild_id: channel.guild_id }, relations: ["roles", "user"] });
await emitEvent({
diff --git a/api/src/routes/channels/#channel_id/webhooks.ts b/src/api/routes/channels/#channel_id/webhooks.ts
index 92895da6..38dcb869 100644
--- a/api/src/routes/channels/#channel_id/webhooks.ts
+++ b/src/api/routes/channels/#channel_id/webhooks.ts
@@ -1,19 +1,9 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
-import { Channel, Config, getPermission, trimSpecial, Webhook } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
+import { Channel, Config, DiscordApiErrors, HTTPError, trimSpecial, Webhook } from "@fosscord/util";
+import { Request, Response, Router } from "express";
import { isTextChannel } from "./messages/index";
-import { DiscordApiErrors } from "@fosscord/util";
const router: Router = Router();
-// TODO: webhooks
-export interface WebhookCreateSchema {
- /**
- * @maxLength 80
- */
- name: string;
- avatar: string;
-}
//TODO: implement webhooks
router.get("/", route({}), async (req: Request, res: Response) => {
res.json([]);
@@ -22,20 +12,21 @@ router.get("/", route({}), async (req: Request, res: Response) => {
// TODO: use Image Data Type for avatar instead of String
router.post("/", route({ body: "WebhookCreateSchema", permission: "MANAGE_WEBHOOKS" }), async (req: Request, res: Response) => {
const channel_id = req.params.channel_id;
- const channel = await Channel.findOneOrFail({ id: channel_id });
+ const channel = await Channel.findOneOrFail({ where: { id: channel_id } });
isTextChannel(channel.type);
if (!channel.guild_id) throw new HTTPError("Not a guild channel", 400);
- const webhook_count = await Webhook.count({ channel_id });
+ const webhook_count = await Webhook.count({ where: { channel_id } });
const { maxWebhooks } = Config.get().limits.channel;
if (webhook_count > maxWebhooks) throw DiscordApiErrors.MAXIMUM_WEBHOOKS.withParams(maxWebhooks);
- var { avatar, name } = req.body as { name: string; avatar?: string };
+ let { avatar, name } = req.body as { name: string; avatar?: string };
name = trimSpecial(name);
if (name === "clyde") throw new HTTPError("Invalid name", 400);
// TODO: save webhook in database and send response
+ res.json(new Webhook());
});
export default router;
diff --git a/api/src/routes/discovery.ts b/src/api/routes/discovery.ts
index 1991400e..7b9edd48 100644
--- a/api/src/routes/discovery.ts
+++ b/src/api/routes/discovery.ts
@@ -1,6 +1,6 @@
import { Categories } from "@fosscord/util";
-import { Router, Response, Request } from "express";
-import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
+import { route } from "..";
const router = Router();
@@ -10,7 +10,7 @@ router.get("/categories", route({}), async (req: Request, res: Response) => {
const { locale, primary_only } = req.query;
- const out = primary_only ? await Categories.find() : await Categories.find({ where: `"is_primary" = "true"` });
+ const out = primary_only ? await Categories.find() : await Categories.find({ where: { is_primary: true } });
res.send(out);
});
diff --git a/api/src/routes/experiments.ts b/src/api/routes/experiments.ts
index 7be86fb8..0355c631 100644
--- a/api/src/routes/experiments.ts
+++ b/src/api/routes/experiments.ts
@@ -1,11 +1,11 @@
-import { Router, Response, Request } from "express";
-import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
+import { route } from "..";
const router = Router();
router.get("/", route({}), (req: Request, res: Response) => {
// TODO:
- res.send({ fingerprint: "", assignments: [], guild_experiments:[] });
+ res.send({ fingerprint: "", assignments: [], guild_experiments: [] });
});
export default router;
diff --git a/api/src/routes/gateway/bot.ts b/src/api/routes/gateway/bot.ts
index f1dbb9df..0e44f6b2 100644
--- a/api/src/routes/gateway/bot.ts
+++ b/src/api/routes/gateway/bot.ts
@@ -1,6 +1,6 @@
-import { Config } from "@fosscord/util";
-import { Router, Response, Request } from "express";
import { route, RouteOptions } from "@fosscord/api";
+import { Config } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/gateway/index.ts b/src/api/routes/gateway/index.ts
index 9bad7478..47037573 100644
--- a/api/src/routes/gateway/index.ts
+++ b/src/api/routes/gateway/index.ts
@@ -1,6 +1,6 @@
-import { Config } from "@fosscord/util";
-import { Router, Response, Request } from "express";
import { route, RouteOptions } from "@fosscord/api";
+import { Config } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/gifs/search.ts b/src/api/routes/gifs/search.ts
index 9ad7a592..8b5e984a 100644
--- a/api/src/routes/gifs/search.ts
+++ b/src/api/routes/gifs/search.ts
@@ -1,7 +1,7 @@
-import { Router, Response, Request } from "express";
-import fetch from "node-fetch";
-import ProxyAgent from 'proxy-agent';
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
+import fetch from "node-fetch";
+import ProxyAgent from "proxy-agent";
import { getGifApiKey, parseGifResult } from "./trending";
const router = Router();
@@ -11,7 +11,7 @@ router.get("/", route({}), async (req: Request, res: Response) => {
const { q, media_format, locale } = req.query;
const apiKey = getGifApiKey();
-
+
const agent = new ProxyAgent();
const response = await fetch(`https://g.tenor.com/v1/search?q=${q}&media_format=${media_format}&locale=${locale}&key=${apiKey}`, {
@@ -20,7 +20,7 @@ router.get("/", route({}), async (req: Request, res: Response) => {
headers: { "Content-Type": "application/json" }
});
- const { results } = await response.json();
+ const { results } = (await response.json()) as any;
res.json(results.map(parseGifResult)).status(200);
});
diff --git a/api/src/routes/gifs/trending-gifs.ts b/src/api/routes/gifs/trending-gifs.ts
index 6d97bf7c..65a9600e 100644
--- a/api/src/routes/gifs/trending-gifs.ts
+++ b/src/api/routes/gifs/trending-gifs.ts
@@ -1,7 +1,7 @@
-import { Router, Response, Request } from "express";
-import fetch from "node-fetch";
-import ProxyAgent from 'proxy-agent';
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
+import fetch from "node-fetch";
+import ProxyAgent from "proxy-agent";
import { getGifApiKey, parseGifResult } from "./trending";
const router = Router();
@@ -11,7 +11,7 @@ router.get("/", route({}), async (req: Request, res: Response) => {
const { media_format, locale } = req.query;
const apiKey = getGifApiKey();
-
+
const agent = new ProxyAgent();
const response = await fetch(`https://g.tenor.com/v1/trending?media_format=${media_format}&locale=${locale}&key=${apiKey}`, {
@@ -20,7 +20,7 @@ router.get("/", route({}), async (req: Request, res: Response) => {
headers: { "Content-Type": "application/json" }
});
- const { results } = await response.json();
+ const { results } = (await response.json()) as any;
res.json(results.map(parseGifResult)).status(200);
});
diff --git a/api/src/routes/gifs/trending.ts b/src/api/routes/gifs/trending.ts
index c81b4c08..45396ff0 100644
--- a/api/src/routes/gifs/trending.ts
+++ b/src/api/routes/gifs/trending.ts
@@ -1,9 +1,8 @@
-import { Router, Response, Request } from "express";
-import fetch from "node-fetch";
-import ProxyAgent from 'proxy-agent';
import { route } from "@fosscord/api";
-import { Config } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
+import { Config, HTTPError } from "@fosscord/util";
+import { Request, Response, Router } from "express";
+import fetch from "node-fetch";
+import ProxyAgent from "proxy-agent";
const router = Router();
@@ -34,7 +33,7 @@ router.get("/", route({}), async (req: Request, res: Response) => {
const { media_format, locale } = req.query;
const apiKey = getGifApiKey();
-
+
const agent = new ProxyAgent();
const [responseSource, trendGifSource] = await Promise.all([
@@ -50,8 +49,8 @@ router.get("/", route({}), async (req: Request, res: Response) => {
})
]);
- const { tags } = await responseSource.json();
- const { results } = await trendGifSource.json();
+ const { tags } = (await responseSource.json()) as any;
+ const { results } = (await trendGifSource.json()) as any;
res.json({
categories: tags.map((x: any) => ({ name: x.searchterm, src: x.image })),
diff --git a/api/src/routes/guild-recommendations.ts b/src/api/routes/guild-recommendations.ts
index 1432f39c..0248a9c3 100644
--- a/api/src/routes/guild-recommendations.ts
+++ b/src/api/routes/guild-recommendations.ts
@@ -1,23 +1,24 @@
-import { Guild, Config } from "@fosscord/util";
+import { Config, Guild } from "@fosscord/util";
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
+import { Like } from "typeorm";
+import { route } from "..";
const router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { limit, personalization_disabled } = req.query;
- var showAllGuilds = Config.get().guild.discovery.showAllGuilds;
+ let showAllGuilds = Config.get().guild.discovery.showAllGuilds;
// ! this only works using SQL querys
// TODO: implement this with default typeorm query
// const guilds = await Guild.find({ where: { features: "DISCOVERABLE" } }); //, take: Math.abs(Number(limit)) });
- const genLoadId = (size: Number) => [...Array(size)].map(() => Math.floor(Math.random() * 16).toString(16)).join('');
+ const genLoadId = (size: Number) => [...Array(size)].map(() => Math.floor(Math.random() * 16).toString(16)).join("");
const guilds = showAllGuilds
? await Guild.find({ take: Math.abs(Number(limit || 24)) })
- : await Guild.find({ where: `"features" LIKE '%DISCOVERABLE%'`, take: Math.abs(Number(limit || 24)) });
- res.send({ recommended_guilds: guilds, load_id: `server_recs/${genLoadId(32)}`}).status(200);
+ : await Guild.find({ where: { features: Like("%DISCOVERABLE%") }, take: Math.abs(Number(limit || 24)) });
+ res.send({ recommended_guilds: guilds, load_id: `server_recs/${genLoadId(32)}` }).status(200);
});
export default router;
diff --git a/api/src/routes/guilds/#guild_id/audit-logs.ts b/src/api/routes/guilds/#guild_id/audit-logs.ts
index a4f2f800..05b9982e 100644
--- a/api/src/routes/guilds/#guild_id/audit-logs.ts
+++ b/src/api/routes/guilds/#guild_id/audit-logs.ts
@@ -1,8 +1,5 @@
-import { Router, Response, Request } from "express";
-import { Channel, ChannelUpdateEvent, getPermission, emitEvent } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
-import { ChannelModifySchema } from "../../channels/#channel_id";
+import { Request, Response, Router } from "express";
const router = Router();
//TODO: implement audit logs
diff --git a/api/src/routes/guilds/#guild_id/bans.ts b/src/api/routes/guilds/#guild_id/bans.ts
index 1ce41936..4600b4cb 100644
--- a/api/src/routes/guilds/#guild_id/bans.ts
+++ b/src/api/routes/guilds/#guild_id/bans.ts
@@ -1,29 +1,18 @@
-import { Request, Response, Router } from "express";
-import { DiscordApiErrors, emitEvent, getPermission, GuildBanAddEvent, GuildBanRemoveEvent, Guild, Ban, User, Member } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { getIpAdress, route } from "@fosscord/api";
-
-export interface BanCreateSchema {
- delete_message_days?: string;
- reason?: string;
-};
-
-export interface BanRegistrySchema {
- id: string;
- user_id: string;
- guild_id: string;
- executor_id: string;
- ip?: string;
- reason?: string | undefined;
-};
-
-export interface BanModeratorSchema {
- id: string;
- user_id: string;
- guild_id: string;
- executor_id: string;
- reason?: string | undefined;
-};
+import {
+ Ban,
+ BanModeratorSchema,
+ BanRegistrySchema,
+ DiscordApiErrors,
+ emitEvent,
+ GuildBanAddEvent,
+ GuildBanRemoveEvent,
+ HTTPError,
+ Member,
+ OrmUtils,
+ User
+} from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
@@ -32,7 +21,7 @@ const router: Router = Router();
router.get("/", route({ permission: "BAN_MEMBERS" }), async (req: Request, res: Response) => {
const { guild_id } = req.params;
- let bans = await Ban.find({ guild_id: guild_id });
+ let bans = await Ban.find({ where: { guild_id } });
let promisesToAwait: object[] = [];
const bansObj: object[] = [];
@@ -65,16 +54,16 @@ router.get("/:user", route({ permission: "BAN_MEMBERS" }), async (req: Request,
const { guild_id } = req.params;
const user_id = req.params.ban;
- let ban = await Ban.findOneOrFail({ guild_id: guild_id, user_id: user_id }) as BanRegistrySchema;
-
+ let ban = (await Ban.findOneOrFail({ where: { guild_id, user_id } })) as BanRegistrySchema;
+
if (ban.user_id === ban.executor_id) throw DiscordApiErrors.UNKNOWN_BAN;
// pretend self-bans don't exist to prevent victim chasing
-
+
/* Filter secret from registry. */
-
+
ban = ban as BanModeratorSchema;
- delete ban.ip
+ delete ban.ip;
return res.json(ban);
});
@@ -83,14 +72,14 @@ router.put("/:user_id", route({ body: "BanCreateSchema", permission: "BAN_MEMBER
const { guild_id } = req.params;
const banned_user_id = req.params.user_id;
- if ( (req.user_id === banned_user_id) && (banned_user_id === req.permission!.cache.guild?.owner_id))
+ if (req.user_id === banned_user_id && banned_user_id === req.permission!.cache.guild?.owner_id)
throw new HTTPError("You are the guild owner, hence can't ban yourself", 403);
-
+
if (req.permission!.cache.guild?.owner_id === banned_user_id) throw new HTTPError("You can't ban the owner", 400);
-
+
const banned_user = await User.getPublicUser(banned_user_id);
- const ban = new Ban({
+ const ban = OrmUtils.mergeDeep(new Ban(), {
user_id: banned_user_id,
guild_id: guild_id,
ip: getIpAdress(req),
@@ -114,15 +103,15 @@ router.put("/:user_id", route({ body: "BanCreateSchema", permission: "BAN_MEMBER
return res.json(ban);
});
-router.put("/@me", route({ body: "BanCreateSchema"}), async (req: Request, res: Response) => {
+router.put("/@me", route({ body: "BanCreateSchema" }), async (req: Request, res: Response) => {
const { guild_id } = req.params;
const banned_user = await User.getPublicUser(req.params.user_id);
- if (req.permission!.cache.guild?.owner_id === req.params.user_id)
+ if (req.permission!.cache.guild?.owner_id === req.params.user_id)
throw new HTTPError("You are the guild owner, hence can't ban yourself", 403);
-
- const ban = new Ban({
+
+ const ban = OrmUtils.mergeDeep(new Ban(), {
user_id: req.params.user_id,
guild_id: guild_id,
ip: getIpAdress(req),
@@ -149,13 +138,13 @@ router.put("/@me", route({ body: "BanCreateSchema"}), async (req: Request, res:
router.delete("/:user_id", route({ permission: "BAN_MEMBERS" }), async (req: Request, res: Response) => {
const { guild_id, user_id } = req.params;
- let ban = await Ban.findOneOrFail({ guild_id: guild_id, user_id: user_id });
-
+ let ban = await Ban.findOneOrFail({ where: { guild_id, user_id } });
+
if (ban.user_id === ban.executor_id) throw DiscordApiErrors.UNKNOWN_BAN;
// make self-bans irreversible and hide them from view to avoid victim chasing
-
+
const banned_user = await User.getPublicUser(user_id);
-
+
await Promise.all([
Ban.delete({
user_id: user_id,
diff --git a/api/src/routes/guilds/#guild_id/channels.ts b/src/api/routes/guilds/#guild_id/channels.ts
index a921fa21..3563eb4c 100644
--- a/api/src/routes/guilds/#guild_id/channels.ts
+++ b/src/api/routes/guilds/#guild_id/channels.ts
@@ -1,13 +1,11 @@
-import { Router, Response, Request } from "express";
-import { Channel, ChannelUpdateEvent, getPermission, emitEvent } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
-import { ChannelModifySchema } from "../../channels/#channel_id";
+import { Channel, ChannelModifySchema, ChannelReorderSchema, ChannelUpdateEvent, emitEvent, HTTPError } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
- const channels = await Channel.find({ guild_id });
+ const channels = await Channel.find({ where: { guild_id } });
res.json(channels);
});
@@ -22,8 +20,6 @@ router.post("/", route({ body: "ChannelModifySchema", permission: "MANAGE_CHANNE
res.status(201).json(channel);
});
-export type ChannelReorderSchema = { id: string; position?: number; lock_permissions?: boolean; parent_id?: string }[];
-
router.patch("/", route({ body: "ChannelReorderSchema", permission: "MANAGE_CHANNELS" }), async (req: Request, res: Response) => {
// changes guild channel position
const { guild_id } = req.params;
@@ -48,7 +44,7 @@ router.patch("/", route({ body: "ChannelReorderSchema", permission: "MANAGE_CHAN
}
await Channel.update({ guild_id, id: x.id }, opts);
- const channel = await Channel.findOneOrFail({ guild_id, id: x.id });
+ const channel = await Channel.findOneOrFail({ where: { guild_id, id: x.id } });
await emitEvent({ event: "CHANNEL_UPDATE", data: channel, channel_id: x.id, guild_id } as ChannelUpdateEvent);
})
diff --git a/api/src/routes/guilds/#guild_id/delete.ts b/src/api/routes/guilds/#guild_id/delete.ts
index bd158c56..e6a1a6b2 100644
--- a/api/src/routes/guilds/#guild_id/delete.ts
+++ b/src/api/routes/guilds/#guild_id/delete.ts
@@ -1,14 +1,13 @@
-import { Channel, emitEvent, GuildDeleteEvent, Guild, Member, Message, Role, Invite, Emoji } from "@fosscord/util";
-import { Router, Request, Response } from "express";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
+import { emitEvent, Guild, GuildDeleteEvent, HTTPError } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
// discord prefixes this route with /delete instead of using the delete method
// docs are wrong https://discord.com/developers/docs/resources/guild#delete-guild
router.post("/", route({}), async (req: Request, res: Response) => {
- var { guild_id } = req.params;
+ let { guild_id } = req.params;
const guild = await Guild.findOneOrFail({ where: { id: guild_id }, select: ["owner_id"] });
if (guild.owner_id !== req.user_id) throw new HTTPError("You are not the owner of this guild", 401);
diff --git a/api/src/routes/guilds/#guild_id/emojis.ts b/src/api/routes/guilds/#guild_id/emojis.ts
index 85d7ac05..db5ae325 100644
--- a/api/src/routes/guilds/#guild_id/emojis.ts
+++ b/src/api/routes/guilds/#guild_id/emojis.ts
@@ -1,21 +1,22 @@
-import { Router, Request, Response } from "express";
-import { Config, DiscordApiErrors, emitEvent, Emoji, GuildEmojisUpdateEvent, handleFile, Member, Snowflake, User } from "@fosscord/util";
import { route } from "@fosscord/api";
+import {
+ Config,
+ DiscordApiErrors,
+ emitEvent,
+ Emoji,
+ EmojiCreateSchema,
+ EmojiModifySchema,
+ GuildEmojisUpdateEvent,
+ handleFile,
+ Member,
+ OrmUtils,
+ Snowflake,
+ User
+} from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
-export interface EmojiCreateSchema {
- name?: string;
- image: string;
- require_colons?: boolean | null;
- roles?: string[];
-}
-
-export interface EmojiModifySchema {
- name?: string;
- roles?: string[];
-}
-
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
@@ -41,16 +42,16 @@ router.post("/", route({ body: "EmojiCreateSchema", permission: "MANAGE_EMOJIS_A
const body = req.body as EmojiCreateSchema;
const id = Snowflake.generate();
- const emoji_count = await Emoji.count({ guild_id: guild_id });
+ const emoji_count = await Emoji.count({ where: { guild_id } });
const { maxEmojis } = Config.get().limits.guild;
if (emoji_count >= maxEmojis) throw DiscordApiErrors.MAXIMUM_NUMBER_OF_EMOJIS_REACHED.withParams(maxEmojis);
if (body.require_colons == null) body.require_colons = true;
- const user = await User.findOneOrFail({ id: req.user_id });
+ const user = await User.findOneOrFail({ where: { id: req.user_id } });
body.image = (await handleFile(`/emojis/${id}`, body.image)) as string;
- const emoji = await new Emoji({
+ const emoji = await OrmUtils.mergeDeep(new Emoji(), {
id: id,
guild_id: guild_id,
...body,
@@ -66,7 +67,7 @@ router.post("/", route({ body: "EmojiCreateSchema", permission: "MANAGE_EMOJIS_A
guild_id: guild_id,
data: {
guild_id: guild_id,
- emojis: await Emoji.find({ guild_id: guild_id })
+ emojis: await Emoji.find({ where: { guild_id } })
}
} as GuildEmojisUpdateEvent);
@@ -80,14 +81,14 @@ router.patch(
const { emoji_id, guild_id } = req.params;
const body = req.body as EmojiModifySchema;
- const emoji = await new Emoji({ ...body, id: emoji_id, guild_id: guild_id }).save();
+ const emoji = await OrmUtils.mergeDeep(new Emoji(), { ...body, id: emoji_id, guild_id: guild_id }).save();
await emitEvent({
event: "GUILD_EMOJIS_UPDATE",
guild_id: guild_id,
data: {
guild_id: guild_id,
- emojis: await Emoji.find({ guild_id: guild_id })
+ emojis: await Emoji.find({ where: { guild_id } })
}
} as GuildEmojisUpdateEvent);
@@ -108,7 +109,7 @@ router.delete("/:emoji_id", route({ permission: "MANAGE_EMOJIS_AND_STICKERS" }),
guild_id: guild_id,
data: {
guild_id: guild_id,
- emojis: await Emoji.find({ guild_id: guild_id })
+ emojis: await Emoji.find({ where: { guild_id } })
}
} as GuildEmojisUpdateEvent);
diff --git a/api/src/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts
index 4ec3df72..af889982 100644
--- a/api/src/routes/guilds/#guild_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/index.ts
@@ -1,33 +1,27 @@
-import { Request, Response, Router } from "express";
-import { DiscordApiErrors, emitEvent, getPermission, getRights, Guild, GuildUpdateEvent, handleFile, Member } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
-import "missing-native-js-functions";
-import { GuildCreateSchema } from "../index";
+import {
+ DiscordApiErrors,
+ emitEvent,
+ getPermission,
+ getRights,
+ Guild,
+ GuildUpdateEvent,
+ GuildUpdateSchema,
+ handleFile,
+ HTTPError,
+ Member,
+ OrmUtils
+} from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
-export interface GuildUpdateSchema extends Omit<GuildCreateSchema, "channels"> {
- banner?: string | null;
- splash?: string | null;
- description?: string;
- features?: string[];
- verification_level?: number;
- default_message_notifications?: number;
- system_channel_flags?: number;
- explicit_content_filter?: number;
- public_updates_channel_id?: string;
- afk_timeout?: number;
- afk_channel_id?: string;
- preferred_locale?: string;
-}
-
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
const [guild, member] = await Promise.all([
- Guild.findOneOrFail({ id: guild_id }),
- Member.findOne({ guild_id: guild_id, id: req.user_id })
+ Guild.findOneOrFail({ where: { id: guild_id } }),
+ Member.findOne({ where: { guild_id, id: req.user_id } })
]);
if (!member) throw new HTTPError("You are not a member of the guild you are trying to access", 401);
@@ -37,31 +31,31 @@ router.get("/", route({}), async (req: Request, res: Response) => {
return res.send(guild);
});
-router.patch("/", route({ body: "GuildUpdateSchema"}), async (req: Request, res: Response) => {
+router.patch("/", route({ body: "GuildUpdateSchema" }), async (req: Request, res: Response) => {
const body = req.body as GuildUpdateSchema;
const { guild_id } = req.params;
-
-
+
const rights = await getRights(req.user_id);
const permission = await getPermission(req.user_id, guild_id);
-
- if (!rights.has("MANAGE_GUILDS")||!permission.has("MANAGE_GUILD"))
+
+ if (!rights.has("MANAGE_GUILDS") || !permission.has("MANAGE_GUILD"))
throw DiscordApiErrors.MISSING_PERMISSIONS.withParams("MANAGE_GUILD");
-
+
// TODO: guild update check image
if (body.icon) body.icon = await handleFile(`/icons/${guild_id}`, body.icon);
if (body.banner) body.banner = await handleFile(`/banners/${guild_id}`, body.banner);
if (body.splash) body.splash = await handleFile(`/splashes/${guild_id}`, body.splash);
- var guild = await Guild.findOneOrFail({
+ let guild = await Guild.findOneOrFail({
where: { id: guild_id },
relations: ["emojis", "roles", "stickers"]
});
// TODO: check if body ids are valid
- guild.assign(body);
+ guild = OrmUtils.mergeDeep(guild, body);
- const data = guild.toJSON();
+ //TODO: check this, removed toJSON call
+ const data = JSON.parse(JSON.stringify(guild));
// TODO: guild hashes
// TODO: fix vanity_url_code, template_id
delete data.vanity_url_code;
diff --git a/api/src/routes/guilds/#guild_id/invites.ts b/src/api/routes/guilds/#guild_id/invites.ts
index b7534e31..c663df72 100644
--- a/api/src/routes/guilds/#guild_id/invites.ts
+++ b/src/api/routes/guilds/#guild_id/invites.ts
@@ -1,5 +1,5 @@
-import { getPermission, Invite, PublicInviteRelation } from "@fosscord/util";
import { route } from "@fosscord/api";
+import { Invite, PublicInviteRelation } from "@fosscord/util";
import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
index c285abb3..57152f9a 100644
--- a/api/src/routes/guilds/#guild_id/members/#member_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
@@ -1,19 +1,26 @@
-import { Request, Response, Router } from "express";
-import { Member, getPermission, getRights, Role, GuildMemberUpdateEvent, emitEvent, Sticker, Emoji, Rights, Guild } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
+import {
+ emitEvent,
+ Emoji,
+ getPermission,
+ getRights,
+ Guild,
+ GuildMemberUpdateEvent,
+ Member,
+ MemberChangeSchema,
+ OrmUtils,
+ Role,
+ Sticker
+} from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
-export interface MemberChangeSchema {
- roles?: string[];
-}
-
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id, member_id } = req.params;
await Member.IsInGuildOrFail(req.user_id, guild_id);
- const member = await Member.findOneOrFail({ id: member_id, guild_id });
+ const member = await Member.findOneOrFail({ where: { id: member_id, guild_id } });
return res.json(member);
});
@@ -25,13 +32,13 @@ router.patch("/", route({ body: "MemberChangeSchema" }), async (req: Request, re
const member = await Member.findOneOrFail({ where: { id: member_id, guild_id }, relations: ["roles", "user"] });
const permission = await getPermission(req.user_id, guild_id);
- const everyone = await Role.findOneOrFail({ guild_id: guild_id, name: "@everyone", position: 0 });
+ const everyone = await Role.findOneOrFail({ where: { guild_id: guild_id, name: "@everyone", position: 0 } });
if (body.roles) {
permission.hasThrow("MANAGE_ROLES");
if (body.roles.indexOf(everyone.id) === -1) body.roles.push(everyone.id);
- member.roles = body.roles.map((x) => new Role({ id: x })); // foreign key constraint will fail if role doesn't exist
+ member.roles = body.roles.map((x) => OrmUtils.mergeDeep(new Role(), { id: x })); // foreign key constraint will fail if role doesn't exist
}
await member.save();
@@ -49,7 +56,6 @@ router.patch("/", route({ body: "MemberChangeSchema" }), async (req: Request, re
});
router.put("/", route({}), async (req: Request, res: Response) => {
-
// TODO: Lurker mode
const rights = await getRights(req.user_id);
@@ -59,22 +65,22 @@ router.put("/", route({}), async (req: Request, res: Response) => {
member_id = req.user_id;
rights.hasThrow("JOIN_GUILDS");
} else {
- // TODO: join others by controller
+ // TODO: join others by controller
}
- var guild = await Guild.findOneOrFail({
+ let guild = await Guild.findOneOrFail({
where: { id: guild_id }
});
- var emoji = await Emoji.find({
+ let emoji = await Emoji.find({
where: { guild_id: guild_id }
});
- var roles = await Role.find({
+ let roles = await Role.find({
where: { guild_id: guild_id }
});
- var stickers = await Sticker.find({
+ let stickers = await Sticker.find({
where: { guild_id: guild_id }
});
diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/nick.ts b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
index 27f7f65d..26411f97 100644
--- a/api/src/routes/guilds/#guild_id/members/#member_id/nick.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
@@ -1,16 +1,12 @@
-import { getPermission, Member, PermissionResolvable } from "@fosscord/util";
import { route } from "@fosscord/api";
+import { getPermission, Member, PermissionResolvable } from "@fosscord/util";
import { Request, Response, Router } from "express";
const router = Router();
-export interface MemberNickChangeSchema {
- nick: string;
-}
-
router.patch("/", route({ body: "MemberNickChangeSchema" }), async (req: Request, res: Response) => {
- var { guild_id, member_id } = req.params;
- var permissionString: PermissionResolvable = "MANAGE_NICKNAMES";
+ let { guild_id, member_id } = req.params;
+ let permissionString: PermissionResolvable = "MANAGE_NICKNAMES";
if (member_id === "@me") {
member_id = req.user_id;
permissionString = "CHANGE_NICKNAME";
diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
index 8f5ca7ba..0aa7a4dc 100644
--- a/api/src/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
@@ -1,5 +1,5 @@
-import { getPermission, Member } from "@fosscord/util";
import { route } from "@fosscord/api";
+import { Member } from "@fosscord/util";
import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/guilds/#guild_id/members/index.ts b/src/api/routes/guilds/#guild_id/members/index.ts
index b730a4e7..08164626 100644
--- a/api/src/routes/guilds/#guild_id/members/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/index.ts
@@ -1,8 +1,7 @@
-import { Request, Response, Router } from "express";
-import { Guild, Member, PublicMemberProjection } from "@fosscord/util";
import { route } from "@fosscord/api";
+import { HTTPError, Member, PublicMemberProjection } from "@fosscord/util";
+import { Request, Response, Router } from "express";
import { MoreThan } from "typeorm";
-import { HTTPError } from "lambert-server";
const router = Router();
diff --git a/api/src/routes/guilds/#guild_id/premium.ts b/src/api/routes/guilds/#guild_id/premium.ts
index 75361ac6..b7716378 100644
--- a/api/src/routes/guilds/#guild_id/premium.ts
+++ b/src/api/routes/guilds/#guild_id/premium.ts
@@ -1,5 +1,5 @@
-import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
router.get("/subscriptions", route({}), async (req: Request, res: Response) => {
diff --git a/api/src/routes/guilds/#guild_id/prune.ts b/src/api/routes/guilds/#guild_id/prune.ts
index 0e587d22..3645721c 100644
--- a/api/src/routes/guilds/#guild_id/prune.ts
+++ b/src/api/routes/guilds/#guild_id/prune.ts
@@ -1,21 +1,21 @@
-import { Router, Request, Response } from "express";
-import { Guild, Member, Snowflake } from "@fosscord/util";
-import { LessThan, IsNull } from "typeorm";
import { route } from "@fosscord/api";
+import { Guild, Member, Snowflake } from "@fosscord/util";
+import { Request, Response, Router } from "express";
+import { IsNull, LessThan } from "typeorm";
const router = Router();
//Returns all inactive members, respecting role hierarchy
export const inactiveMembers = async (guild_id: string, user_id: string, days: number, roles: string[] = []) => {
- var date = new Date();
+ let date = new Date();
date.setDate(date.getDate() - days);
//Snowflake should have `generateFromTime` method? Or similar?
- var minId = BigInt(date.valueOf() - Snowflake.EPOCH) << BigInt(22);
+ let minId = BigInt(date.valueOf() - Snowflake.EPOCH) << BigInt(22);
/**
idea: ability to customise the cutoff variable
possible candidates: public read receipt, last presence, last VC leave
**/
- var members = await Member.find({
+ let members = await Member.find({
where: [
{
guild_id,
@@ -33,7 +33,7 @@ export const inactiveMembers = async (guild_id: string, user_id: string, days: n
//I'm sure I can do this in the above db query ( and it would probably be better to do so ), but oh well.
if (roles.length && members.length) members = members.filter((user) => user.roles?.some((role) => roles.includes(role.id)));
- const me = await Member.findOneOrFail({ id: user_id, guild_id }, { relations: ["roles"] });
+ const me = await Member.findOneOrFail({ where: { id: user_id, guild_id }, relations: ["roles"] });
const myHighestRole = Math.max(...(me.roles?.map((x) => x.position) || []));
const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
@@ -54,7 +54,7 @@ export const inactiveMembers = async (guild_id: string, user_id: string, days: n
router.get("/", route({}), async (req: Request, res: Response) => {
const days = parseInt(req.query.days as string);
- var roles = req.query.include_roles;
+ let roles = req.query.include_roles;
if (typeof roles === "string") roles = [roles]; //express will return array otherwise
const members = await inactiveMembers(req.params.guild_id, req.user_id, days, roles as string[]);
@@ -62,17 +62,10 @@ router.get("/", route({}), async (req: Request, res: Response) => {
res.send({ pruned: members.length });
});
-export interface PruneSchema {
- /**
- * @min 0
- */
- days: number;
-}
-
router.post("/", route({ permission: "KICK_MEMBERS", right: "KICK_BAN_MEMBERS" }), async (req: Request, res: Response) => {
const days = parseInt(req.body.days);
- var roles = req.query.include_roles;
+ let roles = req.query.include_roles;
if (typeof roles === "string") roles = [roles];
const { guild_id } = req.params;
diff --git a/api/src/routes/guilds/#guild_id/regions.ts b/src/api/routes/guilds/#guild_id/regions.ts
index 75d24fd1..aa57ec65 100644
--- a/api/src/routes/guilds/#guild_id/regions.ts
+++ b/src/api/routes/guilds/#guild_id/regions.ts
@@ -1,13 +1,12 @@
-import { Config, Guild, Member } from "@fosscord/util";
+import { getIpAdress, getVoiceRegions, route } from "@fosscord/api";
+import { Guild } from "@fosscord/util";
import { Request, Response, Router } from "express";
-import { getVoiceRegions, route } from "@fosscord/api";
-import { getIpAdress } from "@fosscord/api";
const router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
//TODO we should use an enum for guild's features and not hardcoded strings
return res.json(await getVoiceRegions(getIpAdress(req), guild.features.includes("VIP_REGIONS")));
});
diff --git a/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
index 2ad01682..7f9dbc6f 100644
--- a/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
@@ -1,15 +1,23 @@
-import { Router, Request, Response } from "express";
-import { Role, Member, GuildRoleUpdateEvent, GuildRoleDeleteEvent, emitEvent, handleFile } from "@fosscord/util";
import { route } from "@fosscord/api";
-import { HTTPError } from "lambert-server";
-import { RoleModifySchema } from "../";
+import {
+ emitEvent,
+ GuildRoleDeleteEvent,
+ GuildRoleUpdateEvent,
+ handleFile,
+ HTTPError,
+ Member,
+ OrmUtils,
+ Role,
+ RoleModifySchema
+} from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id, role_id } = req.params;
await Member.IsInGuildOrFail(req.user_id, guild_id);
- const role = await Role.findOneOrFail({ guild_id, id: role_id });
+ const role = await Role.findOneOrFail({ where: { guild_id, id: role_id } });
return res.json(role);
});
@@ -43,7 +51,7 @@ router.patch("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" }
if (body.icon) body.icon = await handleFile(`/role-icons/${role_id}`, body.icon as string);
- const role = new Role({
+ const role = OrmUtils.mergeDeep(new Role(), {
...body,
id: role_id,
guild_id,
diff --git a/api/src/routes/guilds/#guild_id/roles/index.ts b/src/api/routes/guilds/#guild_id/roles/index.ts
index 53465105..9791f7a9 100644
--- a/api/src/routes/guilds/#guild_id/roles/index.ts
+++ b/src/api/routes/guilds/#guild_id/roles/index.ts
@@ -1,43 +1,27 @@
-import { Request, Response, Router } from "express";
+import { route } from "@fosscord/api";
import {
- Role,
+ Config,
+ DiscordApiErrors,
+ emitEvent,
getPermission,
- Member,
GuildRoleCreateEvent,
GuildRoleUpdateEvent,
- GuildRoleDeleteEvent,
- emitEvent,
- Config,
- DiscordApiErrors,
- handleFile
+ Member,
+ OrmUtils,
+ Role,
+ RoleModifySchema,
+ RolePositionUpdateSchema
} from "@fosscord/util";
-import { HTTPError } from "lambert-server";
-import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
-export interface RoleModifySchema {
- name?: string;
- permissions?: string;
- color?: number;
- hoist?: boolean; // whether the role should be displayed separately in the sidebar
- mentionable?: boolean; // whether the role should be mentionable
- position?: number;
- icon?: string;
- unicode_emoji?: string;
-}
-
-export type RolePositionUpdateSchema = {
- id: string;
- position: number;
-}[];
-
router.get("/", route({}), async (req: Request, res: Response) => {
const guild_id = req.params.guild_id;
await Member.IsInGuildOrFail(req.user_id, guild_id);
- const roles = await Role.find({ guild_id: guild_id });
+ const roles = await Role.find({ where: { guild_id } });
return res.json(roles);
});
@@ -46,12 +30,12 @@ router.post("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" })
const guild_id = req.params.guild_id;
const body = req.body as RoleModifySchema;
- const role_count = await Role.count({ guild_id });
+ const role_count = await Role.count({ where: { guild_id } });
const { maxRoles } = Config.get().limits.guild;
if (role_count > maxRoles) throw DiscordApiErrors.MAXIMUM_ROLES.withParams(maxRoles);
- const role = new Role({
+ let role: Role = OrmUtils.mergeDeep(new Role(), {
// values before ...body are default and can be overriden
position: 0,
hoist: false,
diff --git a/api/src/routes/guilds/#guild_id/stickers.ts b/src/api/routes/guilds/#guild_id/stickers.ts
index 4ea1dce1..15741780 100644
--- a/api/src/routes/guilds/#guild_id/stickers.ts
+++ b/src/api/routes/guilds/#guild_id/stickers.ts
@@ -1,25 +1,26 @@
+import { route } from "@fosscord/api";
import {
emitEvent,
GuildStickersUpdateEvent,
- handleFile,
+ HTTPError,
Member,
+ ModifyGuildStickerSchema,
+ OrmUtils,
Snowflake,
Sticker,
StickerFormatType,
StickerType,
uploadFile
} from "@fosscord/util";
-import { Router, Request, Response } from "express";
-import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
import multer from "multer";
-import { HTTPError } from "lambert-server";
const router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
await Member.IsInGuildOrFail(req.user_id, guild_id);
- res.json(await Sticker.find({ guild_id }));
+ res.json(await Sticker.find({ where: { guild_id } }));
});
const bodyParser = multer({
@@ -43,7 +44,7 @@ router.post(
const id = Snowflake.generate();
const [sticker] = await Promise.all([
- new Sticker({
+ OrmUtils.mergeDeep(new Sticker(), {
...body,
guild_id,
id,
@@ -79,25 +80,9 @@ router.get("/:sticker_id", route({}), async (req: Request, res: Response) => {
const { guild_id, sticker_id } = req.params;
await Member.IsInGuildOrFail(req.user_id, guild_id);
- res.json(await Sticker.findOneOrFail({ guild_id, id: sticker_id }));
+ res.json(await Sticker.findOneOrFail({ where: { guild_id, id: sticker_id } }));
});
-export interface ModifyGuildStickerSchema {
- /**
- * @minLength 2
- * @maxLength 30
- */
- name: string;
- /**
- * @maxLength 100
- */
- description?: string;
- /**
- * @maxLength 200
- */
- tags: string;
-}
-
router.patch(
"/:sticker_id",
route({ body: "ModifyGuildStickerSchema", permission: "MANAGE_EMOJIS_AND_STICKERS" }),
@@ -105,7 +90,7 @@ router.patch(
const { guild_id, sticker_id } = req.params;
const body = req.body as ModifyGuildStickerSchema;
- const sticker = await new Sticker({ ...body, guild_id, id: sticker_id }).save();
+ const sticker = await OrmUtils.mergeDeep(new Sticker(), { ...body, guild_id, id: sticker_id }).save();
await sendStickerUpdateEvent(guild_id);
return res.json(sticker);
@@ -118,7 +103,7 @@ async function sendStickerUpdateEvent(guild_id: string) {
guild_id: guild_id,
data: {
guild_id: guild_id,
- stickers: await Sticker.find({ guild_id: guild_id })
+ stickers: await Sticker.find({ where: { guild_id } })
}
} as GuildStickersUpdateEvent);
}
diff --git a/api/src/routes/guilds/#guild_id/templates.ts b/src/api/routes/guilds/#guild_id/templates.ts
index 5179e761..448ee033 100644
--- a/api/src/routes/guilds/#guild_id/templates.ts
+++ b/src/api/routes/guilds/#guild_id/templates.ts
@@ -1,8 +1,6 @@
+import { generateCode, route } from "@fosscord/api";
+import { Guild, HTTPError, OrmUtils, Template } from "@fosscord/util";
import { Request, Response, Router } from "express";
-import { Guild, Template } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
-import { route } from "@fosscord/api";
-import { generateCode } from "@fosscord/api";
const router: Router = Router();
@@ -23,20 +21,10 @@ const TemplateGuildProjection: (keyof Guild)[] = [
"icon"
];
-export interface TemplateCreateSchema {
- name: string;
- description?: string;
-}
-
-export interface TemplateModifySchema {
- name: string;
- description?: string;
-}
-
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
- var templates = await Template.find({ source_guild_id: guild_id });
+ let templates = await Template.find({ where: { source_guild_id: guild_id } });
return res.json(templates);
});
@@ -44,10 +32,10 @@ router.get("/", route({}), async (req: Request, res: Response) => {
router.post("/", route({ body: "TemplateCreateSchema", permission: "MANAGE_GUILD" }), async (req: Request, res: Response) => {
const { guild_id } = req.params;
const guild = await Guild.findOneOrFail({ where: { id: guild_id }, select: TemplateGuildProjection });
- const exists = await Template.findOneOrFail({ id: guild_id }).catch((e) => {});
+ const exists = await Template.findOneOrFail({ where: { id: guild_id } }).catch((e) => {});
if (exists) throw new HTTPError("Template already exists", 400);
- const template = await new Template({
+ const template = await OrmUtils.mergeDeep(new Template(), {
...req.body,
code: generateCode(),
creator_id: req.user_id,
@@ -75,7 +63,7 @@ router.put("/:code", route({ permission: "MANAGE_GUILD" }), async (req: Request,
const { code, guild_id } = req.params;
const guild = await Guild.findOneOrFail({ where: { id: guild_id }, select: TemplateGuildProjection });
- const template = await new Template({ code, serialized_source_guild: guild }).save();
+ const template = await OrmUtils.mergeDeep(new Template(), { code, serialized_source_guild: guild }).save();
res.json(template);
});
@@ -84,7 +72,12 @@ router.patch("/:code", route({ body: "TemplateModifySchema", permission: "MANAGE
const { code, guild_id } = req.params;
const { name, description } = req.body;
- const template = await new Template({ code, name: name, description: description, source_guild_id: guild_id }).save();
+ const template = await OrmUtils.mergeDeep(new Template(), {
+ code,
+ name: name,
+ description: description,
+ source_guild_id: guild_id
+ }).save();
res.json(template);
});
diff --git a/api/src/routes/guilds/#guild_id/vanity-url.ts b/src/api/routes/guilds/#guild_id/vanity-url.ts
index 29cd25e2..bf2db134 100644
--- a/api/src/routes/guilds/#guild_id/vanity-url.ts
+++ b/src/api/routes/guilds/#guild_id/vanity-url.ts
@@ -1,7 +1,6 @@
-import { Channel, ChannelType, getPermission, Guild, Invite, trimSpecial } from "@fosscord/util";
-import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
-import { HTTPError } from "lambert-server";
+import { Channel, ChannelType, Guild, HTTPError, Invite, OrmUtils, VanityUrlSchema } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
@@ -9,7 +8,7 @@ const InviteRegex = /\W/g;
router.get("/", route({ permission: "MANAGE_GUILD" }), async (req: Request, res: Response) => {
const { guild_id } = req.params;
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
if (!guild.features.includes("ALIASABLE_NAMES")) {
const invite = await Invite.findOne({ where: { guild_id: guild_id, vanity_url: true } });
@@ -24,30 +23,22 @@ router.get("/", route({ permission: "MANAGE_GUILD" }), async (req: Request, res:
}
});
-export interface VanityUrlSchema {
- /**
- * @minLength 1
- * @maxLength 20
- */
- code?: string;
-}
-
router.patch("/", route({ body: "VanityUrlSchema", permission: "MANAGE_GUILD" }), async (req: Request, res: Response) => {
const { guild_id } = req.params;
const body = req.body as VanityUrlSchema;
const code = body.code?.replace(InviteRegex, "");
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
if (!guild.features.includes("VANITY_URL")) throw new HTTPError("Your guild doesn't support vanity urls");
if (!code || code.length === 0) throw new HTTPError("Code cannot be null or empty");
- const invite = await Invite.findOne({ code });
+ const invite = await Invite.findOne({ where: { code } });
if (invite) throw new HTTPError("Invite already exists");
- const { id } = await Channel.findOneOrFail({ guild_id, type: ChannelType.GUILD_TEXT });
+ const { id } = await Channel.findOneOrFail({ where: { guild_id, type: ChannelType.GUILD_TEXT } });
- await new Invite({
+ await OrmUtils.mergeDeep(new Invite(), {
vanity_url: true,
code: code,
temporary: false,
@@ -60,7 +51,7 @@ router.patch("/", route({ body: "VanityUrlSchema", permission: "MANAGE_GUILD" })
channel_id: id
}).save();
- return res.json({ code: code });
+ return res.json({ where: { code } });
});
export default router;
diff --git a/api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts b/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
index f9fbea54..797d348e 100644
--- a/api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
@@ -1,23 +1,21 @@
-import { Channel, ChannelType, DiscordApiErrors, emitEvent, getPermission, VoiceState, VoiceStateUpdateEvent } from "@fosscord/util";
import { route } from "@fosscord/api";
+import {
+ Channel,
+ ChannelType,
+ DiscordApiErrors,
+ emitEvent,
+ getPermission,
+ OrmUtils,
+ VoiceState,
+ VoiceStateUpdateEvent,
+ VoiceStateUpdateSchema
+} from "@fosscord/util";
import { Request, Response, Router } from "express";
const router = Router();
-//TODO need more testing when community guild and voice stage channel are working
-
-export interface VoiceStateUpdateSchema {
- channel_id: string;
- guild_id?: string;
- suppress?: boolean;
- request_to_speak_timestamp?: Date;
- self_mute?: boolean;
- self_deaf?: boolean;
- self_video?: boolean;
-}
-
router.patch("/", route({ body: "VoiceStateUpdateSchema" }), async (req: Request, res: Response) => {
const body = req.body as VoiceStateUpdateSchema;
- var { guild_id, user_id } = req.params;
+ let { guild_id, user_id } = req.params;
if (user_id === "@me") user_id = req.user_id;
const perms = await getPermission(req.user_id, guild_id, body.channel_id);
@@ -33,15 +31,17 @@ router.patch("/", route({ body: "VoiceStateUpdateSchema" }), async (req: Request
if (!body.suppress) body.request_to_speak_timestamp = new Date();
if (body.request_to_speak_timestamp) perms.hasThrow("REQUEST_TO_SPEAK");
- const voice_state = await VoiceState.findOne({
- guild_id,
- channel_id: body.channel_id,
- user_id
+ let voice_state = await VoiceState.findOne({
+ where: {
+ guild_id,
+ channel_id: body.channel_id,
+ user_id
+ }
});
if (!voice_state) throw DiscordApiErrors.UNKNOWN_VOICE_STATE;
- voice_state.assign(body);
- const channel = await Channel.findOneOrFail({ guild_id, id: body.channel_id });
+ voice_state = OrmUtils.mergeDeep(voice_state, body) as VoiceState;
+ const channel = await Channel.findOneOrFail({ where: { guild_id, id: body.channel_id } });
if (channel.type !== ChannelType.GUILD_STAGE_VOICE) {
throw DiscordApiErrors.CANNOT_EXECUTE_ON_THIS_CHANNEL_TYPE;
}
diff --git a/api/src/routes/guilds/#guild_id/welcome_screen.ts b/src/api/routes/guilds/#guild_id/welcome_screen.ts
index 7141f17e..85c22a19 100644
--- a/api/src/routes/guilds/#guild_id/welcome_screen.ts
+++ b/src/api/routes/guilds/#guild_id/welcome_screen.ts
@@ -1,25 +1,13 @@
-import { Request, Response, Router } from "express";
-import { Guild, getPermission, Snowflake, Member } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
+import { Guild, GuildUpdateWelcomeScreenSchema, HTTPError, Member } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
-export interface GuildUpdateWelcomeScreenSchema {
- welcome_channels?: {
- channel_id: string;
- description: string;
- emoji_id?: string;
- emoji_name: string;
- }[];
- enabled?: boolean;
- description?: string;
-}
-
router.get("/", route({}), async (req: Request, res: Response) => {
const guild_id = req.params.guild_id;
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
await Member.IsInGuildOrFail(req.user_id, guild_id);
res.json(guild.welcome_screen);
@@ -29,7 +17,7 @@ router.patch("/", route({ body: "GuildUpdateWelcomeScreenSchema", permission: "M
const guild_id = req.params.guild_id;
const body = req.body as GuildUpdateWelcomeScreenSchema;
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
if (!guild.welcome_screen.enabled) throw new HTTPError("Welcome screen disabled", 400);
if (body.welcome_channels) guild.welcome_screen.welcome_channels = body.welcome_channels; // TODO: check if they exist and are valid
diff --git a/api/src/routes/guilds/#guild_id/widget.json.ts b/src/api/routes/guilds/#guild_id/widget.json.ts
index c31519fa..368fe46e 100644
--- a/api/src/routes/guilds/#guild_id/widget.json.ts
+++ b/src/api/routes/guilds/#guild_id/widget.json.ts
@@ -1,7 +1,6 @@
-import { Request, Response, Router } from "express";
-import { Config, Permissions, Guild, Invite, Channel, Member } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { random, route } from "@fosscord/api";
+import { Channel, Guild, HTTPError, Invite, Member, OrmUtils, Permissions } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
@@ -17,11 +16,11 @@ const router: Router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
if (!guild.widget_enabled) throw new HTTPError("Widget Disabled", 404);
// Fetch existing widget invite for widget channel
- var invite = await Invite.findOne({ channel_id: guild.widget_channel_id });
+ let invite = await Invite.findOne({ where: { channel_id: guild.widget_channel_id } });
if (guild.widget_channel_id && !invite) {
// Create invite for channel if none exists
@@ -41,7 +40,7 @@ router.get("/", route({}), async (req: Request, res: Response) => {
inviter_id: null
};
- invite = await new Invite(body).save();
+ invite = await OrmUtils.mergeDeep(new Invite(), body).save();
}
// Fetch voice channels, and the @everyone permissions object
@@ -63,7 +62,7 @@ router.get("/", route({}), async (req: Request, res: Response) => {
// Fetch members
// TODO: Understand how Discord's max 100 random member sample works, and apply to here (see top of this file)
- let members = await Member.find({ guild_id: guild_id });
+ let members = await Member.find({ where: { guild_id } });
// Construct object to respond with
const data = {
diff --git a/api/src/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/guilds/#guild_id/widget.png.ts
index 4c82b740..1c4ef29b 100644
--- a/api/src/routes/guilds/#guild_id/widget.png.ts
+++ b/src/api/routes/guilds/#guild_id/widget.png.ts
@@ -1,10 +1,19 @@
-import { Request, Response, Router } from "express";
-import { Guild } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
+import { Guild, HTTPError } from "@fosscord/util";
+import { Request, Response, Router } from "express";
import fs from "fs";
import path from "path";
+// Setup canvas
+let createCanvas: any, loadImage: any;
+try {
+ createCanvas = require("canvas").createCanvas;
+ loadImage = require("canvas").loadImage;
+} catch {
+ console.log("Canvas not found, disabling widgets!");
+}
+const sizeOf = require("image-size");
+
const router: Router = Router();
// TODO: use svg templates instead of node-canvas for improved performance and to change it easily
@@ -12,9 +21,10 @@ const router: Router = Router();
// https://discord.com/developers/docs/resources/guild#get-guild-widget-image
// TODO: Cache the response
router.get("/", route({}), async (req: Request, res: Response) => {
+ if (!createCanvas) return res.status(404);
const { guild_id } = req.params;
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
if (!guild.widget_enabled) throw new HTTPError("Unknown Guild", 404);
// Fetch guild information
@@ -28,13 +38,8 @@ router.get("/", route({}), async (req: Request, res: Response) => {
throw new HTTPError("Value must be one of ('shield', 'banner1', 'banner2', 'banner3', 'banner4').", 400);
}
- // Setup canvas
- const { createCanvas } = require("canvas");
- const { loadImage } = require("canvas");
- const sizeOf = require("image-size");
-
// TODO: Widget style templates need Fosscord branding
- const source = path.join(__dirname, "..", "..", "..", "..", "assets", "widget", `${style}.png`);
+ const source = path.join(__dirname, "..", "..", "..", "..", "..", "assets", "widget", `${style}.png`);
if (!fs.existsSync(source)) {
throw new HTTPError("Widget template does not exist.", 400);
}
diff --git a/api/src/routes/guilds/#guild_id/widget.ts b/src/api/routes/guilds/#guild_id/widget.ts
index 2640618d..d2369dd1 100644
--- a/api/src/routes/guilds/#guild_id/widget.ts
+++ b/src/api/routes/guilds/#guild_id/widget.ts
@@ -1,11 +1,6 @@
-import { Request, Response, Router } from "express";
-import { Guild } from "@fosscord/util";
import { route } from "@fosscord/api";
-
-export interface WidgetModifySchema {
- enabled: boolean; // whether the widget is enabled
- channel_id: string; // the widget channel id
-}
+import { Guild, WidgetModifySchema } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
@@ -13,7 +8,7 @@ const router: Router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { guild_id } = req.params;
- const guild = await Guild.findOneOrFail({ id: guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
return res.json({ enabled: guild.widget_enabled || false, channel_id: guild.widget_channel_id || null });
});
diff --git a/api/src/routes/guilds/index.ts b/src/api/routes/guilds/index.ts
index 10721413..6946e2f7 100644
--- a/api/src/routes/guilds/index.ts
+++ b/src/api/routes/guilds/index.ts
@@ -1,32 +1,18 @@
-import { Router, Request, Response } from "express";
-import { Role, Guild, Snowflake, Config, getRights, Member, Channel, DiscordApiErrors, handleFile } from "@fosscord/util";
import { route } from "@fosscord/api";
-import { ChannelModifySchema } from "../channels/#channel_id";
+import { Config, DiscordApiErrors, getRights, Guild, GuildCreateSchema, Member } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
-export interface GuildCreateSchema {
- /**
- * @maxLength 100
- */
- name: string;
- region?: string;
- icon?: string | null;
- channels?: ChannelModifySchema[];
- guild_template_code?: string;
- system_channel_id?: string;
- rules_channel_id?: string;
-}
-
//TODO: create default channel
router.post("/", route({ body: "GuildCreateSchema", right: "CREATE_GUILDS" }), async (req: Request, res: Response) => {
const body = req.body as GuildCreateSchema;
const { maxGuilds } = Config.get().limits.user;
- const guild_count = await Member.count({ id: req.user_id });
+ const guild_count = await Member.count({ where: { id: req.user_id } });
const rights = await getRights(req.user_id);
- if ((guild_count >= maxGuilds)&&!rights.has("MANAGE_GUILDS")) {
+ if (guild_count >= maxGuilds && !rights.has("MANAGE_GUILDS")) {
throw DiscordApiErrors.MAXIMUM_GUILDS.withParams(maxGuilds);
}
diff --git a/api/src/routes/guilds/templates/index.ts b/src/api/routes/guilds/templates/index.ts
index 3d922e85..467186a3 100644
--- a/api/src/routes/guilds/templates/index.ts
+++ b/src/api/routes/guilds/templates/index.ts
@@ -1,23 +1,18 @@
-import { Request, Response, Router } from "express";
-import { Template, Guild, Role, Snowflake, Config, User, Member } from "@fosscord/util";
import { route } from "@fosscord/api";
-import { DiscordApiErrors } from "@fosscord/util";
+import { Config, DiscordApiErrors, Guild, GuildTemplateCreateSchema, Member, OrmUtils, Role, Snowflake, Template } from "@fosscord/util";
+import { Request, Response, Router } from "express";
import fetch from "node-fetch";
const router: Router = Router();
-export interface GuildTemplateCreateSchema {
- name: string;
- avatar?: string | null;
-}
-
router.get("/:code", route({}), async (req: Request, res: Response) => {
const { allowDiscordTemplates, allowRaws, enabled } = Config.get().templates;
if (!enabled) res.json({ code: 403, message: "Template creation & usage is disabled on this instance." }).sendStatus(403);
const { code } = req.params;
-
+
if (code.startsWith("discord:")) {
- if (!allowDiscordTemplates) return res.json({ code: 403, message: "Discord templates cannot be used on this instance." }).sendStatus(403);
+ if (!allowDiscordTemplates)
+ return res.json({ code: 403, message: "Discord templates cannot be used on this instance." }).sendStatus(403);
const discordTemplateID = code.split("discord:", 2)[1];
const discordTemplateData = await fetch(`https://discord.com/api/v9/guilds/templates/${discordTemplateID}`, {
@@ -28,12 +23,12 @@ router.get("/:code", route({}), async (req: Request, res: Response) => {
}
if (code.startsWith("external:")) {
- if (!allowRaws) return res.json({ code: 403, message: "Importing raws is disabled on this instance." }).sendStatus(403);
+ if (!allowRaws) return res.json({ code: 403, message: "Importing raws is disabled on this instance." }).sendStatus(403);
return res.json(code.split("external:", 2)[1]);
}
- const template = await Template.findOneOrFail({ code: code });
+ const template = await Template.findOneOrFail({ where: { code } });
res.json(template);
});
@@ -47,34 +42,36 @@ router.post("/:code", route({ body: "GuildTemplateCreateSchema" }), async (req:
const { maxGuilds } = Config.get().limits.user;
- const guild_count = await Member.count({ id: req.user_id });
+ const guild_count = await Member.count({ where: { id: req.user_id } });
if (guild_count >= maxGuilds) {
throw DiscordApiErrors.MAXIMUM_GUILDS.withParams(maxGuilds);
}
- const template = await Template.findOneOrFail({ code: code });
+ const template = await Template.findOneOrFail({ where: { code } });
const guild_id = Snowflake.generate();
const [guild, role] = await Promise.all([
- new Guild({
+ OrmUtils.mergeDeep(new Guild(), {
...body,
...template.serialized_source_guild,
id: guild_id,
owner_id: req.user_id
}).save(),
- new Role({
- id: guild_id,
- guild_id: guild_id,
- color: 0,
- hoist: false,
- managed: true,
- mentionable: true,
- name: "@everyone",
- permissions: BigInt("2251804225"),
- position: 0,
- tags: null
- }).save()
+ (
+ OrmUtils.mergeDeep(new Role(), {
+ id: guild_id,
+ guild_id: guild_id,
+ color: 0,
+ hoist: false,
+ managed: true,
+ mentionable: true,
+ name: "@everyone",
+ permissions: BigInt("2251804225"),
+ position: 0,
+ tags: null
+ }) as Role
+ ).save()
]);
await Member.addToGuild(req.user_id, guild_id);
diff --git a/api/src/routes/invites/index.ts b/src/api/routes/invites/index.ts
index eeafb22a..73c9324c 100644
--- a/api/src/routes/invites/index.ts
+++ b/src/api/routes/invites/index.ts
@@ -1,7 +1,6 @@
-import { Router, Request, Response } from "express";
-import { emitEvent, getPermission, Guild, Invite, InviteDeleteEvent, User, PublicInviteRelation } from "@fosscord/util";
import { route } from "@fosscord/api";
-import { HTTPError } from "lambert-server";
+import { emitEvent, getPermission, Guild, HTTPError, Invite, InviteDeleteEvent, PublicInviteRelation, User } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
@@ -13,15 +12,16 @@ router.get("/:code", route({}), async (req: Request, res: Response) => {
res.status(200).send(invite);
});
-router.post("/:code", route({right: "USE_MASS_INVITES"}), async (req: Request, res: Response) => {
+router.post("/:code", route({ right: "USE_MASS_INVITES" }), async (req: Request, res: Response) => {
const { code } = req.params;
- const { guild_id } = await Invite.findOneOrFail({ code })
- const { features } = await Guild.findOneOrFail({ id: guild_id});
- const { public_flags } = await User.findOneOrFail({ id: req.user_id });
-
- if(features.includes("INTERNAL_EMPLOYEE_ONLY") && (public_flags & 1) !== 1) throw new HTTPError("Only intended for the staff of this server.", 401);
- if(features.includes("INVITES_CLOSED")) throw new HTTPError("Sorry, this guild has joins closed.", 403);
-
+ const { guild_id } = await Invite.findOneOrFail({ where: { code } });
+ const { features } = await Guild.findOneOrFail({ where: { id: guild_id } });
+ const { public_flags } = await User.findOneOrFail({ where: { id: req.user_id } });
+
+ if (features.includes("INTERNAL_EMPLOYEE_ONLY") && (public_flags & 1) !== 1)
+ throw new HTTPError("Only intended for the staff of this server.", 401);
+ if (features.includes("INVITES_CLOSED")) throw new HTTPError("Sorry, this guild has joins closed.", 403);
+
const invite = await Invite.joinGuild(req.user_id, code);
res.json(invite);
@@ -30,7 +30,7 @@ router.post("/:code", route({right: "USE_MASS_INVITES"}), async (req: Request, r
// * cant use permission of route() function because path doesn't have guild_id/channel_id
router.delete("/:code", route({}), async (req: Request, res: Response) => {
const { code } = req.params;
- const invite = await Invite.findOneOrFail({ code });
+ const invite = await Invite.findOneOrFail({ where: { code } });
const { guild_id, channel_id } = invite;
const permission = await getPermission(req.user_id, guild_id, channel_id);
diff --git a/api/src/routes/oauth2/tokens.ts b/src/api/routes/oauth2/tokens.ts
index bd284221..831dc7af 100644
--- a/api/src/routes/oauth2/tokens.ts
+++ b/src/api/routes/oauth2/tokens.ts
@@ -1,5 +1,5 @@
-import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
diff --git a/api/src/routes/outbound-promotions.ts b/src/api/routes/outbound-promotions.ts
index 411e95bf..8e407184 100644
--- a/api/src/routes/outbound-promotions.ts
+++ b/src/api/routes/outbound-promotions.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/ping.ts b/src/api/routes/ping.ts
index 3c1da2c3..5f1b0174 100644
--- a/api/src/routes/ping.ts
+++ b/src/api/routes/ping.ts
@@ -1,6 +1,6 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
import { Config } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
@@ -18,8 +18,8 @@ router.get("/", route({}), (req: Request, res: Response) => {
correspondenceUserID: general.correspondenceUserID,
frontPage: general.frontPage,
- tosPage: general.tosPage,
- },
+ tosPage: general.tosPage
+ }
});
});
diff --git a/api/src/routes/policies/instance/index.ts b/src/api/routes/policies/instance/index.ts
index e3da014f..a8ffd285 100644
--- a/api/src/routes/policies/instance/index.ts
+++ b/src/api/routes/policies/instance/index.ts
@@ -1,10 +1,9 @@
-import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
import { Config } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
-
-router.get("/",route({}), async (req: Request, res: Response) => {
+router.get("/", route({}), async (req: Request, res: Response) => {
const { general } = Config.get();
res.json(general);
});
diff --git a/api/src/routes/policies/instance/limits.ts b/src/api/routes/policies/instance/limits.ts
index 7de1476b..0d42fc7b 100644
--- a/api/src/routes/policies/instance/limits.ts
+++ b/src/api/routes/policies/instance/limits.ts
@@ -1,9 +1,9 @@
-import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
import { Config } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
-router.get("/",route({}), async (req: Request, res: Response) => {
+router.get("/", route({}), async (req: Request, res: Response) => {
const { limits } = Config.get();
res.json(limits);
});
diff --git a/api/src/routes/science.ts b/src/api/routes/science.ts
index 8556a3ad..cb01e576 100644
--- a/api/src/routes/science.ts
+++ b/src/api/routes/science.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/stage-instances.ts b/src/api/routes/stage-instances.ts
index 411e95bf..8e407184 100644
--- a/api/src/routes/stage-instances.ts
+++ b/src/api/routes/stage-instances.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/sticker-packs/index.ts b/src/api/routes/sticker-packs/index.ts
index e6560d12..dddc7f70 100644
--- a/api/src/routes/sticker-packs/index.ts
+++ b/src/api/routes/sticker-packs/index.ts
@@ -1,6 +1,6 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
import { StickerPack } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/stickers/#sticker_id/index.ts b/src/api/routes/stickers/#sticker_id/index.ts
index 293ca089..16eb2059 100644
--- a/api/src/routes/stickers/#sticker_id/index.ts
+++ b/src/api/routes/stickers/#sticker_id/index.ts
@@ -1,12 +1,12 @@
-import { Sticker } from "@fosscord/util";
-import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
+import { Sticker } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
router.get("/", route({}), async (req: Request, res: Response) => {
const { sticker_id } = req.params;
- res.json(await Sticker.find({ id: sticker_id }));
+ res.json(await Sticker.find({ where: { id: sticker_id } }));
});
export default router;
diff --git a/api/src/routes/stop.ts b/src/api/routes/stop.ts
index 7f8b78ba..fb77b4f3 100644
--- a/api/src/routes/stop.ts
+++ b/src/api/routes/stop.ts
@@ -1,22 +1,21 @@
-import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
import { User } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
router.post("/", route({}), async (req: Request, res: Response) => {
//EXPERIMENTAL: have an "OPERATOR" platform permission implemented for this API route
const user = await User.findOneOrFail({ where: { id: req.user_id }, select: ["rights"] });
- if((Number(user.rights) << Number(0))%Number(2)==Number(1)) {
+ if ((Number(user.rights) << Number(0)) % Number(2) == Number(1)) {
console.log("user that POSTed to the API was ALLOWED");
console.log(user.rights);
- res.sendStatus(200)
- process.kill(process.pid, 'SIGTERM')
- }
- else {
+ res.sendStatus(200);
+ process.kill(process.pid, "SIGTERM");
+ } else {
console.log("operation failed");
console.log(user.rights);
- res.sendStatus(403)
+ res.sendStatus(403);
}
});
diff --git a/api/src/routes/store/published-listings/applications.ts b/src/api/routes/store/published-listings/applications.ts
index 060a4c3d..3d0f7998 100644
--- a/api/src/routes/store/published-listings/applications.ts
+++ b/src/api/routes/store/published-listings/applications.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/store/published-listings/applications/#id/subscription-plans.ts b/src/api/routes/store/published-listings/applications/#id/subscription-plans.ts
index 54151ae5..86fce75d 100644
--- a/api/src/routes/store/published-listings/applications/#id/subscription-plans.ts
+++ b/src/api/routes/store/published-listings/applications/#id/subscription-plans.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/store/published-listings/skus.ts b/src/api/routes/store/published-listings/skus.ts
index 060a4c3d..3d0f7998 100644
--- a/api/src/routes/store/published-listings/skus.ts
+++ b/src/api/routes/store/published-listings/skus.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/teams.ts b/src/api/routes/teams.ts
index 7ce3abcb..9aa1c10e 100644
--- a/api/src/routes/teams.ts
+++ b/src/api/routes/teams.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/template.ts.disabled b/src/api/routes/template.ts.disabled
index fcc59ef4..fcc59ef4 100644
--- a/api/src/routes/template.ts.disabled
+++ b/src/api/routes/template.ts.disabled
diff --git a/api/src/routes/track.ts b/src/api/routes/track.ts
index 8556a3ad..cb01e576 100644
--- a/api/src/routes/track.ts
+++ b/src/api/routes/track.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/#id/index.ts b/src/api/routes/users/#id/index.ts
index bdb1060f..e33e5695 100644
--- a/api/src/routes/users/#id/index.ts
+++ b/src/api/routes/users/#id/index.ts
@@ -1,6 +1,6 @@
-import { Router, Request, Response } from "express";
-import { User } from "@fosscord/util";
import { route } from "@fosscord/api";
+import { User } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/users/@me/activities/statistics/applications.ts b/src/api/routes/users/@me/activities/statistics/applications.ts
index 014df8af..ba359b47 100644
--- a/api/src/routes/users/@me/activities/statistics/applications.ts
+++ b/src/api/routes/users/@me/activities/statistics/applications.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/affinities/guilds.ts b/src/api/routes/users/@me/affinities/guilds.ts
index 8d744744..e733910f 100644
--- a/api/src/routes/users/@me/affinities/guilds.ts
+++ b/src/api/routes/users/@me/affinities/guilds.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/affinities/users.ts b/src/api/routes/users/@me/affinities/users.ts
index 6d4e4991..758bedc3 100644
--- a/api/src/routes/users/@me/affinities/users.ts
+++ b/src/api/routes/users/@me/affinities/users.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/applications/#app_id/entitlements.ts b/src/api/routes/users/@me/applications/#app_id/entitlements.ts
index 411e95bf..8e407184 100644
--- a/api/src/routes/users/@me/applications/#app_id/entitlements.ts
+++ b/src/api/routes/users/@me/applications/#app_id/entitlements.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/users/@me/billing/country-code.ts b/src/api/routes/users/@me/billing/country-code.ts
index 33d40796..72601f42 100644
--- a/api/src/routes/users/@me/billing/country-code.ts
+++ b/src/api/routes/users/@me/billing/country-code.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/users/@me/billing/payment-sources.ts b/src/api/routes/users/@me/billing/payment-sources.ts
index 014df8af..ba359b47 100644
--- a/api/src/routes/users/@me/billing/payment-sources.ts
+++ b/src/api/routes/users/@me/billing/payment-sources.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/billing/subscriptions.ts b/src/api/routes/users/@me/billing/subscriptions.ts
index 411e95bf..8e407184 100644
--- a/api/src/routes/users/@me/billing/subscriptions.ts
+++ b/src/api/routes/users/@me/billing/subscriptions.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/users/@me/channels.ts b/src/api/routes/users/@me/channels.ts
index 78f531e1..c17275ec 100644
--- a/api/src/routes/users/@me/channels.ts
+++ b/src/api/routes/users/@me/channels.ts
@@ -1,6 +1,6 @@
-import { Request, Response, Router } from "express";
-import { Recipient, DmChannelDTO, Channel } from "@fosscord/util";
import { route } from "@fosscord/api";
+import { Channel, DmChannelCreateSchema, DmChannelDTO, Recipient } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
@@ -12,11 +12,6 @@ router.get("/", route({}), async (req: Request, res: Response) => {
res.json(await Promise.all(recipients.map((r) => DmChannelDTO.from(r.channel, [req.user_id]))));
});
-export interface DmChannelCreateSchema {
- name?: string;
- recipients: string[];
-}
-
router.post("/", route({ body: "DmChannelCreateSchema" }), async (req: Request, res: Response) => {
const body = req.body as DmChannelCreateSchema;
res.json(await Channel.createDMChannel(body.recipients, req.user_id, body.name));
diff --git a/api/src/routes/users/@me/connections.ts b/src/api/routes/users/@me/connections.ts
index 411e95bf..8e407184 100644
--- a/api/src/routes/users/@me/connections.ts
+++ b/src/api/routes/users/@me/connections.ts
@@ -1,5 +1,5 @@
-import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/users/@me/delete.ts b/src/api/routes/users/@me/delete.ts
index c24c3f1e..dfc6131b 100644
--- a/api/src/routes/users/@me/delete.ts
+++ b/src/api/routes/users/@me/delete.ts
@@ -1,8 +1,14 @@
-import { Router, Request, Response } from "express";
-import { Guild, Member, User } from "@fosscord/util";
import { route } from "@fosscord/api";
-import bcrypt from "bcrypt";
-import { HTTPError } from "lambert-server";
+import { HTTPError, Member, User } from "@fosscord/util";
+import { Request, Response, Router } from "express";
+
+let bcrypt: any;
+try {
+ bcrypt = require("bcrypt");
+} catch {
+ bcrypt = require("bcryptjs");
+ console.log("Warning: using bcryptjs because bcrypt is not installed! Performance will be affected.");
+}
const router = Router();
diff --git a/api/src/routes/users/@me/devices.ts b/src/api/routes/users/@me/devices.ts
index 8556a3ad..cb01e576 100644
--- a/api/src/routes/users/@me/devices.ts
+++ b/src/api/routes/users/@me/devices.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/disable.ts b/src/api/routes/users/@me/disable.ts
index 4aff3774..05976908 100644
--- a/api/src/routes/users/@me/disable.ts
+++ b/src/api/routes/users/@me/disable.ts
@@ -1,7 +1,14 @@
-import { User } from "@fosscord/util";
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
-import bcrypt from "bcrypt";
+import { User } from "@fosscord/util";
+import { Request, Response, Router } from "express";
+
+let bcrypt: any;
+try {
+ bcrypt = require("bcrypt");
+} catch {
+ bcrypt = require("bcryptjs");
+ console.log("Warning: using bcryptjs because bcrypt is not installed! Performance will be affected.");
+}
const router = Router();
diff --git a/api/src/routes/users/@me/email-settings.ts b/src/api/routes/users/@me/email-settings.ts
index 3114984e..28d0864a 100644
--- a/api/src/routes/users/@me/email-settings.ts
+++ b/src/api/routes/users/@me/email-settings.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/entitlements.ts b/src/api/routes/users/@me/entitlements.ts
index 341e2b4c..7aaa5d7c 100644
--- a/api/src/routes/users/@me/entitlements.ts
+++ b/src/api/routes/users/@me/entitlements.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/guilds.ts b/src/api/routes/users/@me/guilds.ts
index 754a240e..5141aa3d 100644
--- a/api/src/routes/users/@me/guilds.ts
+++ b/src/api/routes/users/@me/guilds.ts
@@ -1,7 +1,6 @@
-import { Router, Request, Response } from "express";
-import { Guild, Member, User, GuildDeleteEvent, GuildMemberRemoveEvent, emitEvent, Config } from "@fosscord/util";
-import { HTTPError } from "lambert-server";
import { route } from "@fosscord/api";
+import { Config, emitEvent, Guild, GuildDeleteEvent, GuildMemberRemoveEvent, HTTPError, Member, User } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/routes/users/@me/guilds/premium/subscription-slots.ts b/src/api/routes/users/@me/guilds/premium/subscription-slots.ts
index 014df8af..ba359b47 100644
--- a/api/src/routes/users/@me/guilds/premium/subscription-slots.ts
+++ b/src/api/routes/users/@me/guilds/premium/subscription-slots.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts
index 1af413c4..563300dc 100644
--- a/api/src/routes/users/@me/index.ts
+++ b/src/api/routes/users/@me/index.ts
@@ -1,39 +1,40 @@
-import { Router, Request, Response } from "express";
-import { User, PrivateUserProjection, emitEvent, UserUpdateEvent, handleFile, FieldErrors } from "@fosscord/util";
import { route } from "@fosscord/api";
-import bcrypt from "bcrypt";
+import {
+ adjustEmail,
+ Config,
+ emitEvent,
+ FieldErrors,
+ generateToken,
+ handleFile,
+ OrmUtils,
+ PrivateUserProjection,
+ User,
+ UserModifySchema,
+ UserUpdateEvent
+} from "@fosscord/util";
+import { Request, Response, Router } from "express";
-const router: Router = Router();
-
-export interface UserModifySchema {
- /**
- * @minLength 1
- * @maxLength 100
- */
- username?: string;
- avatar?: string | null;
- /**
- * @maxLength 1024
- */
- bio?: string;
- accent_color?: number;
- banner?: string | null;
- password?: string;
- new_password?: string;
- code?: string;
+let bcrypt: any;
+try {
+ bcrypt = require("bcrypt");
+} catch {
+ bcrypt = require("bcryptjs");
+ console.log("Warning: using bcryptjs because bcrypt is not installed! Performance will be affected.");
}
+const router: Router = Router();
+
router.get("/", route({}), async (req: Request, res: Response) => {
res.json(await User.findOne({ select: PrivateUserProjection, where: { id: req.user_id } }));
});
router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res: Response) => {
+ var token = null as any;
const body = req.body as UserModifySchema;
if (body.avatar) body.avatar = await handleFile(`/avatars/${req.user_id}`, body.avatar as string);
if (body.banner) body.banner = await handleFile(`/banners/${req.user_id}`, body.banner as string);
-
- const user = await User.findOneOrFail({ where: { id: req.user_id }, select: [...PrivateUserProjection, "data"] });
+ let user = await User.findOneOrFail({ where: { id: req.user_id }, select: [...PrivateUserProjection, "data"] });
if (body.password) {
if (user.data?.hash) {
@@ -46,6 +47,13 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res:
}
}
+ if (body.email) {
+ body.email = adjustEmail(body.email);
+ if (!body.email && Config.get().register.email.required)
+ throw FieldErrors({ email: { message: req.t("auth:register.EMAIL_INVALID"), code: "EMAIL_INVALID" } });
+ if (!body.password) throw FieldErrors({ password: { message: req.t("auth:register.INVALID_PASSWORD"), code: "INVALID_PASSWORD" } });
+ }
+
if (body.new_password) {
if (!body.password && !user.email) {
throw FieldErrors({
@@ -53,18 +61,20 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res:
});
}
user.data.hash = await bcrypt.hash(body.new_password, 12);
+ user.data.valid_tokens_since = new Date();
+ token = (await generateToken(user.id)) as string;
}
- if(body.username){
- var check_username = body?.username?.replace(/\s/g, '');
- if(!check_username) {
- throw FieldErrors({
- username: { code: "BASE_TYPE_REQUIRED", message: req.t("common:field.BASE_TYPE_REQUIRED") }
- });
- }
- }
+ if (body.username) {
+ let check_username = body?.username?.replace(/\s/g, "");
+ if (!check_username) {
+ throw FieldErrors({
+ username: { code: "BASE_TYPE_REQUIRED", message: req.t("common:field.BASE_TYPE_REQUIRED") }
+ });
+ }
+ }
- user.assign(body);
+ user = OrmUtils.mergeDeep(user, body);
await user.save();
// @ts-ignore
@@ -77,7 +87,10 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res:
data: user
} as UserUpdateEvent);
- res.json(user);
+ res.json({
+ ...user,
+ token
+ });
});
export default router;
diff --git a/api/src/routes/users/@me/library.ts b/src/api/routes/users/@me/library.ts
index 7ac13bae..0aea02a0 100644
--- a/api/src/routes/users/@me/library.ts
+++ b/src/api/routes/users/@me/library.ts
@@ -1,5 +1,5 @@
-import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
diff --git a/api/src/routes/users/@me/relationships.ts b/src/api/routes/users/@me/relationships.ts
index 0c13cdba..8267c142 100644
--- a/api/src/routes/users/@me/relationships.ts
+++ b/src/api/routes/users/@me/relationships.ts
@@ -1,17 +1,18 @@
+import { route } from "@fosscord/api";
import {
- RelationshipAddEvent,
- User,
- PublicUserProjection,
- RelationshipType,
- RelationshipRemoveEvent,
+ Config,
+ DiscordApiErrors,
emitEvent,
+ HTTPError,
+ OrmUtils,
+ PublicUserProjection,
Relationship,
- Config
+ RelationshipAddEvent,
+ RelationshipRemoveEvent,
+ RelationshipType,
+ User
} from "@fosscord/util";
-import { Router, Response, Request } from "express";
-import { HTTPError } from "lambert-server";
-import { DiscordApiErrors } from "@fosscord/util";
-import { route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router = Router();
@@ -37,24 +38,19 @@ router.get("/", route({}), async (req: Request, res: Response) => {
return res.json(related_users);
});
-export interface RelationshipPutSchema {
- type?: RelationshipType;
-}
-
router.put("/:id", route({ body: "RelationshipPutSchema" }), async (req: Request, res: Response) => {
return await updateRelationship(
req,
res,
- await User.findOneOrFail({ id: req.params.id }, { relations: ["relationships", "relationships.to"], select: userProjection }),
+ await User.findOneOrFail({
+ where: { id: req.params.id },
+ relations: ["relationships", "relationships.to"],
+ select: userProjection
+ }),
req.body.type ?? RelationshipType.friends
);
});
-export interface RelationshipPostSchema {
- discriminator: string;
- username: string;
-}
-
router.post("/", route({ body: "RelationshipPostSchema" }), async (req: Request, res: Response) => {
return await updateRelationship(
req,
@@ -75,8 +71,8 @@ router.delete("/:id", route({}), async (req: Request, res: Response) => {
const { id } = req.params;
if (id === req.user_id) throw new HTTPError("You can't remove yourself as a friend");
- const user = await User.findOneOrFail({ id: req.user_id }, { select: userProjection, relations: ["relationships"] });
- const friend = await User.findOneOrFail({ id: id }, { select: userProjection, relations: ["relationships"] });
+ const user = await User.findOneOrFail({ where: { id: req.user_id }, select: userProjection, relations: ["relationships"] });
+ const friend = await User.findOneOrFail({ where: { id: id }, select: userProjection, relations: ["relationships"] });
const relationship = user.relationships.find((x) => x.to_id === id);
const friendRequest = friend.relationships.find((x) => x.to_id === req.user_id);
@@ -124,12 +120,13 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ
const id = friend.id;
if (id === req.user_id) throw new HTTPError("You can't add yourself as a friend");
- const user = await User.findOneOrFail(
- { id: req.user_id },
- { relations: ["relationships", "relationships.to"], select: userProjection }
- );
+ const user = await User.findOneOrFail({
+ where: { id: req.user_id },
+ relations: ["relationships", "relationships.to"],
+ select: userProjection
+ });
- var relationship = user.relationships.find((x) => x.to_id === id);
+ let relationship = user.relationships.find((x) => x.to_id === id);
const friendRequest = friend.relationships.find((x) => x.to_id === req.user_id);
// TODO: you can add infinitely many blocked users (should this be prevented?)
@@ -139,7 +136,9 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ
relationship.type = RelationshipType.blocked;
await relationship.save();
} else {
- relationship = await new Relationship({ to_id: id, type: RelationshipType.blocked, from_id: req.user_id }).save();
+ relationship = await (
+ OrmUtils.mergeDeep(new Relationship(), { to_id: id, type: RelationshipType.blocked, from_id: req.user_id }) as Relationship
+ ).save();
}
if (friendRequest && friendRequest.type !== RelationshipType.blocked) {
@@ -165,8 +164,13 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ
const { maxFriends } = Config.get().limits.user;
if (user.relationships.length >= maxFriends) throw DiscordApiErrors.MAXIMUM_FRIENDS.withParams(maxFriends);
- var incoming_relationship = new Relationship({ nickname: undefined, type: RelationshipType.incoming, to: user, from: friend });
- var outgoing_relationship = new Relationship({
+ let incoming_relationship = OrmUtils.mergeDeep(new Relationship(), {
+ nickname: undefined,
+ type: RelationshipType.incoming,
+ to: user,
+ from: friend
+ });
+ let outgoing_relationship = OrmUtils.mergeDeep(new Relationship(), {
nickname: undefined,
type: RelationshipType.outgoing,
to: friend,
@@ -177,7 +181,7 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ
if (friendRequest.type === RelationshipType.blocked) throw new HTTPError("The user blocked you");
if (friendRequest.type === RelationshipType.friends) throw new HTTPError("You are already friends with the user");
// accept friend request
- incoming_relationship = friendRequest;
+ incoming_relationship = friendRequest as any; //TODO: checkme, any cast
incoming_relationship.type = RelationshipType.friends;
}
@@ -185,7 +189,7 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ
if (relationship.type === RelationshipType.outgoing) throw new HTTPError("You already sent a friend request");
if (relationship.type === RelationshipType.blocked) throw new HTTPError("Unblock the user before sending a friend request");
if (relationship.type === RelationshipType.friends) throw new HTTPError("You are already friends with the user");
- outgoing_relationship = relationship;
+ outgoing_relationship = relationship as any; //TODO: checkme, any cast
outgoing_relationship.type = RelationshipType.friends;
}
diff --git a/api/src/routes/users/@me/settings.ts b/src/api/routes/users/@me/settings.ts
index b22b72fb..e276a22a 100644
--- a/api/src/routes/users/@me/settings.ts
+++ b/src/api/routes/users/@me/settings.ts
@@ -1,17 +1,15 @@
-import { Router, Response, Request } from "express";
-import { User, UserSettings } from "@fosscord/util";
import { route } from "@fosscord/api";
+import { User, UserSettings } from "@fosscord/util";
+import { Request, Response, Router } from "express";
const router = Router();
-export interface UserSettingsSchema extends Partial<UserSettings> {}
-
router.patch("/", route({ body: "UserSettingsSchema" }), async (req: Request, res: Response) => {
const body = req.body as UserSettings;
if (body.locale === "en") body.locale = "en-US"; // fix discord client crash on unkown locale
- const user = await User.findOneOrFail({ id: req.user_id, bot: false });
- user.settings = { ...user.settings, ...body };
+ const user = await User.findOneOrFail({ where: { id: req.user_id, bot: false }, relations: ["settings"] });
+ user.settings = { ...user.settings, ...body } as UserSettings;
await user.save();
res.sendStatus(204);
diff --git a/api/src/routes/voice/regions.ts b/src/api/routes/voice/regions.ts
index 4de304ee..eacdcf11 100644
--- a/api/src/routes/voice/regions.ts
+++ b/src/api/routes/voice/regions.ts
@@ -1,6 +1,5 @@
-import { Router, Request, Response } from "express";
-import { getIpAdress, route } from "@fosscord/api";
-import { getVoiceRegions } from "@fosscord/api";
+import { getIpAdress, getVoiceRegions, route } from "@fosscord/api";
+import { Request, Response, Router } from "express";
const router: Router = Router();
diff --git a/api/src/start.ts b/src/api/start.ts
index ccb4d108..c407484d 100644
--- a/api/src/start.ts
+++ b/src/api/start.ts
@@ -1,17 +1,16 @@
process.on("uncaughtException", console.error);
process.on("unhandledRejection", console.error);
-import "missing-native-js-functions";
-import { config } from "dotenv";
-config();
-import { FosscordServer } from "./Server";
import cluster from "cluster";
+import { config } from "dotenv";
import os from "os";
-var cores = 1;
+import { FosscordServer } from "./Server";
+config();
+let cores = 1;
try {
cores = Number(process.env.THREADS) || os.cpus().length;
} catch {
- console.log("[API] Failed to get thread count! Using 1...")
+ console.log("[API] Failed to get thread count! Using 1...");
}
if (cluster.isMaster && process.env.NODE_ENV == "production") {
@@ -27,7 +26,7 @@ if (cluster.isMaster && process.env.NODE_ENV == "production") {
cluster.fork();
});
} else {
- var port = Number(process.env.PORT) || 3001;
+ let port = Number(process.env.PORT) || 3001;
const server = new FosscordServer({ port });
server.start().catch(console.error);
diff --git a/api/src/util/entities/blockedEmailDomains.txt b/src/api/util/entities/blockedEmailDomains.txt
index eb88305d..eb88305d 100644
--- a/api/src/util/entities/blockedEmailDomains.txt
+++ b/src/api/util/entities/blockedEmailDomains.txt
diff --git a/api/src/util/entities/trustedEmailDomains.txt b/src/api/util/entities/trustedEmailDomains.txt
index 38ffa4fa..38ffa4fa 100644
--- a/api/src/util/entities/trustedEmailDomains.txt
+++ b/src/api/util/entities/trustedEmailDomains.txt
diff --git a/api/src/util/handlers/Instance.ts b/src/api/util/handlers/Instance.ts
index 6bddfa98..e03c9488 100644
--- a/api/src/util/handlers/Instance.ts
+++ b/src/api/util/handlers/Instance.ts
@@ -9,7 +9,7 @@ export async function initInstance() {
const { autoJoin } = Config.get().guild;
if (autoJoin.enabled && !autoJoin.guilds?.length) {
- let guild = await Guild.findOne({});
+ let guild = await Guild.findOne({ where: {}, order: { id: "ASC" } });
if (guild) {
// @ts-ignore
await Config.set({ guild: { autoJoin: { guilds: [guild.id] } } });
diff --git a/api/src/util/handlers/Message.ts b/src/api/util/handlers/Message.ts
index 48f87dfe..d760d27c 100644
--- a/api/src/util/handlers/Message.ts
+++ b/src/api/util/handlers/Message.ts
@@ -1,31 +1,32 @@
import {
+ Application,
+ Attachment,
Channel,
+ CHANNEL_MENTION,
+ Config,
Embed,
emitEvent,
+ EVERYONE_MENTION,
+ getPermission,
+ getRights,
Guild,
+ HERE_MENTION,
+ HTTPError,
Message,
MessageCreateEvent,
+ MessageCreateSchema,
+ MessageType,
MessageUpdateEvent,
- getPermission,
- getRights,
- CHANNEL_MENTION,
- Snowflake,
- USER_MENTION,
- ROLE_MENTION,
+ OrmUtils,
Role,
- EVERYONE_MENTION,
- HERE_MENTION,
- MessageType,
+ ROLE_MENTION,
User,
- Application,
- Webhook,
- Attachment,
- Config,
+ USER_MENTION,
+ Webhook
} from "@fosscord/util";
-import { HTTPError } from "lambert-server";
-import fetch from "node-fetch";
import cheerio from "cheerio";
-import { MessageCreateSchema } from "../../routes/channels/#channel_id/messages";
+import fetch from "node-fetch";
+
const allow_empty = false;
// TODO: check webhook, application, system author, stickers
// TODO: embed gifs/videos/images
@@ -47,7 +48,7 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
const channel = await Channel.findOneOrFail({ where: { id: opts.channel_id }, relations: ["recipients"] });
if (!channel || !opts.channel_id) throw new HTTPError("Channel not found", 404);
- const message = new Message({
+ const message = OrmUtils.mergeDeep(new Message(), {
...opts,
sticker_items: opts.sticker_ids?.map((x) => ({ id: x })),
guild_id: channel.guild_id,
@@ -59,21 +60,21 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
});
if (message.content && message.content.length > Config.get().limits.message.maxCharacters) {
- throw new HTTPError("Content length over max character limit")
+ throw new HTTPError("Content length over max character limit");
}
if (opts.author_id) {
message.author = await User.getPublicUser(opts.author_id);
const rights = await getRights(opts.author_id);
rights.hasThrow("SEND_MESSAGES");
- }
+ }
if (opts.application_id) {
- message.application = await Application.findOneOrFail({ id: opts.application_id });
+ message.application = await Application.findOneOrFail({ where: { id: opts.application_id } });
}
if (opts.webhook_id) {
- message.webhook = await Webhook.findOneOrFail({ id: opts.webhook_id });
+ message.webhook = await Webhook.findOneOrFail({ where: { id: opts.webhook_id } });
}
-
+
const permission = await getPermission(opts.author_id, channel.guild_id, opts.channel_id);
permission.hasThrow("SEND_MESSAGES");
if (permission.cache.member) {
@@ -85,10 +86,12 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
permission.hasThrow("READ_MESSAGE_HISTORY");
// code below has to be redone when we add custom message routing
if (message.guild_id !== null) {
- const guild = await Guild.findOneOrFail({ id: channel.guild_id });
+ const guild = await Guild.findOneOrFail({ where: { id: channel.guild_id } });
if (!guild.features.includes("CROSS_CHANNEL_REPLIES")) {
- if (opts.message_reference.guild_id !== channel.guild_id) throw new HTTPError("You can only reference messages from this guild");
- if (opts.message_reference.channel_id !== opts.channel_id) throw new HTTPError("You can only reference messages from this channel");
+ if (opts.message_reference.guild_id !== channel.guild_id)
+ throw new HTTPError("You can only reference messages from this guild");
+ if (opts.message_reference.channel_id !== opts.channel_id)
+ throw new HTTPError("You can only reference messages from this channel");
}
}
/** Q: should be checked if the referenced message exists? ANSWER: NO
@@ -98,17 +101,18 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
}
// TODO: stickers/activity
- if (!allow_empty && (!opts.content && !opts.embeds?.length && !opts.attachments?.length && !opts.sticker_ids?.length)) {
+ if (!allow_empty && !opts.content && !opts.embeds?.length && !opts.attachments?.length && !opts.sticker_ids?.length) {
throw new HTTPError("Empty messages are not allowed", 50006);
}
- var content = opts.content;
- var mention_channel_ids = [] as string[];
- var mention_role_ids = [] as string[];
- var mention_user_ids = [] as string[];
- var mention_everyone = false;
+ let content = opts.content;
+ let mention_channel_ids = [] as string[];
+ let mention_role_ids = [] as string[];
+ let mention_user_ids = [] as string[];
+ let mention_everyone = false;
- if (content) { // TODO: explicit-only mentions
+ if (content) {
+ // TODO: explicit-only mentions
message.content = content.trim();
for (const [_, mention] of content.matchAll(CHANNEL_MENTION)) {
if (!mention_channel_ids.includes(mention)) mention_channel_ids.push(mention);
@@ -120,7 +124,7 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
await Promise.all(
Array.from(content.matchAll(ROLE_MENTION)).map(async ([_, mention]) => {
- const role = await Role.findOneOrFail({ id: mention, guild_id: channel.guild_id });
+ const role = await Role.findOneOrFail({ where: { id: mention, guild_id: channel.guild_id } });
if (role.mentionable || permission.has("MANAGE_ROLES")) {
mention_role_ids.push(mention);
}
@@ -132,9 +136,9 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
}
}
- message.mention_channels = mention_channel_ids.map((x) => new Channel({ id: x }));
- message.mention_roles = mention_role_ids.map((x) => new Role({ id: x }));
- message.mentions = mention_user_ids.map((x) => new User({ id: x }));
+ message.mention_channels = mention_channel_ids.map((x) => OrmUtils.mergeDeep(new Channel(), { id: x }));
+ message.mention_roles = mention_role_ids.map((x) => OrmUtils.mergeDeep(new Role(), { id: x }));
+ message.mentions = mention_user_ids.map((x) => OrmUtils.mergeDeep(new User(), { id: x }));
message.mention_everyone = mention_everyone;
// TODO: check and put it all in the body
@@ -144,7 +148,7 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
// TODO: cache link result in db
export async function postHandleMessage(message: Message) {
- var links = message.content?.match(LINK_REGEX);
+ let links = message.content?.match(LINK_REGEX);
if (!links) return;
const data = { ...message };
@@ -156,7 +160,7 @@ export async function postHandleMessage(message: Message) {
try {
const request = await fetch(link, {
...DEFAULT_FETCH_OPTIONS,
- size: Config.get().limits.message.maxEmbedDownloadSize,
+ size: Config.get().limits.message.maxEmbedDownloadSize
});
const text = await request.text();
@@ -201,9 +205,10 @@ export async function postHandleMessage(message: Message) {
export async function sendMessage(opts: MessageOptions) {
const message = await handleMessage({ ...opts, timestamp: new Date() });
+ //TODO: check this, removed toJSON call
await Promise.all([
Message.insert(message),
- emitEvent({ event: "MESSAGE_CREATE", channel_id: opts.channel_id, data: message.toJSON() } as MessageCreateEvent)
+ emitEvent({ event: "MESSAGE_CREATE", channel_id: opts.channel_id, data: message } as MessageCreateEvent)
]);
postHandleMessage(message).catch((e) => {}); // no await as it should catch error non-blockingly
diff --git a/api/src/util/handlers/Voice.ts b/src/api/util/handlers/Voice.ts
index 4d60eb91..4d60eb91 100644
--- a/api/src/util/handlers/Voice.ts
+++ b/src/api/util/handlers/Voice.ts
diff --git a/api/src/util/handlers/route.ts b/src/api/util/handlers/route.ts
index 3d3bbc37..d43ae103 100644
--- a/api/src/util/handlers/route.ts
+++ b/src/api/util/handlers/route.ts
@@ -1,8 +1,6 @@
import {
DiscordApiErrors,
EVENT,
- Event,
- EventData,
FieldErrors,
FosscordApiErrors,
getPermission,
@@ -12,14 +10,14 @@ import {
RightResolvable,
Rights
} from "@fosscord/util";
+import Ajv from "ajv";
+import addFormats from "ajv-formats";
+import { AnyValidateFunction } from "ajv/dist/core";
import { NextFunction, Request, Response } from "express";
import fs from "fs";
import path from "path";
-import Ajv from "ajv";
-import { AnyValidateFunction } from "ajv/dist/core";
-import addFormats from "ajv-formats";
-const SchemaPath = path.join(__dirname, "..", "..", "..", "assets", "schemas.json");
+const SchemaPath = path.join(__dirname, "..", "..", "..", "..", "assets", "schemas.json");
const schemas = JSON.parse(fs.readFileSync(SchemaPath, { encoding: "utf8" }));
export const ajv = new Ajv({
@@ -87,7 +85,7 @@ const normalizeBody = (body: any = {}) => {
};
export function route(opts: RouteOptions) {
- var validate: AnyValidateFunction<any> | undefined;
+ let validate: AnyValidateFunction<any> | undefined;
if (opts.body) {
validate = ajv.getSchema(opts.body);
if (!validate) throw new Error(`Body schema ${opts.body} not found`);
@@ -117,6 +115,11 @@ export function route(opts: RouteOptions) {
const valid = validate(normalizeBody(req.body));
if (!valid) {
const fields: Record<string, { code?: string; message: string }> = {};
+ if (process.env.LOG_INVALID_BODY) {
+ console.log(`Got invalid request: ${req.method} ${req.originalUrl}`);
+ console.log(req.body);
+ validate.errors?.forEach((x) => console.log(x.params));
+ }
validate.errors?.forEach((x) => (fields[x.instancePath.slice(1)] = { code: x.keyword, message: x.message || "" }));
throw FieldErrors(fields);
}
diff --git a/api/src/util/index.ts b/src/api/util/index.ts
index ffbcf24e..31e75325 100644
--- a/api/src/util/index.ts
+++ b/src/api/util/index.ts
@@ -1,8 +1,10 @@
+export * from "./entities/AssetCacheItem";
+export * from "./handlers/Message";
+export * from "./handlers/route";
+export * from "./handlers/Voice";
export * from "./utility/Base64";
export * from "./utility/ipAddress";
-export * from "./handlers/Message";
export * from "./utility/passwordStrength";
export * from "./utility/RandomInviteID";
-export * from "./handlers/route";
export * from "./utility/String";
-export * from "./handlers/Voice";
+export * from "./utility/captcha";
\ No newline at end of file
diff --git a/api/src/util/utility/Base64.ts b/src/api/util/utility/Base64.ts
index 46cff77a..46cff77a 100644
--- a/api/src/util/utility/Base64.ts
+++ b/src/api/util/utility/Base64.ts
diff --git a/api/src/util/utility/RandomInviteID.ts b/src/api/util/utility/RandomInviteID.ts
index 7ea344e0..feebfd3d 100644
--- a/api/src/util/utility/RandomInviteID.ts
+++ b/src/api/util/utility/RandomInviteID.ts
@@ -22,11 +22,10 @@ export function snowflakeBasedInvite() {
// snowflakes hold ~10.75 characters worth of entropy;
// safe to generate a 8-char invite out of them
let str = "";
- for (let i=0; i < 10; i++) {
-
+ for (let i = 0; i < 10; i++) {
str.concat(chars.charAt(Number(snowflake % base)));
snowflake = snowflake / base;
}
-
- return str.substr(3,8).split("").reverse().join("");
+
+ return str.substr(3, 8).split("").reverse().join("");
}
diff --git a/api/src/util/utility/String.ts b/src/api/util/utility/String.ts
index 982b7e11..a2e491e4 100644
--- a/api/src/util/utility/String.ts
+++ b/src/api/util/utility/String.ts
@@ -1,6 +1,6 @@
+import { FieldErrors } from "@fosscord/util";
import { Request } from "express";
import { ntob } from "./Base64";
-import { FieldErrors } from "@fosscord/util";
export function checkLength(str: string, min: number, max: number, key: string, req: Request) {
if (str.length < min || str.length > max) {
diff --git a/api/src/util/utility/ipAddress.ts b/src/api/util/utility/ipAddress.ts
index 13cc9603..c96feb9e 100644
--- a/api/src/util/utility/ipAddress.ts
+++ b/src/api/util/utility/ipAddress.ts
@@ -65,7 +65,7 @@ export async function IPAnalysis(ip: string): Promise<typeof exampleData> {
const { ipdataApiKey } = Config.get().security;
if (!ipdataApiKey) return { ...exampleData, ip };
- return (await fetch(`https://api.ipdata.co/${ip}?api-key=${ipdataApiKey}`)).json();
+ return (await fetch(`https://api.ipdata.co/${ip}?api-key=${ipdataApiKey}`)).json() as any;
}
export function isProxy(data: typeof exampleData) {
@@ -78,7 +78,11 @@ export function isProxy(data: typeof exampleData) {
export function getIpAdress(req: Request): string {
// @ts-ignore
- return req.headers[Config.get().security.forwadedFor] || req.socket.remoteAddress;
+ return (
+ req.headers[Config.get().security.forwadedFor as string] ||
+ req.headers[Config.get().security.forwadedFor?.toLowerCase() as string] ||
+ req.socket.remoteAddress
+ );
}
export function distanceBetweenLocations(loc1: any, loc2: any): number {
diff --git a/api/src/util/utility/passwordStrength.ts b/src/api/util/utility/passwordStrength.ts
index 439700d0..ff83d3df 100644
--- a/api/src/util/utility/passwordStrength.ts
+++ b/src/api/util/utility/passwordStrength.ts
@@ -1,5 +1,4 @@
import { Config } from "@fosscord/util";
-import "missing-native-js-functions";
const reNUMBER = /[0-9]/g;
const reUPPERCASELETTER = /[A-Z]/g;
@@ -19,7 +18,7 @@ const blocklist: string[] = []; // TODO: update ones passwordblocklist is stored
*/
export function checkPassword(password: string): number {
const { minLength, minNumbers, minUpperCase, minSymbols } = Config.get().register.password;
- var strength = 0;
+ let strength = 0;
// checks for total password len
if (password.length >= minLength - 1) {
@@ -45,16 +44,16 @@ export function checkPassword(password: string): number {
if (password.length == password.count(reNUMBER) || password.length === password.count(reUPPERCASELETTER)) {
strength = 0;
}
-
+
let entropyMap: { [key: string]: number } = {};
for (let i = 0; i < password.length; i++) {
if (entropyMap[password[i]]) entropyMap[password[i]]++;
else entropyMap[password[i]] = 1;
}
-
+
let entropies = Object.values(entropyMap);
-
- entropies.map(x => (x / entropyMap.length));
- strength += entropies.reduceRight((a: number, x: number) => a - (x * Math.log2(x))) / Math.log2(password.length);
+
+ entropies.map((x) => x / entropyMap.length);
+ strength += entropies.reduceRight((a: number, x: number) => a - x * Math.log2(x)) / Math.log2(password.length);
return strength;
}
diff --git a/api/tests/routes.test.ts b/tests/routes.test.ts
index 35d74a94..51c068b5 100644
--- a/api/tests/routes.test.ts
+++ b/tests/routes.test.ts
@@ -1,13 +1,13 @@
// TODO: check every route based on route() parameters: https://github.com/fosscord/fosscord-server/issues/308
// TODO: check every route with different database engine
-import getRouteDescriptions from "../jest/getRouteDescriptions";
-import { join } from "path";
-import fs from "fs";
+import { Channel, Event, events, Guild, User } from "@fosscord/util";
import Ajv from "ajv";
import addFormats from "ajv-formats";
+import fs from "fs";
import fetch from "node-fetch";
-import { Event, User, events, Guild, Channel } from "@fosscord/util";
+import { join } from "path";
+import getRouteDescriptions from "../jest/getRouteDescriptions";
const SchemaPath = join(__dirname, "..", "assets", "schemas.json");
const schemas = JSON.parse(fs.readFileSync(SchemaPath, { encoding: "utf8" }));
@@ -23,10 +23,10 @@ export const ajv = new Ajv({
});
addFormats(ajv);
-var token: string;
-var user: User;
-var guild: Guild;
-var channel: Channel;
+let token: string;
+let user: User;
+let guild: Guild;
+let channel: Channel;
const request = async (path: string, opts: any = {}): Promise<any> => {
const response = await fetch(`http://localhost:3001/api${path}`, {
@@ -41,7 +41,7 @@ const request = async (path: string, opts: any = {}): Promise<any> => {
});
if (response.status === 204) return;
- var data = await response.text();
+ let data = await response.text();
try {
data = JSON.parse(data);
if (response.status >= 400) throw data;
@@ -95,13 +95,13 @@ describe("Automatic unit tests with route description middleware", () => {
}
const urlPath =
path.replace(":id", user.id).replace(":guild_id", guild.id).replace(":channel_id", channel.id) || route.test?.path;
- var validate: any;
+ let validate: any;
if (route.test.body) {
validate = ajv.getSchema(route.test.body);
if (!validate) return done(new Error(`Response schema ${route.test.body} not found`));
}
- var body = "";
+ let body = "";
let eventEmitted = Promise.resolve();
if (route.test.event) {
diff --git a/api/tests/routes/auth/login.test.js b/tests/routes/auth/login.test.js
index d4b52444..d4b52444 100644
--- a/api/tests/routes/auth/login.test.js
+++ b/tests/routes/auth/login.test.js
diff --git a/api/tests/routes/auth/register.test.js b/tests/routes/auth/register.test.js
index 5d7b4eaa..5d7b4eaa 100644
--- a/api/tests/routes/auth/register.test.js
+++ b/tests/routes/auth/register.test.js
diff --git a/api/tests/routes/ping.test.js b/tests/routes/ping.test.js
index 6fa4b160..6fa4b160 100644
--- a/api/tests/routes/ping.test.js
+++ b/tests/routes/ping.test.js
diff --git a/api/tsconfig.json b/tsconfig.json
index 80d7251f..eb3399aa 100644
--- a/api/tsconfig.json
+++ b/tsconfig.json
@@ -1,18 +1,16 @@
{
- "exclude": ["node_modules"],
"include": ["src/**/*.ts"],
+ "exclude": [],
"compilerOptions": {
- /* Visit https://aka.ms/tsconfig.json to read more about this file */
-
/* Basic Options */
- "incremental": true /* Enable incremental compilation */,
+ "incremental": false /* Enable incremental compilation */,
"target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
- "lib": ["ES2021"] /* Specify library files to be included in the compilation. */,
+ "lib": ["ESNext"] /* Specify library files to be included in the compilation. */,
"allowJs": true /* Allow javascript files to be compiled. */,
"checkJs": true /* Report errors in .js files. */,
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
- "declaration": true /* Generates corresponding '.d.ts' file. */,
+ "declaration": false /* Generates corresponding '.d.ts' file. */,
"declarationMap": false /* Generates a sourcemap for each corresponding '.d.ts' file. */,
"sourceMap": true /* Generates corresponding '.map' file. */,
// "outFile": "./", /* Concatenate and emit output to single file. */
@@ -43,7 +41,7 @@
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
/* Module Resolution Options */
- // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+ "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
"types": ["node"] /* Type declaration files to be included in compilation. */,
@@ -65,11 +63,17 @@
/* Advanced Options */
"skipLibCheck": true /* Skip type checking of declaration files. */,
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */,
- "baseUrl": ".",
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "resolveJsonModule": true,
+ "baseUrl": "./src/",
"paths": {
- "@fosscord/api": ["src/index"]
+ "@fosscord/api": ["./api/index"],
+ "@fosscord/gateway": ["./gateway/index"],
+ "@fosscord/cdn": ["./cdn/index"],
+ "@fosscord/util": ["./util/index"]
},
- "plugins": [{ "transform": "@zerollup/ts-transform-paths" }],
- "experimentalDecorators": true
+ "noEmitHelpers": true,
+ "importHelpers": true
}
}
|