├── server
├── src
│ ├── constants.ts
│ ├── employees.db
│ ├── logic.ts
│ ├── utils.ts
│ ├── logger.ts
│ ├── db.ts
│ ├── router.ts
│ └── controller.ts
├── .env
├── public
│ └── database
│ │ ├── employees.db
│ │ └── chinook.sqlite
├── bin
│ ├── start-server.sh
│ └── stop-server.sh
├── .gitignore
├── tsconfig.json
├── app.ts
├── config
│ └── pm2.json
├── server-test.http
├── README.md
├── package.json
├── index.ts
├── Dockerfile
└── pnpm-lock.yaml
├── .gitignore
├── client
├── .gitignore
├── src
│ ├── constants
│ │ └── config.ts
│ ├── assets
│ │ ├── logo.png
│ │ └── index.css
│ ├── utils
│ │ ├── index.ts
│ │ ├── request.ts
│ │ ├── helper.ts
│ │ └── services.ts
│ ├── plugins
│ │ ├── pinia.ts
│ │ ├── splitpanes.ts
│ │ ├── i18n.ts
│ │ ├── naive-ui.ts
│ │ └── pinia-persist.ts
│ ├── env.d.ts
│ ├── main.ts
│ ├── types
│ │ └── index.ts
│ ├── views
│ │ ├── ReplEditor.vue
│ │ ├── TableViewActions.vue
│ │ ├── aside-panel
│ │ │ ├── SavedQueries.vue
│ │ │ ├── index.vue
│ │ │ └── Connections.vue
│ │ ├── EmptyHolder.vue
│ │ ├── Header.vue
│ │ ├── ReplEditorActions.vue
│ │ ├── QuerySelector.vue
│ │ └── TableView.vue
│ ├── locales
│ │ ├── zh.yml
│ │ └── en.yml
│ ├── composables
│ │ ├── useDark.ts
│ │ └── useShortcut.ts
│ ├── store
│ │ ├── sequelize.ts
│ │ ├── aside.ts
│ │ ├── tabs.ts
│ │ └── repl.ts
│ ├── App.vue
│ └── components
│ │ └── Codemirror.vue
├── .vscode
│ ├── extensions.json
│ └── settings.json
├── public
│ └── favicon.ico
├── index.html
├── tsconfig.json
├── README.md
├── vite.config.ts
├── windi.config.ts
└── package.json
├── preview.png
├── .vscode
└── settings.json
├── package.json
├── LICENSE
├── README.md
└── pnpm-lock.yaml
/server/src/constants.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/.env:
--------------------------------------------------------------------------------
1 | API_VERSION=v1
2 | NODE_ENV="development"
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 |
--------------------------------------------------------------------------------
/client/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 |
--------------------------------------------------------------------------------
/client/src/constants/config.ts:
--------------------------------------------------------------------------------
1 | export const LOCAL_HOST = 'http://localhost:3232'
--------------------------------------------------------------------------------
/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoluoboding/sql-repl/HEAD/preview.png
--------------------------------------------------------------------------------
/client/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["johnsoncodehk.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "i18n-ally.localesPaths": [
3 | "client/src/locales"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoluoboding/sql-repl/HEAD/client/public/favicon.ico
--------------------------------------------------------------------------------
/server/src/employees.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoluoboding/sql-repl/HEAD/server/src/employees.db
--------------------------------------------------------------------------------
/client/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoluoboding/sql-repl/HEAD/client/src/assets/logo.png
--------------------------------------------------------------------------------
/client/src/utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './request'
2 | export * from './services'
3 | export * from './helper'
4 |
--------------------------------------------------------------------------------
/server/public/database/employees.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoluoboding/sql-repl/HEAD/server/public/database/employees.db
--------------------------------------------------------------------------------
/server/public/database/chinook.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoluoboding/sql-repl/HEAD/server/public/database/chinook.sqlite
--------------------------------------------------------------------------------
/client/src/plugins/pinia.ts:
--------------------------------------------------------------------------------
1 | import { createPinia } from 'pinia'
2 | import persist from './pinia-persist'
3 |
4 | const pinia = createPinia()
5 | pinia.use(persist)
6 |
7 | export default pinia
8 |
--------------------------------------------------------------------------------
/server/bin/start-server.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | user=$(whoami)
4 | if [ $user == "root" ]
5 | then
6 | su admin -c 'pm2 stop /app/config/pm2.json'
7 | else
8 | pm2 start /app/config/pm2.json
9 | fi
--------------------------------------------------------------------------------
/server/bin/stop-server.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | user=$(whoami)
4 | if [ $user == "root" ]
5 | then
6 | su admin -c 'pm2 stop /app/config/pm2.json'
7 | else
8 | pm2 stop /app/config/pm2.json
9 | fi
10 |
--------------------------------------------------------------------------------
/server/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | npm-debug.log*
3 | yarn-debug.log*
4 | yarn-error.log*
5 |
6 | .idea
7 | .vscode
8 |
9 | node_modules
10 | dist
11 | lib
12 | chromium
13 | logs
14 | fonts
15 | logs
16 | public/database/upload*
17 |
--------------------------------------------------------------------------------
/server/src/logic.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 |
3 | import { logger } from './logger'
4 |
5 | class PuppeteerAPI {
6 | ctx: any
7 |
8 | constructor(ctx) {
9 | this.ctx = ctx
10 | }
11 | }
12 |
13 | export {
14 | PuppeteerAPI
15 | }
--------------------------------------------------------------------------------
/server/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "outDir": "dist",
4 | "lib": ["ESNext", "DOM"],
5 | "declaration": true,
6 | "allowJs": true,
7 | "esModuleInterop": true,
8 | "moduleResolution": "Node"
9 | },
10 | "include": [
11 | "./**/*.ts"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/client/src/plugins/splitpanes.ts:
--------------------------------------------------------------------------------
1 | import { App } from 'vue'
2 |
3 | import { Splitpanes, Pane } from 'splitpanes'
4 | import 'splitpanes/dist/splitpanes.css'
5 |
6 | export default function install(app: App): void {
7 | app.component('Splitpanes', Splitpanes)
8 | app.component('Pane', Pane)
9 | }
10 |
--------------------------------------------------------------------------------
/client/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module '*.vue' {
4 | import { DefineComponent } from 'vue'
5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
6 | const component: DefineComponent<{}, {}, any>
7 | export default component
8 | }
9 |
--------------------------------------------------------------------------------
/client/src/utils/request.ts:
--------------------------------------------------------------------------------
1 | import { AnyRecord } from '../types/index'
2 |
3 | export interface REQUEST_DATA {
4 | total: number
5 | data: AnyRecord | AnyRecord[]
6 | }
7 |
8 | const request = async (url: string) => {
9 | const res = await fetch(url)
10 | return res.json()
11 | }
12 |
13 | export { request }
14 |
--------------------------------------------------------------------------------
/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | SQL REPL
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/client/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "useDefineForClassFields": true,
5 | "module": "esnext",
6 | "moduleResolution": "node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "esModuleInterop": true,
12 | "lib": ["esnext", "dom"],
13 | "skipLibCheck": true
14 | },
15 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
16 | }
17 |
--------------------------------------------------------------------------------
/client/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "typescript.tsdk": "node_modules/typescript/lib",
3 | "volar.tsPlugin": true,
4 | "volar.tsPluginStatus": false,
5 | "vite.autoStart": false,
6 | "editor.codeActionsOnSave": {
7 | "source.fixAll.eslint": true,
8 | },
9 | "files.associations": {
10 | "*.css": "postcss",
11 | },
12 | "i18n-ally.localesPaths": [
13 | "src/locales"
14 | ],
15 | "i18n-ally.enabledParsers": [
16 | "yaml"
17 | ],
18 | "i18n-ally.keystyle": "nested"
19 | }
20 |
--------------------------------------------------------------------------------
/client/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | import SplitPanes from './plugins/splitpanes'
5 | import NaiveUI from './plugins/naive-ui'
6 | import i18n from './plugins/i18n'
7 | import pinia from './plugins/pinia'
8 |
9 | import 'virtual:windi.css'
10 | import 'virtual:windi-devtools'
11 | import './assets/index.css'
12 |
13 | const app = createApp(App)
14 |
15 | app.use(SplitPanes)
16 | app.use(NaiveUI)
17 | app.use(i18n)
18 | app.use(pinia)
19 | app.mount('#app')
20 |
--------------------------------------------------------------------------------
/client/src/utils/helper.ts:
--------------------------------------------------------------------------------
1 | export const shortid = () =>
2 | (String(1e7) + 1e3 + 4e3 + 8e3 + 1e11)
3 | .replace(/[018]/g, (c: string) =>
4 | (
5 | Number(c) ^
6 | (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (Number(c) / 4)))
7 | ).toString(16)
8 | )
9 | .slice(0, 16)
10 |
11 | export const debounce = (fn: Function, ms = 300) => {
12 | let timeoutId: ReturnType
13 | return function (this: any, ...args: any[]) {
14 | clearTimeout(timeoutId)
15 | timeoutId = setTimeout(() => fn.apply(this, args), ms)
16 | }
17 | }
--------------------------------------------------------------------------------
/client/src/types/index.ts:
--------------------------------------------------------------------------------
1 | import { InjectionKey, Ref, inject } from 'vue'
2 |
3 | export type AnyRecord = Record
4 |
5 | export interface DATABASE_INFO {
6 | activeTable: string
7 | connected: boolean
8 | manualRun: boolean
9 | tableColumns: AnyRecord[]
10 | }
11 |
12 | export const IS_DARKMODE: InjectionKey[> = Symbol()
13 |
14 | export const injectStrict = (key: InjectionKey, fallback?: T) => {
15 | const resolved = inject(key, fallback)
16 | if (!resolved) {
17 | throw new Error(`Could not resolve ${key.description}`)
18 | }
19 |
20 | return resolved
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/server/app.ts:
--------------------------------------------------------------------------------
1 | import dotenv from 'dotenv'
2 | import { app } from './index'
3 |
4 | dotenv.config()
5 |
6 | const env = process.env.NODE_ENV || 'development'
7 | const isProd = process.env.NODE_ENV === 'production'
8 | const port = process.env.PORT || (isProd ? 80 : 3232)
9 | // Here we're assigning the server to a variable because
10 | // we're going to want to manually rip down the server in testing
11 | export const server = app.listen(port)
12 |
13 | // eslint-disable-next-line no-console
14 | console.log(`Server running at ${port}`)
15 |
16 | // eslint-disable-next-line no-console
17 | console.log(`Running in ${env}`)
18 |
--------------------------------------------------------------------------------
/server/src/utils.ts:
--------------------------------------------------------------------------------
1 | import os from 'os'
2 | import jsonWebToken from 'jsonwebtoken'
3 |
4 | export const sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay))
5 | export const isMac = os.type().toLowerCase() === 'darwin'
6 | export const isWindows = os.type().toLowerCase() === 'windows_nt'
7 |
8 | export const getSecretErp = async (erp): Promise => {
9 | return new Promise((resolve, reject) => {
10 | const body = { username: erp }
11 | const privateKey = "Ix/tr2U6jp2GkAFd9AdbRTMK8pDONxCT8BTWvaZCHxs=";
12 | jsonWebToken.sign(body, privateKey, { expiresIn: 3600 }, function (err, token) {
13 | if (err) { reject(err) }
14 | resolve(token)
15 | })
16 | })
17 | }
--------------------------------------------------------------------------------
/server/config/pm2.json:
--------------------------------------------------------------------------------
1 | {
2 | "apps": [
3 | {
4 | "name": "pm2-http",
5 | "cwd": "/app",
6 | "script": "dist/app.js",
7 | "log_date_format": "YYYY-MM-DD HH:mm:ss",
8 | "error_file": "/export/Logs/pm2-error.log",
9 | "out_file": "/export/Logs/pm2.log",
10 | "pid_file": "pm2.pid",
11 | "instances": 1,
12 | "instance_var": "INSTANCE_ID",
13 | "min_uptime": "200s",
14 | "max_restarts": 10,
15 | "max_memory_restart": "1024M",
16 | "cron_restart": "3 0 * * *",
17 | "watch": false,
18 | "merge_logs": false,
19 | "exec_interpreter": "node",
20 | "exec_mode": "cluster",
21 | "autorestart": true,
22 | "vizion": false
23 | }
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/client/src/plugins/i18n.ts:
--------------------------------------------------------------------------------
1 | import { App } from 'vue'
2 | import { createI18n } from 'vue-i18n'
3 |
4 | const localPathPrefix = '../locales/'
5 |
6 | // import i18n resources
7 | // https://vitejs.dev/guide/features.html#glob-import
8 | const messages = Object.fromEntries(
9 | Object.entries(import.meta.globEager('../locales/*.y(a)?ml')).map(
10 | ([key, value]) => {
11 | const yaml = key.endsWith('.yaml')
12 | return [key.slice(localPathPrefix.length, yaml ? -5 : -4), value.default]
13 | }
14 | )
15 | )
16 |
17 | const install = (app: App) => {
18 | const i18n = createI18n({
19 | legacy: false,
20 | locale: 'en',
21 | globalInjection: true,
22 | messages,
23 | })
24 |
25 | app.use(i18n)
26 | }
27 |
28 | export default install
29 |
--------------------------------------------------------------------------------
/client/src/plugins/naive-ui.ts:
--------------------------------------------------------------------------------
1 | import type { App } from 'vue'
2 | import {
3 | create,
4 | NButton,
5 | NButtonGroup,
6 | NDataTable,
7 | NInput,
8 | NMessageProvider,
9 | NModal,
10 | NPopover,
11 | NPopconfirm,
12 | NSpace,
13 | NTag,
14 | NTooltip,
15 | NTree,
16 | NUpload,
17 | NUploadDragger,
18 | } from 'naive-ui'
19 |
20 | const naive = create({
21 | components: [
22 | NButton,
23 | NButtonGroup,
24 | NDataTable,
25 | NInput,
26 | NMessageProvider,
27 | NModal,
28 | NPopover,
29 | NPopconfirm,
30 | NSpace,
31 | NTag,
32 | NTooltip,
33 | NTree,
34 | NUpload,
35 | NUploadDragger,
36 | ],
37 | })
38 |
39 | const install = (app: App) => app.use(naive)
40 |
41 | export default install
42 |
--------------------------------------------------------------------------------
/client/src/views/ReplEditor.vue:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
20 |
21 |
--------------------------------------------------------------------------------
/server/server-test.http:
--------------------------------------------------------------------------------
1 | ### datetime
2 | GET http://localhost:3232/api/v1/datetime
3 |
4 | ### [SQLite] 创建库连接
5 | # GET http://localhost:3232/api/v1/sqlite/connectDB/employees.db
6 | GET http://localhost:3232/api/v1/sqlite/connectDB/%2FUsers%2Fxiaoyunwei%2FDocuments%2FGitHub%2Fprivate%2Fsql-repl%2Fserver%2Fpublic%2Fdatabase%2Fchinook.sqlite
7 |
8 | ### [SQLite] 获取数据库 Schema
9 | GET http://localhost:3232/api/v1/sqlite/getDBSchema
10 |
11 | ### [SQLite] 查询表结构
12 | # GET http://localhost:3232/api/v1/sqlite/getTableColumns/employees
13 | GET http://localhost:3232/api/v1/sqlite/getTableColumns/Album
14 |
15 | ### [SQLite] 查询 SQL
16 | # GET http://localhost:3232/api/v1/sqlite/execSQL/select%20*%20from%20employees%20e%20where%20e.salary%20%3E%2018000
17 | GET http://localhost:3232/api/v1/sqlite/execSQL/select%20*%20from%20Album
18 |
--------------------------------------------------------------------------------
/client/src/locales/zh.yml:
--------------------------------------------------------------------------------
1 | common:
2 | about: 关于
3 | back: 返回
4 | go: 确定
5 | home: 首页
6 | open: 打开
7 | save: 保存
8 | run: 运行
9 | cancel: 取消
10 | start: 开始
11 | shortcut: 快捷键
12 | button:
13 | toggle_dark: 切换深色模式
14 | toggle_langs: 切换语言
15 | options: 应用设置
16 | create_connection: 创建数据连接
17 | run_sql_queries: 执行查询语句(⌘E)
18 | save_sql_queries: 保存查询语句(⌘S)
19 | copy-sql-queries: 复制查询语句
20 | copy-table-result: 复制数据集合到剪贴板
21 | export-to-csv: 导出数据集合到CSV文件
22 | modal:
23 | save_title: 保存查询语句
24 | save_placeholder: 查询语句别名
25 | home:
26 | app_name: SQL REPL
27 | aside:
28 | database-connections: 数据库连接
29 | saved_sql_queries: 查询语句管理
30 | app:
31 | set-up-a-new-connection: 设置新的数据库连接
32 | new-tab: 新建标签页
33 | select-queries: 从左侧查询语句面板选择
34 | close-tab: 关闭标签页
35 | save-queries: 保存查询语句
36 | run-queries: 执行查询语句
37 |
--------------------------------------------------------------------------------
/server/README.md:
--------------------------------------------------------------------------------
1 | # Easy BI API Server
2 |
3 | > Easy BI 前端 API 服务
4 |
5 | ## 目录结构
6 |
7 | ```bash
8 | .
9 | ├── Dockerfile
10 | ├── README.md
11 | ├── app.ts # 应用入口
12 | ├── bin
13 | │ ├── start-server.sh
14 | │ └── stop-server.sh
15 | ├── chromium # 本地 chromium 运行环境
16 | ├── config # 配置项
17 | │ └── pm2.json
18 | ├── dist # 输出路径
19 | ├── index.ts # 入口文件
20 | ├── logs # 本地日志
21 | ├── package.json
22 | ├── src # 源码文件
23 | │ ├── controller.ts # ├──接口处理逻辑
24 | │ ├── logger.ts # ├──日志配置
25 | │ ├── logic.ts # ├──Puppeteer调用逻辑
26 | │ ├── router.ts # ├──路由配置
27 | │ └── utils.ts # ├──助手类
28 | ├── tsconfig.json
29 | └── yarn.lock
30 | ```
31 |
32 | ## License
33 |
34 | ISC 技术与数据中心-数据与智能部-系统研发部
35 |
--------------------------------------------------------------------------------
/client/src/utils/services.ts:
--------------------------------------------------------------------------------
1 | import { AnyRecord } from '../types/index'
2 | import { request } from './request'
3 |
4 | const BASE_URL = '/api/v1/sqlite'
5 |
6 | export const connectDB = async (params: string) => {
7 | const url = `${BASE_URL}/connectDB/${params}`
8 | const res = await request(url)
9 | return res.data
10 | }
11 |
12 | export const getDBSchema = async () => {
13 | const url = `${BASE_URL}/getDBSchema`
14 | const res = await request(url)
15 | return JSON.parse(res.data[0].schemas)
16 | }
17 |
18 | export const getTableColumns = async (params: string) => {
19 | const url = `${BASE_URL}/getTableColumns/${params}`
20 | const res = await request(url)
21 | return res.data
22 | }
23 |
24 | export const execSQL = async (params: string): Promise => {
25 | const url = `${BASE_URL}/execSQL/${params}`
26 | const res = await request(url)
27 | return res
28 | }
--------------------------------------------------------------------------------
/client/src/assets/index.css:
--------------------------------------------------------------------------------
1 | /* splitpanes pane style */
2 | .splitpanes.default-theme .splitpanes__pane {
3 | @apply bg-transparent;
4 | }
5 | .splitpanes.default-theme .splitpanes__splitter {
6 | @apply min-w-4 min-h-4 bg-blue-gray-100 dark:bg-dark-800;
7 | }
8 |
9 | .splitpanes.default-theme .splitpanes__splitter::before,
10 | .splitpanes.default-theme .splitpanes__splitter::after {
11 | @apply bg-dark-100 opacity-50;
12 | }
13 |
14 | .splitpanes.default-theme .splitpanes__splitter:hover::before,
15 | .splitpanes.default-theme .splitpanes__splitter:hover::after {
16 | @apply bg-transparent;
17 | }
18 |
19 | .default-theme.splitpanes--vertical>.splitpanes__splitter,
20 | .default-theme .splitpanes--vertical>.splitpanes__splitter {
21 | @apply border-l border-r border-$border-color;
22 | }
23 |
24 | .default-theme.splitpanes--horizontal>.splitpanes__splitter,
25 | .default-theme .splitpanes--horizontal>.splitpanes__splitter {
26 | @apply border-t border-b border-$border-color;
27 | }
28 |
--------------------------------------------------------------------------------
/client/README.md:
--------------------------------------------------------------------------------
1 | # Vue 3 + Typescript + Vite
2 |
3 | This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `
53 |
54 |
--------------------------------------------------------------------------------
/client/src/views/aside-panel/SavedQueries.vue:
--------------------------------------------------------------------------------
1 |
2 | ]
7 | {{ $t('aside.saved_sql_queries') }}
8 |
9 |
17 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
53 |
54 |
--------------------------------------------------------------------------------
/client/src/plugins/pinia-persist.ts:
--------------------------------------------------------------------------------
1 | import { watch } from 'vue'
2 | import { PiniaPluginContext } from 'pinia'
3 |
4 | export interface PersistStrategy {
5 | key?: string
6 | storage?: Storage
7 | paths?: string[]
8 | }
9 |
10 | export interface PersistOptions {
11 | enabled: true
12 | strategies?: PersistStrategy[]
13 | }
14 |
15 | type Store = PiniaPluginContext['store']
16 | type PartialState = Partial
17 |
18 | declare module 'pinia' {
19 | export interface DefineStoreOptions<
20 | Id extends string,
21 | S extends StateTree,
22 | G extends GettersTree,
23 | A
24 | > {
25 | persist?: PersistOptions
26 | }
27 | }
28 |
29 | const updateStorage = (strategy: PersistStrategy, store: Store) => {
30 | const storage = strategy.storage || localStorage
31 | const storeKey = strategy.key || store.$id
32 |
33 | if (strategy.paths) {
34 | const partialState = strategy.paths.reduce((finalObj, key) => {
35 | finalObj[key] = store.$state[key]
36 | return finalObj
37 | }, {} as PartialState)
38 |
39 | storage.setItem(storeKey, JSON.stringify(partialState))
40 | } else {
41 | storage.setItem(storeKey, JSON.stringify(store.$state))
42 | }
43 | }
44 |
45 | export default ({ options, store }: PiniaPluginContext): void => {
46 | if (options.persist?.enabled) {
47 | const defaultStrat: PersistStrategy[] = [
48 | {
49 | key: store.$id,
50 | storage: localStorage,
51 | },
52 | ]
53 |
54 | const strategies = options.persist?.strategies?.length
55 | ? options.persist?.strategies
56 | : defaultStrat
57 |
58 | strategies.forEach((strategy) => {
59 | const storage = strategy.storage || localStorage
60 | const storeKey = strategy.key || store.$id
61 | const storageResult = storage.getItem(storeKey)
62 |
63 | if (storageResult) {
64 | store.$patch(JSON.parse(storageResult))
65 | updateStorage(strategy, store)
66 | }
67 | })
68 |
69 | watch(
70 | () => store.$state,
71 | () => {
72 | strategies.forEach((strategy) => {
73 | updateStorage(strategy, store)
74 | })
75 | },
76 | { deep: true }
77 | )
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/client/src/views/aside-panel/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
32 |
33 |
34 |
41 |
42 |
75 |
--------------------------------------------------------------------------------
/client/src/views/EmptyHolder.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | SQL REPL
8 |
9 | {{ $t('common.start') }}
10 |
11 |
12 | {{ $t('app.set-up-a-new-connection') }}
13 |
14 |
15 | {{ $t('app.new-tab') }}
16 |
17 |
18 | {{ $t('app.select-queries') }}.
19 |
20 |
21 |
22 |
23 | {{ $t('common.shortcut') }}
24 |
25 | - {{ $t('app.new-tab') }}: ⌥ + T
26 | - {{ $t('app.close-tab') }}: ⌥ + W
27 | - {{ $t('app.save-queries') }}: ⌘ + S
28 | - {{ $t('app.run-queries') }}: ⌘ + E
29 |
30 |
31 |
32 |
33 |
34 |
35 |
57 |
58 |
--------------------------------------------------------------------------------
/client/src/views/Header.vue:
--------------------------------------------------------------------------------
1 |
2 |
36 |
37 |
38 |
58 |
59 |
75 |
--------------------------------------------------------------------------------
/client/src/store/tabs.ts:
--------------------------------------------------------------------------------
1 | import { defineStore } from 'pinia'
2 | import dayjs from 'dayjs'
3 |
4 | import { shortid } from '../utils'
5 |
6 | export interface TabInfo {
7 | id: string;
8 | idx: number;
9 | label: string;
10 | isSaved: boolean;
11 | savedAt: string;
12 | queries: string;
13 | }
14 |
15 | export type AnyTabInfo = Partial
16 |
17 | export const useTabsStore = defineStore({
18 | id: 'replTabs',
19 |
20 | persist: {
21 | enabled: true,
22 | },
23 |
24 | state: () => ({
25 | queryTabs: [] as TabInfo[],
26 | activeTab: {} as TabInfo,
27 | activeTabIdx: 1,
28 | }),
29 |
30 | getters: {
31 | currentTab: (state) => {
32 | const idx = state.queryTabs.findIndex(
33 | (tab) => tab.idx === state.activeTabIdx
34 | )
35 | return idx === -1 ? {} : state.queryTabs[idx]
36 | },
37 | },
38 |
39 | actions: {
40 | addTab(label: string, queries: string) {
41 | const id = shortid()
42 | const idx =
43 | this.queryTabs.length === 0
44 | ? 1
45 | : Math.max(...this.queryTabs.map((tab) => tab.idx)) + 1
46 | const newTab = {
47 | id,
48 | idx,
49 | label: label ? label : `Untitled-${idx}`,
50 | isSaved: true,
51 | savedAt: dayjs().format('YYYY-MM-DD HH:mm:ss'),
52 | queries,
53 | }
54 |
55 | this.queryTabs.push(newTab)
56 | this.activeTab = newTab
57 | this.activeTabIdx = idx
58 | },
59 | removeTab() {
60 | this.queryTabs.splice(
61 | this.queryTabs.findIndex((tab) => tab.idx === this.activeTab.idx),
62 | 1
63 | )
64 |
65 | const tabsLength = this.queryTabs.length
66 | if (tabsLength > 0) {
67 | this.setActiveTab(this.queryTabs[tabsLength - 1])
68 | } else {
69 | this.activeTab = {
70 | id: shortid(),
71 | idx: 0,
72 | label: 'Untitled-1',
73 | isSaved: true,
74 | savedAt: dayjs().format('YYYY-MM-DD HH:mm:ss'),
75 | queries: '',
76 | }
77 | }
78 | },
79 | updateTab(payload: AnyTabInfo) {
80 | const tab = this.currentTab
81 | Object.assign(tab, payload)
82 | },
83 | setActiveTab(payload: TabInfo) {
84 | const { idx } = payload
85 | const tab = this.queryTabs.find((tab) => tab.idx === idx)
86 |
87 | if (tab) {
88 | this.activeTab = tab
89 | this.activeTabIdx = idx
90 | }
91 | },
92 | saveTab() {
93 | const tab = this.activeTab
94 |
95 | if (tab) {
96 | tab.isSaved = true
97 | }
98 | },
99 | },
100 | })
--------------------------------------------------------------------------------
/client/src/views/aside-panel/Connections.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 | {{ $t('aside.database-connections') }}
8 |
9 |
20 |
25 |
31 |
39 |
40 |
41 |
42 |
43 |
44 |
Drop database file here
45 |
or
46 |
Click to upload
47 |
48 |
49 |
50 |
51 |
52 |
53 |
90 |
91 |
--------------------------------------------------------------------------------
/client/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
66 |
67 |
105 |
--------------------------------------------------------------------------------
/server/src/controller.ts:
--------------------------------------------------------------------------------
1 | import { Database, Statement } from 'better-sqlite3'
2 | import { logger } from './logger'
3 | import { SqliteClient } from './db'
4 | // import { db } from './db'
5 | import { resolve } from 'path'
6 |
7 | class SqliteServer {
8 | private db: Database
9 | private stmt: Statement
10 | private isConnecting: boolean
11 |
12 | constructor() {
13 | }
14 |
15 | /**
16 | * 获取查询参数
17 | * @param ctx
18 | * @param next
19 | * @returns
20 | */
21 | static getRequestParams(ctx, next) {
22 | logger.info(`运行环境:${process.env.NODE_ENV}`)
23 | const { params } = ctx
24 | logger.info(`查询参数:${JSON.stringify(params)}`)
25 | const { sql, database, table } = params
26 |
27 | if (!sql && !database && !table) {
28 | logger.error('INVALID_PARAMS')
29 | ctx.throw(400, 'INVALID_PARAMS')
30 | }
31 |
32 | next()
33 |
34 | return params
35 | }
36 |
37 | connectDB(ctx, next) {
38 | const { database } = SqliteServer.getRequestParams(ctx, next)
39 | console.log(database)
40 | this.db = new SqliteClient({
41 | // database: resolve(__dirname, './employees.db'),
42 | database: resolve(__dirname, database),
43 | })
44 | this.isConnecting = this.db.db.open
45 |
46 | console.log(this)
47 |
48 | ctx.body = {
49 | data: this.db
50 | }
51 | }
52 |
53 | getDBSchema(ctx, next) {
54 | const getSchemaSql = `
55 | WITH columns as (
56 | SELECT
57 | a.tbl_name,
58 | json_group_array(
59 | json_object('name', b.name,'type', IIF(b.type = '', 'N/A', b.type))
60 | ) as column_json
61 | FROM sqlite_master a, pragma_table_info(a.name) b
62 | WHERE a.type in ('table','view') AND a.name NOT LIKE 'sqlite_%' group by tbl_name
63 | )
64 | SELECT json_group_array(json_object('name',tbl_name, 'columns', json(column_json))) schemas
65 | FROM columns;
66 | `
67 | const stmt = this.db.execSQL(getSchemaSql)
68 | const res = stmt.all()
69 |
70 | ctx.body = {
71 | total: res.length,
72 | data: res,
73 | }
74 | }
75 |
76 | getTableColumns(ctx, next) {
77 | const { table } = SqliteServer.getRequestParams(ctx, next)
78 | logger.info(this.db)
79 |
80 | if (!this.isConnecting) {
81 | logger.error('DB_NOT_CONNECTED')
82 | ctx.throw(400, 'DB_NOT_CONNECTED')
83 | }
84 |
85 | const sql = `SELECT * FROM ${table}`
86 | const stmt = this.db.execSQL(sql)
87 | const res = stmt.columns()
88 | logger.info(this.stmt)
89 | logger.info(res)
90 |
91 | ctx.body = {
92 | total: res.length,
93 | data: res,
94 | }
95 | }
96 |
97 | retriveResult(ctx, next) {
98 | const { sql } = SqliteServer.getRequestParams(ctx, next)
99 |
100 | const stmt = this.db.execSQL(sql)
101 | const res = stmt.all()
102 | const columns = stmt.columns()
103 |
104 | logger.info('sqlite3 execute query successed')
105 |
106 | ctx.body = {
107 | total: res.length,
108 | data: res,
109 | columns
110 | }
111 | }
112 |
113 | uploadDatabase(ctx, next) {
114 | const file = ctx.request.files.file
115 | ctx.body = {
116 | data: {
117 | file
118 | },
119 | }
120 | }
121 | }
122 |
123 | export { SqliteServer }
--------------------------------------------------------------------------------
/client/src/components/Codemirror.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
116 |
117 |
--------------------------------------------------------------------------------
/client/src/store/repl.ts:
--------------------------------------------------------------------------------
1 | import { defineStore } from 'pinia'
2 | import { h } from 'vue'
3 |
4 | import { connectDB, getTableColumns, getDBSchema } from '../utils/services'
5 | import { useDark } from '../composables/useDark'
6 |
7 | type SQLITE_DB_SCHEMA_COLUMN = {
8 | name: string;
9 | type: string;
10 | }
11 | interface SQLITE_DB_SCHEMA {
12 | name: string
13 | columns: SQLITE_DB_SCHEMA_COLUMN[]
14 | }
15 |
16 | export const useReplStore = defineStore({
17 | id: 'replStore',
18 |
19 | persist: {
20 | enabled: true,
21 | },
22 |
23 | state: () => ({
24 | isDarkmode: useDark(),
25 | databaseInfo: {
26 | name: '',
27 | type: 'sqlite',
28 | connected: false,
29 | activeDB: '',
30 | schemas: [] as SQLITE_DB_SCHEMA[],
31 | },
32 | tableInfo: {
33 | sqlQueries: '',
34 | activeTable: '',
35 | tableColumns: [],
36 | manualRun: false,
37 | },
38 | }),
39 |
40 | getters: {
41 | isDark: (state) => state.isDarkmode,
42 | dbSchemaTree: (state) => {
43 | // init database schema tree
44 | const initDatabaseSchemaTree = () => {
45 | const schemas = state.databaseInfo.schemas
46 |
47 | return schemas.map((table: any) => {
48 | return {
49 | label: table.name,
50 | key: table.name,
51 | children: table.columns.map((column: any) => {
52 | return {
53 | label: column.name,
54 | key: column.name,
55 | suffix: () => h('div', {}, { default: () => column.type }),
56 | }
57 | }),
58 | }
59 | })
60 | }
61 |
62 | const dbName = state.databaseInfo.activeDB
63 | const tableColumns = initDatabaseSchemaTree()
64 |
65 | return [
66 | {
67 | label: dbName,
68 | key: `root-${dbName}`,
69 | suffix: () =>
70 | h('div', {}, { default: () => `(${tableColumns.length})` }),
71 | children: tableColumns,
72 | },
73 | ]
74 | },
75 | editorHintInfo: (state) => {
76 | const dbSchemas = state.databaseInfo.schemas
77 | let schema = {} as any
78 |
79 | const tables = dbSchemas.map((table) => ({ label: table.name.toLowerCase() }))
80 |
81 | dbSchemas.forEach((table) => {
82 | schema[table.name.toLowerCase()] = table.columns.map((col) => ({ label: col.name.toLowerCase() }))
83 | })
84 |
85 | return {
86 | tables,
87 | schema,
88 | }
89 | },
90 | expandedKeys: (state) => {
91 | return [`root-${state.databaseInfo.activeDB}`]
92 | }
93 | },
94 |
95 | actions: {
96 | /**
97 | * Connected with Database
98 | */
99 | async connectDatabase() {
100 | if (this.databaseInfo.connected) {
101 | console.warn('Database already connected')
102 | return
103 | }
104 | const res = await connectDB(encodeURIComponent(this.databaseInfo.name))
105 | this.databaseInfo.name = res.db.name
106 | this.databaseInfo.connected = !!res
107 | },
108 | /**
109 | * Get DB Schema
110 | */
111 | async getDBSchema() {
112 | this.databaseInfo.schemas = await getDBSchema()
113 | },
114 | /**
115 | * Initialize Table Columns
116 | */
117 | async initTableColumns() {
118 | const params = encodeURIComponent(this.tableInfo.activeTable)
119 | this.tableInfo.tableColumns = await getTableColumns(params)
120 | },
121 | },
122 | })
123 |
--------------------------------------------------------------------------------
/client/src/views/ReplEditorActions.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
12 |
13 | {{ $t('button.copy-sql-queries') }}
14 |
15 |
16 |
17 |
20 |
21 | {{ $t('button.save_sql_queries') }}
22 |
23 |
24 |
25 |
28 |
29 | {{ $t('button.run_sql_queries') }}
30 |
31 |
32 |
42 |
47 |
48 |
49 |
50 |
51 |
125 |
126 |
--------------------------------------------------------------------------------
/client/src/views/QuerySelector.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
14 |
15 |
16 | {{ query.label }}
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
42 |
43 |
44 |
45 |
106 |
107 |
163 |
--------------------------------------------------------------------------------
/client/src/views/TableView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
15 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
129 |
130 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.3
2 |
3 | specifiers:
4 | npm-run-all: ^4.1.5
5 |
6 | devDependencies:
7 | npm-run-all: 4.1.5
8 |
9 | packages:
10 |
11 | /ansi-styles/3.2.1:
12 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
13 | engines: {node: '>=4'}
14 | dependencies:
15 | color-convert: 1.9.3
16 | dev: true
17 |
18 | /balanced-match/1.0.2:
19 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
20 | dev: true
21 |
22 | /brace-expansion/1.1.11:
23 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
24 | dependencies:
25 | balanced-match: 1.0.2
26 | concat-map: 0.0.1
27 | dev: true
28 |
29 | /call-bind/1.0.2:
30 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
31 | dependencies:
32 | function-bind: 1.1.1
33 | get-intrinsic: 1.1.1
34 | dev: true
35 |
36 | /chalk/2.4.2:
37 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
38 | engines: {node: '>=4'}
39 | dependencies:
40 | ansi-styles: 3.2.1
41 | escape-string-regexp: 1.0.5
42 | supports-color: 5.5.0
43 | dev: true
44 |
45 | /color-convert/1.9.3:
46 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
47 | dependencies:
48 | color-name: 1.1.3
49 | dev: true
50 |
51 | /color-name/1.1.3:
52 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
53 | dev: true
54 |
55 | /concat-map/0.0.1:
56 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
57 | dev: true
58 |
59 | /cross-spawn/6.0.5:
60 | resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
61 | engines: {node: '>=4.8'}
62 | dependencies:
63 | nice-try: 1.0.5
64 | path-key: 2.0.1
65 | semver: 5.7.1
66 | shebang-command: 1.2.0
67 | which: 1.3.1
68 | dev: true
69 |
70 | /define-properties/1.1.3:
71 | resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==}
72 | engines: {node: '>= 0.4'}
73 | dependencies:
74 | object-keys: 1.1.1
75 | dev: true
76 |
77 | /error-ex/1.3.2:
78 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
79 | dependencies:
80 | is-arrayish: 0.2.1
81 | dev: true
82 |
83 | /es-abstract/1.19.1:
84 | resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==}
85 | engines: {node: '>= 0.4'}
86 | dependencies:
87 | call-bind: 1.0.2
88 | es-to-primitive: 1.2.1
89 | function-bind: 1.1.1
90 | get-intrinsic: 1.1.1
91 | get-symbol-description: 1.0.0
92 | has: 1.0.3
93 | has-symbols: 1.0.2
94 | internal-slot: 1.0.3
95 | is-callable: 1.2.4
96 | is-negative-zero: 2.0.1
97 | is-regex: 1.1.4
98 | is-shared-array-buffer: 1.0.1
99 | is-string: 1.0.7
100 | is-weakref: 1.0.1
101 | object-inspect: 1.11.0
102 | object-keys: 1.1.1
103 | object.assign: 4.1.2
104 | string.prototype.trimend: 1.0.4
105 | string.prototype.trimstart: 1.0.4
106 | unbox-primitive: 1.0.1
107 | dev: true
108 |
109 | /es-to-primitive/1.2.1:
110 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
111 | engines: {node: '>= 0.4'}
112 | dependencies:
113 | is-callable: 1.2.4
114 | is-date-object: 1.0.5
115 | is-symbol: 1.0.4
116 | dev: true
117 |
118 | /escape-string-regexp/1.0.5:
119 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
120 | engines: {node: '>=0.8.0'}
121 | dev: true
122 |
123 | /function-bind/1.1.1:
124 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
125 | dev: true
126 |
127 | /get-intrinsic/1.1.1:
128 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==}
129 | dependencies:
130 | function-bind: 1.1.1
131 | has: 1.0.3
132 | has-symbols: 1.0.2
133 | dev: true
134 |
135 | /get-symbol-description/1.0.0:
136 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
137 | engines: {node: '>= 0.4'}
138 | dependencies:
139 | call-bind: 1.0.2
140 | get-intrinsic: 1.1.1
141 | dev: true
142 |
143 | /graceful-fs/4.2.8:
144 | resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
145 | dev: true
146 |
147 | /has-bigints/1.0.1:
148 | resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==}
149 | dev: true
150 |
151 | /has-flag/3.0.0:
152 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
153 | engines: {node: '>=4'}
154 | dev: true
155 |
156 | /has-symbols/1.0.2:
157 | resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==}
158 | engines: {node: '>= 0.4'}
159 | dev: true
160 |
161 | /has-tostringtag/1.0.0:
162 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
163 | engines: {node: '>= 0.4'}
164 | dependencies:
165 | has-symbols: 1.0.2
166 | dev: true
167 |
168 | /has/1.0.3:
169 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
170 | engines: {node: '>= 0.4.0'}
171 | dependencies:
172 | function-bind: 1.1.1
173 | dev: true
174 |
175 | /hosted-git-info/2.8.9:
176 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
177 | dev: true
178 |
179 | /internal-slot/1.0.3:
180 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==}
181 | engines: {node: '>= 0.4'}
182 | dependencies:
183 | get-intrinsic: 1.1.1
184 | has: 1.0.3
185 | side-channel: 1.0.4
186 | dev: true
187 |
188 | /is-arrayish/0.2.1:
189 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=}
190 | dev: true
191 |
192 | /is-bigint/1.0.4:
193 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
194 | dependencies:
195 | has-bigints: 1.0.1
196 | dev: true
197 |
198 | /is-boolean-object/1.1.2:
199 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
200 | engines: {node: '>= 0.4'}
201 | dependencies:
202 | call-bind: 1.0.2
203 | has-tostringtag: 1.0.0
204 | dev: true
205 |
206 | /is-callable/1.2.4:
207 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==}
208 | engines: {node: '>= 0.4'}
209 | dev: true
210 |
211 | /is-core-module/2.7.0:
212 | resolution: {integrity: sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==}
213 | dependencies:
214 | has: 1.0.3
215 | dev: true
216 |
217 | /is-date-object/1.0.5:
218 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
219 | engines: {node: '>= 0.4'}
220 | dependencies:
221 | has-tostringtag: 1.0.0
222 | dev: true
223 |
224 | /is-negative-zero/2.0.1:
225 | resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==}
226 | engines: {node: '>= 0.4'}
227 | dev: true
228 |
229 | /is-number-object/1.0.6:
230 | resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==}
231 | engines: {node: '>= 0.4'}
232 | dependencies:
233 | has-tostringtag: 1.0.0
234 | dev: true
235 |
236 | /is-regex/1.1.4:
237 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
238 | engines: {node: '>= 0.4'}
239 | dependencies:
240 | call-bind: 1.0.2
241 | has-tostringtag: 1.0.0
242 | dev: true
243 |
244 | /is-shared-array-buffer/1.0.1:
245 | resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==}
246 | dev: true
247 |
248 | /is-string/1.0.7:
249 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
250 | engines: {node: '>= 0.4'}
251 | dependencies:
252 | has-tostringtag: 1.0.0
253 | dev: true
254 |
255 | /is-symbol/1.0.4:
256 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
257 | engines: {node: '>= 0.4'}
258 | dependencies:
259 | has-symbols: 1.0.2
260 | dev: true
261 |
262 | /is-weakref/1.0.1:
263 | resolution: {integrity: sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==}
264 | dependencies:
265 | call-bind: 1.0.2
266 | dev: true
267 |
268 | /isexe/2.0.0:
269 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
270 | dev: true
271 |
272 | /json-parse-better-errors/1.0.2:
273 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
274 | dev: true
275 |
276 | /load-json-file/4.0.0:
277 | resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=}
278 | engines: {node: '>=4'}
279 | dependencies:
280 | graceful-fs: 4.2.8
281 | parse-json: 4.0.0
282 | pify: 3.0.0
283 | strip-bom: 3.0.0
284 | dev: true
285 |
286 | /memorystream/0.3.1:
287 | resolution: {integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI=}
288 | engines: {node: '>= 0.10.0'}
289 | dev: true
290 |
291 | /minimatch/3.0.4:
292 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
293 | dependencies:
294 | brace-expansion: 1.1.11
295 | dev: true
296 |
297 | /nice-try/1.0.5:
298 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
299 | dev: true
300 |
301 | /normalize-package-data/2.5.0:
302 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
303 | dependencies:
304 | hosted-git-info: 2.8.9
305 | resolve: 1.20.0
306 | semver: 5.7.1
307 | validate-npm-package-license: 3.0.4
308 | dev: true
309 |
310 | /npm-run-all/4.1.5:
311 | resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
312 | engines: {node: '>= 4'}
313 | hasBin: true
314 | dependencies:
315 | ansi-styles: 3.2.1
316 | chalk: 2.4.2
317 | cross-spawn: 6.0.5
318 | memorystream: 0.3.1
319 | minimatch: 3.0.4
320 | pidtree: 0.3.1
321 | read-pkg: 3.0.0
322 | shell-quote: 1.7.2
323 | string.prototype.padend: 3.1.3
324 | dev: true
325 |
326 | /object-inspect/1.11.0:
327 | resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==}
328 | dev: true
329 |
330 | /object-keys/1.1.1:
331 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
332 | engines: {node: '>= 0.4'}
333 | dev: true
334 |
335 | /object.assign/4.1.2:
336 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==}
337 | engines: {node: '>= 0.4'}
338 | dependencies:
339 | call-bind: 1.0.2
340 | define-properties: 1.1.3
341 | has-symbols: 1.0.2
342 | object-keys: 1.1.1
343 | dev: true
344 |
345 | /parse-json/4.0.0:
346 | resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=}
347 | engines: {node: '>=4'}
348 | dependencies:
349 | error-ex: 1.3.2
350 | json-parse-better-errors: 1.0.2
351 | dev: true
352 |
353 | /path-key/2.0.1:
354 | resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=}
355 | engines: {node: '>=4'}
356 | dev: true
357 |
358 | /path-parse/1.0.7:
359 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
360 | dev: true
361 |
362 | /path-type/3.0.0:
363 | resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
364 | engines: {node: '>=4'}
365 | dependencies:
366 | pify: 3.0.0
367 | dev: true
368 |
369 | /pidtree/0.3.1:
370 | resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==}
371 | engines: {node: '>=0.10'}
372 | hasBin: true
373 | dev: true
374 |
375 | /pify/3.0.0:
376 | resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=}
377 | engines: {node: '>=4'}
378 | dev: true
379 |
380 | /read-pkg/3.0.0:
381 | resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=}
382 | engines: {node: '>=4'}
383 | dependencies:
384 | load-json-file: 4.0.0
385 | normalize-package-data: 2.5.0
386 | path-type: 3.0.0
387 | dev: true
388 |
389 | /resolve/1.20.0:
390 | resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==}
391 | dependencies:
392 | is-core-module: 2.7.0
393 | path-parse: 1.0.7
394 | dev: true
395 |
396 | /semver/5.7.1:
397 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
398 | hasBin: true
399 | dev: true
400 |
401 | /shebang-command/1.2.0:
402 | resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=}
403 | engines: {node: '>=0.10.0'}
404 | dependencies:
405 | shebang-regex: 1.0.0
406 | dev: true
407 |
408 | /shebang-regex/1.0.0:
409 | resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=}
410 | engines: {node: '>=0.10.0'}
411 | dev: true
412 |
413 | /shell-quote/1.7.2:
414 | resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==}
415 | dev: true
416 |
417 | /side-channel/1.0.4:
418 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
419 | dependencies:
420 | call-bind: 1.0.2
421 | get-intrinsic: 1.1.1
422 | object-inspect: 1.11.0
423 | dev: true
424 |
425 | /spdx-correct/3.1.1:
426 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
427 | dependencies:
428 | spdx-expression-parse: 3.0.1
429 | spdx-license-ids: 3.0.10
430 | dev: true
431 |
432 | /spdx-exceptions/2.3.0:
433 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
434 | dev: true
435 |
436 | /spdx-expression-parse/3.0.1:
437 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
438 | dependencies:
439 | spdx-exceptions: 2.3.0
440 | spdx-license-ids: 3.0.10
441 | dev: true
442 |
443 | /spdx-license-ids/3.0.10:
444 | resolution: {integrity: sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==}
445 | dev: true
446 |
447 | /string.prototype.padend/3.1.3:
448 | resolution: {integrity: sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==}
449 | engines: {node: '>= 0.4'}
450 | dependencies:
451 | call-bind: 1.0.2
452 | define-properties: 1.1.3
453 | es-abstract: 1.19.1
454 | dev: true
455 |
456 | /string.prototype.trimend/1.0.4:
457 | resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==}
458 | dependencies:
459 | call-bind: 1.0.2
460 | define-properties: 1.1.3
461 | dev: true
462 |
463 | /string.prototype.trimstart/1.0.4:
464 | resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==}
465 | dependencies:
466 | call-bind: 1.0.2
467 | define-properties: 1.1.3
468 | dev: true
469 |
470 | /strip-bom/3.0.0:
471 | resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=}
472 | engines: {node: '>=4'}
473 | dev: true
474 |
475 | /supports-color/5.5.0:
476 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
477 | engines: {node: '>=4'}
478 | dependencies:
479 | has-flag: 3.0.0
480 | dev: true
481 |
482 | /unbox-primitive/1.0.1:
483 | resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==}
484 | dependencies:
485 | function-bind: 1.1.1
486 | has-bigints: 1.0.1
487 | has-symbols: 1.0.2
488 | which-boxed-primitive: 1.0.2
489 | dev: true
490 |
491 | /validate-npm-package-license/3.0.4:
492 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
493 | dependencies:
494 | spdx-correct: 3.1.1
495 | spdx-expression-parse: 3.0.1
496 | dev: true
497 |
498 | /which-boxed-primitive/1.0.2:
499 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
500 | dependencies:
501 | is-bigint: 1.0.4
502 | is-boolean-object: 1.1.2
503 | is-number-object: 1.0.6
504 | is-string: 1.0.7
505 | is-symbol: 1.0.4
506 | dev: true
507 |
508 | /which/1.3.1:
509 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
510 | hasBin: true
511 | dependencies:
512 | isexe: 2.0.0
513 | dev: true
514 |
--------------------------------------------------------------------------------
/server/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.3
2 |
3 | specifiers:
4 | '@types/node': ^16.10.2
5 | better-sqlite3: ^7.4.3
6 | cross-env: ^7.0.3
7 | dayjs: ^1.10.6
8 | dotenv: ^10.0.0
9 | esno: ^0.9.1
10 | jsonwebtoken: ^8.5.1
11 | kcors: ^2.2.2
12 | koa: ^2.13.1
13 | koa-body: ^4.2.0
14 | koa-bodyparser: ^4.3.0
15 | koa-router: ^10.1.1
16 | log4js: ^6.3.0
17 | nodemon: ^2.0.12
18 | ts-node: ^10.2.1
19 | tsup: ^4.14.0
20 | typescript: ^4.4.2
21 |
22 | dependencies:
23 | better-sqlite3: 7.4.3
24 | dayjs: 1.10.7
25 | dotenv: 10.0.0
26 | kcors: 2.2.2
27 | koa: 2.13.3
28 | koa-body: 4.2.0
29 | koa-bodyparser: 4.3.0
30 | koa-router: 10.1.1
31 | log4js: 6.3.0
32 |
33 | devDependencies:
34 | '@types/node': 16.10.3
35 | cross-env: 7.0.3
36 | esno: 0.9.1
37 | jsonwebtoken: 8.5.1
38 | nodemon: 2.0.13
39 | ts-node: 10.2.1_8304ecd715830f7c190b4d1dea90b100
40 | tsup: 4.14.0_ts-node@10.2.1+typescript@4.4.3
41 | typescript: 4.4.3
42 |
43 | packages:
44 |
45 | /@cspotcode/source-map-consumer/0.8.0:
46 | resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==}
47 | engines: {node: '>= 12'}
48 | dev: true
49 |
50 | /@cspotcode/source-map-support/0.6.1:
51 | resolution: {integrity: sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==}
52 | engines: {node: '>=12'}
53 | dependencies:
54 | '@cspotcode/source-map-consumer': 0.8.0
55 | dev: true
56 |
57 | /@nodelib/fs.scandir/2.1.5:
58 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
59 | engines: {node: '>= 8'}
60 | dependencies:
61 | '@nodelib/fs.stat': 2.0.5
62 | run-parallel: 1.2.0
63 | dev: true
64 |
65 | /@nodelib/fs.stat/2.0.5:
66 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
67 | engines: {node: '>= 8'}
68 | dev: true
69 |
70 | /@nodelib/fs.walk/1.2.8:
71 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
72 | engines: {node: '>= 8'}
73 | dependencies:
74 | '@nodelib/fs.scandir': 2.1.5
75 | fastq: 1.13.0
76 | dev: true
77 |
78 | /@sindresorhus/is/0.14.0:
79 | resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==}
80 | engines: {node: '>=6'}
81 | dev: true
82 |
83 | /@szmarczak/http-timer/1.1.2:
84 | resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==}
85 | engines: {node: '>=6'}
86 | dependencies:
87 | defer-to-connect: 1.1.3
88 | dev: true
89 |
90 | /@tsconfig/node10/1.0.8:
91 | resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==}
92 | dev: true
93 |
94 | /@tsconfig/node12/1.0.9:
95 | resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==}
96 | dev: true
97 |
98 | /@tsconfig/node14/1.0.1:
99 | resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==}
100 | dev: true
101 |
102 | /@tsconfig/node16/1.0.2:
103 | resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==}
104 | dev: true
105 |
106 | /@types/formidable/1.2.4:
107 | resolution: {integrity: sha512-Z+ICLPV/BPYK5pHYDryNKRk26etA9WCicg620XZM0Uqto5gOv6XySMIlXQ3Ae6V3tS7CZNpE8UdHuuxOZxWVfw==}
108 | dependencies:
109 | '@types/node': 16.10.9
110 | dev: false
111 |
112 | /@types/node/16.10.3:
113 | resolution: {integrity: sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==}
114 | dev: true
115 |
116 | /@types/node/16.10.9:
117 | resolution: {integrity: sha512-H9ReOt+yqIJPCutkTYjFjlyK6WEMQYT9hLZMlWtOjFQY2ItppsWZ6RJf8Aw+jz5qTYceuHvFgPIaKOHtLAEWBw==}
118 | dev: false
119 |
120 | /abbrev/1.1.1:
121 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
122 | dev: true
123 |
124 | /accepts/1.3.7:
125 | resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==}
126 | engines: {node: '>= 0.6'}
127 | dependencies:
128 | mime-types: 2.1.33
129 | negotiator: 0.6.2
130 | dev: false
131 |
132 | /acorn-walk/8.2.0:
133 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
134 | engines: {node: '>=0.4.0'}
135 | dev: true
136 |
137 | /acorn/8.5.0:
138 | resolution: {integrity: sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==}
139 | engines: {node: '>=0.4.0'}
140 | hasBin: true
141 | dev: true
142 |
143 | /ansi-align/3.0.1:
144 | resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
145 | dependencies:
146 | string-width: 4.2.3
147 | dev: true
148 |
149 | /ansi-regex/2.1.1:
150 | resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=}
151 | engines: {node: '>=0.10.0'}
152 | dev: false
153 |
154 | /ansi-regex/5.0.1:
155 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
156 | engines: {node: '>=8'}
157 | dev: true
158 |
159 | /ansi-styles/4.3.0:
160 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
161 | engines: {node: '>=8'}
162 | dependencies:
163 | color-convert: 2.0.1
164 | dev: true
165 |
166 | /any-promise/1.3.0:
167 | resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=}
168 | dev: true
169 |
170 | /anymatch/3.1.2:
171 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
172 | engines: {node: '>= 8'}
173 | dependencies:
174 | normalize-path: 3.0.0
175 | picomatch: 2.3.0
176 | dev: true
177 |
178 | /aproba/1.2.0:
179 | resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==}
180 | dev: false
181 |
182 | /are-we-there-yet/1.1.7:
183 | resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==}
184 | dependencies:
185 | delegates: 1.0.0
186 | readable-stream: 2.3.7
187 | dev: false
188 |
189 | /arg/4.1.3:
190 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
191 | dev: true
192 |
193 | /array-union/2.1.0:
194 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
195 | engines: {node: '>=8'}
196 | dev: true
197 |
198 | /balanced-match/1.0.2:
199 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
200 | dev: true
201 |
202 | /base64-js/1.5.1:
203 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
204 | dev: false
205 |
206 | /better-sqlite3/7.4.3:
207 | resolution: {integrity: sha512-07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==}
208 | requiresBuild: true
209 | dependencies:
210 | bindings: 1.5.0
211 | prebuild-install: 6.1.4
212 | tar: 6.1.11
213 | dev: false
214 |
215 | /binary-extensions/2.2.0:
216 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
217 | engines: {node: '>=8'}
218 | dev: true
219 |
220 | /bindings/1.5.0:
221 | resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
222 | dependencies:
223 | file-uri-to-path: 1.0.0
224 | dev: false
225 |
226 | /bl/4.1.0:
227 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
228 | dependencies:
229 | buffer: 5.7.1
230 | inherits: 2.0.4
231 | readable-stream: 3.6.0
232 | dev: false
233 |
234 | /boxen/5.1.2:
235 | resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
236 | engines: {node: '>=10'}
237 | dependencies:
238 | ansi-align: 3.0.1
239 | camelcase: 6.2.0
240 | chalk: 4.1.2
241 | cli-boxes: 2.2.1
242 | string-width: 4.2.3
243 | type-fest: 0.20.2
244 | widest-line: 3.1.0
245 | wrap-ansi: 7.0.0
246 | dev: true
247 |
248 | /brace-expansion/1.1.11:
249 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
250 | dependencies:
251 | balanced-match: 1.0.2
252 | concat-map: 0.0.1
253 | dev: true
254 |
255 | /braces/3.0.2:
256 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
257 | engines: {node: '>=8'}
258 | dependencies:
259 | fill-range: 7.0.1
260 | dev: true
261 |
262 | /buffer-equal-constant-time/1.0.1:
263 | resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=}
264 | dev: true
265 |
266 | /buffer/5.7.1:
267 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
268 | dependencies:
269 | base64-js: 1.5.1
270 | ieee754: 1.2.1
271 | dev: false
272 |
273 | /bytes/3.1.0:
274 | resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==}
275 | engines: {node: '>= 0.8'}
276 | dev: false
277 |
278 | /cac/6.7.8:
279 | resolution: {integrity: sha512-EozC0vCN4aX3LbcVAzN0tW0qKeDFDXZ74xIAfCviLP2B6yzWPMaYLlMP0EHi2oZKvNqRgY35bOKQtWc5xQ0dDA==}
280 | engines: {node: '>=8'}
281 | dev: true
282 |
283 | /cache-content-type/1.0.1:
284 | resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==}
285 | engines: {node: '>= 6.0.0'}
286 | dependencies:
287 | mime-types: 2.1.33
288 | ylru: 1.2.1
289 | dev: false
290 |
291 | /cacheable-request/6.1.0:
292 | resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==}
293 | engines: {node: '>=8'}
294 | dependencies:
295 | clone-response: 1.0.2
296 | get-stream: 5.2.0
297 | http-cache-semantics: 4.1.0
298 | keyv: 3.1.0
299 | lowercase-keys: 2.0.0
300 | normalize-url: 4.5.1
301 | responselike: 1.0.2
302 | dev: true
303 |
304 | /call-bind/1.0.2:
305 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
306 | dependencies:
307 | function-bind: 1.1.1
308 | get-intrinsic: 1.1.1
309 | dev: false
310 |
311 | /camelcase/6.2.0:
312 | resolution: {integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==}
313 | engines: {node: '>=10'}
314 | dev: true
315 |
316 | /chalk/4.1.2:
317 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
318 | engines: {node: '>=10'}
319 | dependencies:
320 | ansi-styles: 4.3.0
321 | supports-color: 7.2.0
322 | dev: true
323 |
324 | /chokidar/3.5.2:
325 | resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==}
326 | engines: {node: '>= 8.10.0'}
327 | dependencies:
328 | anymatch: 3.1.2
329 | braces: 3.0.2
330 | glob-parent: 5.1.2
331 | is-binary-path: 2.1.0
332 | is-glob: 4.0.3
333 | normalize-path: 3.0.0
334 | readdirp: 3.6.0
335 | optionalDependencies:
336 | fsevents: 2.3.2
337 | dev: true
338 |
339 | /chownr/1.1.4:
340 | resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
341 | dev: false
342 |
343 | /chownr/2.0.0:
344 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
345 | engines: {node: '>=10'}
346 | dev: false
347 |
348 | /ci-info/2.0.0:
349 | resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
350 | dev: true
351 |
352 | /cli-boxes/2.2.1:
353 | resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
354 | engines: {node: '>=6'}
355 | dev: true
356 |
357 | /clone-response/1.0.2:
358 | resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=}
359 | dependencies:
360 | mimic-response: 1.0.1
361 | dev: true
362 |
363 | /co-body/5.2.0:
364 | resolution: {integrity: sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==}
365 | dependencies:
366 | inflation: 2.0.0
367 | qs: 6.10.1
368 | raw-body: 2.4.1
369 | type-is: 1.6.18
370 | dev: false
371 |
372 | /co-body/6.1.0:
373 | resolution: {integrity: sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==}
374 | dependencies:
375 | inflation: 2.0.0
376 | qs: 6.10.1
377 | raw-body: 2.4.1
378 | type-is: 1.6.18
379 | dev: false
380 |
381 | /co/4.6.0:
382 | resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=}
383 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
384 | dev: false
385 |
386 | /code-point-at/1.1.0:
387 | resolution: {integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=}
388 | engines: {node: '>=0.10.0'}
389 | dev: false
390 |
391 | /color-convert/2.0.1:
392 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
393 | engines: {node: '>=7.0.0'}
394 | dependencies:
395 | color-name: 1.1.4
396 | dev: true
397 |
398 | /color-name/1.1.4:
399 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
400 | dev: true
401 |
402 | /commander/4.1.1:
403 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
404 | engines: {node: '>= 6'}
405 | dev: true
406 |
407 | /concat-map/0.0.1:
408 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
409 | dev: true
410 |
411 | /configstore/5.0.1:
412 | resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==}
413 | engines: {node: '>=8'}
414 | dependencies:
415 | dot-prop: 5.3.0
416 | graceful-fs: 4.2.8
417 | make-dir: 3.1.0
418 | unique-string: 2.0.0
419 | write-file-atomic: 3.0.3
420 | xdg-basedir: 4.0.0
421 | dev: true
422 |
423 | /console-control-strings/1.1.0:
424 | resolution: {integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=}
425 | dev: false
426 |
427 | /content-disposition/0.5.3:
428 | resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==}
429 | engines: {node: '>= 0.6'}
430 | dependencies:
431 | safe-buffer: 5.1.2
432 | dev: false
433 |
434 | /content-type/1.0.4:
435 | resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==}
436 | engines: {node: '>= 0.6'}
437 | dev: false
438 |
439 | /cookies/0.8.0:
440 | resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==}
441 | engines: {node: '>= 0.8'}
442 | dependencies:
443 | depd: 2.0.0
444 | keygrip: 1.1.0
445 | dev: false
446 |
447 | /copy-to/2.0.1:
448 | resolution: {integrity: sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=}
449 | dev: false
450 |
451 | /core-util-is/1.0.3:
452 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
453 | dev: false
454 |
455 | /create-require/1.1.1:
456 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
457 | dev: true
458 |
459 | /cross-env/7.0.3:
460 | resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
461 | engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
462 | hasBin: true
463 | dependencies:
464 | cross-spawn: 7.0.3
465 | dev: true
466 |
467 | /cross-spawn/7.0.3:
468 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
469 | engines: {node: '>= 8'}
470 | dependencies:
471 | path-key: 3.1.1
472 | shebang-command: 2.0.0
473 | which: 2.0.2
474 | dev: true
475 |
476 | /crypto-random-string/2.0.0:
477 | resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
478 | engines: {node: '>=8'}
479 | dev: true
480 |
481 | /date-format/2.1.0:
482 | resolution: {integrity: sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==}
483 | engines: {node: '>=4.0'}
484 | dev: false
485 |
486 | /date-format/3.0.0:
487 | resolution: {integrity: sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==}
488 | engines: {node: '>=4.0'}
489 | dev: false
490 |
491 | /dayjs/1.10.7:
492 | resolution: {integrity: sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==}
493 | dev: false
494 |
495 | /debug/2.6.9:
496 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
497 | dependencies:
498 | ms: 2.0.0
499 | dev: true
500 |
501 | /debug/3.2.7:
502 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
503 | dependencies:
504 | ms: 2.1.3
505 | dev: true
506 |
507 | /debug/4.3.2:
508 | resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==}
509 | engines: {node: '>=6.0'}
510 | peerDependencies:
511 | supports-color: '*'
512 | peerDependenciesMeta:
513 | supports-color:
514 | optional: true
515 | dependencies:
516 | ms: 2.1.2
517 |
518 | /decompress-response/3.3.0:
519 | resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=}
520 | engines: {node: '>=4'}
521 | dependencies:
522 | mimic-response: 1.0.1
523 | dev: true
524 |
525 | /decompress-response/4.2.1:
526 | resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==}
527 | engines: {node: '>=8'}
528 | dependencies:
529 | mimic-response: 2.1.0
530 | dev: false
531 |
532 | /deep-equal/1.0.1:
533 | resolution: {integrity: sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=}
534 | dev: false
535 |
536 | /deep-extend/0.6.0:
537 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
538 | engines: {node: '>=4.0.0'}
539 |
540 | /defer-to-connect/1.1.3:
541 | resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==}
542 | dev: true
543 |
544 | /delegates/1.0.0:
545 | resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=}
546 | dev: false
547 |
548 | /depd/1.1.2:
549 | resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=}
550 | engines: {node: '>= 0.6'}
551 | dev: false
552 |
553 | /depd/2.0.0:
554 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
555 | engines: {node: '>= 0.8'}
556 | dev: false
557 |
558 | /destroy/1.0.4:
559 | resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=}
560 | dev: false
561 |
562 | /detect-libc/1.0.3:
563 | resolution: {integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=}
564 | engines: {node: '>=0.10'}
565 | hasBin: true
566 | dev: false
567 |
568 | /diff/4.0.2:
569 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
570 | engines: {node: '>=0.3.1'}
571 | dev: true
572 |
573 | /dir-glob/3.0.1:
574 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
575 | engines: {node: '>=8'}
576 | dependencies:
577 | path-type: 4.0.0
578 | dev: true
579 |
580 | /dot-prop/5.3.0:
581 | resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
582 | engines: {node: '>=8'}
583 | dependencies:
584 | is-obj: 2.0.0
585 | dev: true
586 |
587 | /dotenv/10.0.0:
588 | resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
589 | engines: {node: '>=10'}
590 | dev: false
591 |
592 | /duplexer3/0.1.4:
593 | resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=}
594 | dev: true
595 |
596 | /ecdsa-sig-formatter/1.0.11:
597 | resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
598 | dependencies:
599 | safe-buffer: 5.2.1
600 | dev: true
601 |
602 | /ee-first/1.1.1:
603 | resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
604 | dev: false
605 |
606 | /emoji-regex/8.0.0:
607 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
608 | dev: true
609 |
610 | /encodeurl/1.0.2:
611 | resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=}
612 | engines: {node: '>= 0.8'}
613 | dev: false
614 |
615 | /end-of-stream/1.4.4:
616 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
617 | dependencies:
618 | once: 1.4.0
619 |
620 | /esbuild-android-arm64/0.13.4:
621 | resolution: {integrity: sha512-elDJt+jNyoHFId0/dKsuVYUPke3EcquIyUwzJCH17a3ERglN3A9aMBI5zbz+xNZ+FbaDNdpn0RaJHCFLbZX+fA==}
622 | cpu: [arm64]
623 | os: [android]
624 | requiresBuild: true
625 | dev: true
626 | optional: true
627 |
628 | /esbuild-darwin-64/0.13.4:
629 | resolution: {integrity: sha512-zJQGyHRAdZUXlRzbN7W+7ykmEiGC+bq3Gc4GxKYjjWTgDRSEly98ym+vRNkDjXwXYD3gGzSwvH35+MiHAtWvLA==}
630 | cpu: [x64]
631 | os: [darwin]
632 | requiresBuild: true
633 | dev: true
634 | optional: true
635 |
636 | /esbuild-darwin-arm64/0.13.4:
637 | resolution: {integrity: sha512-r8oYvAtqSGq8HNTZCAx4TdLE7jZiGhX9ooGi5AQAey37MA6XNaP8ZNlw9OCpcgpx3ryU2WctXwIqPzkHO7a8dg==}
638 | cpu: [arm64]
639 | os: [darwin]
640 | requiresBuild: true
641 | dev: true
642 | optional: true
643 |
644 | /esbuild-freebsd-64/0.13.4:
645 | resolution: {integrity: sha512-u9DRGkn09EN8+lCh6z7FKle7awi17PJRBuAKdRNgSo5ZrH/3m+mYaJK2PR2URHMpAfXiwJX341z231tSdVe3Yw==}
646 | cpu: [x64]
647 | os: [freebsd]
648 | requiresBuild: true
649 | dev: true
650 | optional: true
651 |
652 | /esbuild-freebsd-arm64/0.13.4:
653 | resolution: {integrity: sha512-q3B2k68Uf6gfjATjcK16DqxvjqRQkHL8aPoOfj4op+lSqegdXvBacB1d8jw8PxbWJ8JHpdTLdAVUYU80kotQXA==}
654 | cpu: [arm64]
655 | os: [freebsd]
656 | requiresBuild: true
657 | dev: true
658 | optional: true
659 |
660 | /esbuild-linux-32/0.13.4:
661 | resolution: {integrity: sha512-UUYJPHSiKAO8KoN3Ls/iZtgDLZvK5HarES96aolDPWZnq9FLx4dIHM/x2z4Rxv9IYqQ/DxlPoE2Co1UPBIYYeA==}
662 | cpu: [ia32]
663 | os: [linux]
664 | requiresBuild: true
665 | dev: true
666 | optional: true
667 |
668 | /esbuild-linux-64/0.13.4:
669 | resolution: {integrity: sha512-+RnohAKiiUW4UHLGRkNR1AnENW1gCuDWuygEtd4jxTNPIoeC7lbXGor7rtgjj9AdUzFgOEvAXyNNX01kJ8NueQ==}
670 | cpu: [x64]
671 | os: [linux]
672 | requiresBuild: true
673 | dev: true
674 | optional: true
675 |
676 | /esbuild-linux-arm/0.13.4:
677 | resolution: {integrity: sha512-BH5gKve4jglS7UPSsfwHSX79I5agC/lm4eKoRUEyo8lwQs89frQSRp2Xup+6SFQnxt3md5EsKcd2Dbkqeb3gPA==}
678 | cpu: [arm]
679 | os: [linux]
680 | requiresBuild: true
681 | dev: true
682 | optional: true
683 |
684 | /esbuild-linux-arm64/0.13.4:
685 | resolution: {integrity: sha512-+A188cAdd6QuSRxMIwRrWLjgphQA0LDAQ/ECVlrPVJwnx+1i64NjDZivoqPYLOTkSPIKntiWwMhhf0U5/RrPHQ==}
686 | cpu: [arm64]
687 | os: [linux]
688 | requiresBuild: true
689 | dev: true
690 | optional: true
691 |
692 | /esbuild-linux-mips64le/0.13.4:
693 | resolution: {integrity: sha512-0xkwtPaUkG5xMTFGaQPe1AadSe5QAiQuD4Gix1O9k5Xo/U8xGIkw9UFUTvfEUeu71vFb6ZgsIacfP1NLoFjWNw==}
694 | cpu: [mips64el]
695 | os: [linux]
696 | requiresBuild: true
697 | dev: true
698 | optional: true
699 |
700 | /esbuild-linux-ppc64le/0.13.4:
701 | resolution: {integrity: sha512-E1+oJPP7A+j23GPo3CEpBhGwG1bni4B8IbTA3/3rvzjURwUMZdcN3Fhrz24rnjzdLSHmULtOE4VsbT42h1Om4Q==}
702 | cpu: [ppc64]
703 | os: [linux]
704 | requiresBuild: true
705 | dev: true
706 | optional: true
707 |
708 | /esbuild-node-loader/0.3.2:
709 | resolution: {integrity: sha512-4Y6sTwvB5pH+A7gmpd/xzyPkOZC4nmEWRoGBi4BQoE0DhZvrrzHqSmT+jb4x7m1rwv4BCuNbajN13LN8D0PGoA==}
710 | dependencies:
711 | esbuild: 0.13.4
712 | dev: true
713 |
714 | /esbuild-openbsd-64/0.13.4:
715 | resolution: {integrity: sha512-xEkI1o5HYxDzbv9jSox0EsDxpwraG09SRiKKv0W8pH6O3bt+zPSlnoK7+I7Q69tkvONkpIq5n2o+c55uq0X7cw==}
716 | cpu: [x64]
717 | os: [openbsd]
718 | requiresBuild: true
719 | dev: true
720 | optional: true
721 |
722 | /esbuild-register/3.0.0_esbuild@0.12.29:
723 | resolution: {integrity: sha512-No7U3ZUd6gPrrC6gqdb3XFcf2lNqzn8nvQXcgcyOl8szMVuN6YUvOplnmakxWyogI9d8SiJMl0uzBzJck+Aoxw==}
724 | peerDependencies:
725 | esbuild: '>=0.12 <1'
726 | dependencies:
727 | esbuild: 0.12.29
728 | jsonc-parser: 3.0.0
729 | dev: true
730 |
731 | /esbuild-sunos-64/0.13.4:
732 | resolution: {integrity: sha512-bjXUMcODMnB6hQicLBBmmnBl7OMDyVpFahKvHGXJfDChIi5udiIRKCmFUFIRn+AUAKVlfrofRKdyPC7kBsbvGQ==}
733 | cpu: [x64]
734 | os: [sunos]
735 | requiresBuild: true
736 | dev: true
737 | optional: true
738 |
739 | /esbuild-windows-32/0.13.4:
740 | resolution: {integrity: sha512-z4CH07pfyVY0XF98TCsGmLxKCl0kyvshKDbdpTekW9f2d+dJqn5mmoUyWhpSVJ0SfYWJg86FoD9nMbbaMVyGdg==}
741 | cpu: [ia32]
742 | os: [win32]
743 | requiresBuild: true
744 | dev: true
745 | optional: true
746 |
747 | /esbuild-windows-64/0.13.4:
748 | resolution: {integrity: sha512-uVL11vORRPjocGLYam67rwFLd0LvkrHEs+JG+1oJN4UD9MQmNGZPa4gBHo6hDpF+kqRJ9kXgQSeDqUyRy0tj/Q==}
749 | cpu: [x64]
750 | os: [win32]
751 | requiresBuild: true
752 | dev: true
753 | optional: true
754 |
755 | /esbuild-windows-arm64/0.13.4:
756 | resolution: {integrity: sha512-vA6GLvptgftRcDcWngD5cMlL4f4LbL8JjU2UMT9yJ0MT5ra6hdZNFWnOeOoEtY4GtJ6OjZ0i+81sTqhAB0fMkg==}
757 | cpu: [arm64]
758 | os: [win32]
759 | requiresBuild: true
760 | dev: true
761 | optional: true
762 |
763 | /esbuild/0.12.29:
764 | resolution: {integrity: sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g==}
765 | hasBin: true
766 | requiresBuild: true
767 | dev: true
768 |
769 | /esbuild/0.13.4:
770 | resolution: {integrity: sha512-wMA5eUwpavTBiNl+It6j8OQuKVh69l6z4DKDLzoTIqC+gChnPpcmqdA8WNHptUHRnfyML+mKEQPlW7Mybj8gHg==}
771 | hasBin: true
772 | requiresBuild: true
773 | optionalDependencies:
774 | esbuild-android-arm64: 0.13.4
775 | esbuild-darwin-64: 0.13.4
776 | esbuild-darwin-arm64: 0.13.4
777 | esbuild-freebsd-64: 0.13.4
778 | esbuild-freebsd-arm64: 0.13.4
779 | esbuild-linux-32: 0.13.4
780 | esbuild-linux-64: 0.13.4
781 | esbuild-linux-arm: 0.13.4
782 | esbuild-linux-arm64: 0.13.4
783 | esbuild-linux-mips64le: 0.13.4
784 | esbuild-linux-ppc64le: 0.13.4
785 | esbuild-openbsd-64: 0.13.4
786 | esbuild-sunos-64: 0.13.4
787 | esbuild-windows-32: 0.13.4
788 | esbuild-windows-64: 0.13.4
789 | esbuild-windows-arm64: 0.13.4
790 | dev: true
791 |
792 | /escape-goat/2.1.1:
793 | resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==}
794 | engines: {node: '>=8'}
795 | dev: true
796 |
797 | /escape-html/1.0.3:
798 | resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=}
799 | dev: false
800 |
801 | /esno/0.9.1:
802 | resolution: {integrity: sha512-3pnZ7fI0+8R7kJSTwuOfzAvXNXun7eaZsTSE5avkNRrxTokq3Jm32gaah3Zgl5opHQ1K9SJasoQQySzmfN8alw==}
803 | hasBin: true
804 | dependencies:
805 | cross-spawn: 7.0.3
806 | esbuild: 0.12.29
807 | esbuild-node-loader: 0.3.2
808 | esbuild-register: 3.0.0_esbuild@0.12.29
809 | dev: true
810 |
811 | /execa/5.1.1:
812 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
813 | engines: {node: '>=10'}
814 | dependencies:
815 | cross-spawn: 7.0.3
816 | get-stream: 6.0.1
817 | human-signals: 2.1.0
818 | is-stream: 2.0.1
819 | merge-stream: 2.0.0
820 | npm-run-path: 4.0.1
821 | onetime: 5.1.2
822 | signal-exit: 3.0.5
823 | strip-final-newline: 2.0.0
824 | dev: true
825 |
826 | /expand-template/2.0.3:
827 | resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
828 | engines: {node: '>=6'}
829 | dev: false
830 |
831 | /fast-glob/3.2.7:
832 | resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==}
833 | engines: {node: '>=8'}
834 | dependencies:
835 | '@nodelib/fs.stat': 2.0.5
836 | '@nodelib/fs.walk': 1.2.8
837 | glob-parent: 5.1.2
838 | merge2: 1.4.1
839 | micromatch: 4.0.4
840 | dev: true
841 |
842 | /fastq/1.13.0:
843 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
844 | dependencies:
845 | reusify: 1.0.4
846 | dev: true
847 |
848 | /file-uri-to-path/1.0.0:
849 | resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
850 | dev: false
851 |
852 | /fill-range/7.0.1:
853 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
854 | engines: {node: '>=8'}
855 | dependencies:
856 | to-regex-range: 5.0.1
857 | dev: true
858 |
859 | /flatted/2.0.2:
860 | resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==}
861 | dev: false
862 |
863 | /formidable/1.2.2:
864 | resolution: {integrity: sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==}
865 | dev: false
866 |
867 | /fresh/0.5.2:
868 | resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=}
869 | engines: {node: '>= 0.6'}
870 | dev: false
871 |
872 | /fs-constants/1.0.0:
873 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
874 | dev: false
875 |
876 | /fs-extra/8.1.0:
877 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
878 | engines: {node: '>=6 <7 || >=8'}
879 | dependencies:
880 | graceful-fs: 4.2.8
881 | jsonfile: 4.0.0
882 | universalify: 0.1.2
883 | dev: false
884 |
885 | /fs-minipass/2.1.0:
886 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
887 | engines: {node: '>= 8'}
888 | dependencies:
889 | minipass: 3.1.5
890 | dev: false
891 |
892 | /fs.realpath/1.0.0:
893 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
894 | dev: true
895 |
896 | /fsevents/2.3.2:
897 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
898 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
899 | os: [darwin]
900 | requiresBuild: true
901 | dev: true
902 | optional: true
903 |
904 | /function-bind/1.1.1:
905 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
906 | dev: false
907 |
908 | /gauge/2.7.4:
909 | resolution: {integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=}
910 | dependencies:
911 | aproba: 1.2.0
912 | console-control-strings: 1.1.0
913 | has-unicode: 2.0.1
914 | object-assign: 4.1.1
915 | signal-exit: 3.0.5
916 | string-width: 1.0.2
917 | strip-ansi: 3.0.1
918 | wide-align: 1.1.3
919 | dev: false
920 |
921 | /get-intrinsic/1.1.1:
922 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==}
923 | dependencies:
924 | function-bind: 1.1.1
925 | has: 1.0.3
926 | has-symbols: 1.0.2
927 | dev: false
928 |
929 | /get-stream/4.1.0:
930 | resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
931 | engines: {node: '>=6'}
932 | dependencies:
933 | pump: 3.0.0
934 | dev: true
935 |
936 | /get-stream/5.2.0:
937 | resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
938 | engines: {node: '>=8'}
939 | dependencies:
940 | pump: 3.0.0
941 | dev: true
942 |
943 | /get-stream/6.0.1:
944 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
945 | engines: {node: '>=10'}
946 | dev: true
947 |
948 | /github-from-package/0.0.0:
949 | resolution: {integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=}
950 | dev: false
951 |
952 | /glob-parent/5.1.2:
953 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
954 | engines: {node: '>= 6'}
955 | dependencies:
956 | is-glob: 4.0.3
957 | dev: true
958 |
959 | /glob/7.1.6:
960 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
961 | dependencies:
962 | fs.realpath: 1.0.0
963 | inflight: 1.0.6
964 | inherits: 2.0.4
965 | minimatch: 3.0.4
966 | once: 1.4.0
967 | path-is-absolute: 1.0.1
968 | dev: true
969 |
970 | /global-dirs/3.0.0:
971 | resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==}
972 | engines: {node: '>=10'}
973 | dependencies:
974 | ini: 2.0.0
975 | dev: true
976 |
977 | /globby/11.0.4:
978 | resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==}
979 | engines: {node: '>=10'}
980 | dependencies:
981 | array-union: 2.1.0
982 | dir-glob: 3.0.1
983 | fast-glob: 3.2.7
984 | ignore: 5.1.8
985 | merge2: 1.4.1
986 | slash: 3.0.0
987 | dev: true
988 |
989 | /got/9.6.0:
990 | resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==}
991 | engines: {node: '>=8.6'}
992 | dependencies:
993 | '@sindresorhus/is': 0.14.0
994 | '@szmarczak/http-timer': 1.1.2
995 | cacheable-request: 6.1.0
996 | decompress-response: 3.3.0
997 | duplexer3: 0.1.4
998 | get-stream: 4.1.0
999 | lowercase-keys: 1.0.1
1000 | mimic-response: 1.0.1
1001 | p-cancelable: 1.1.0
1002 | to-readable-stream: 1.0.0
1003 | url-parse-lax: 3.0.0
1004 | dev: true
1005 |
1006 | /graceful-fs/4.2.8:
1007 | resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
1008 |
1009 | /has-flag/3.0.0:
1010 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
1011 | engines: {node: '>=4'}
1012 | dev: true
1013 |
1014 | /has-flag/4.0.0:
1015 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1016 | engines: {node: '>=8'}
1017 | dev: true
1018 |
1019 | /has-symbols/1.0.2:
1020 | resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==}
1021 | engines: {node: '>= 0.4'}
1022 | dev: false
1023 |
1024 | /has-tostringtag/1.0.0:
1025 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1026 | engines: {node: '>= 0.4'}
1027 | dependencies:
1028 | has-symbols: 1.0.2
1029 | dev: false
1030 |
1031 | /has-unicode/2.0.1:
1032 | resolution: {integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=}
1033 | dev: false
1034 |
1035 | /has-yarn/2.1.0:
1036 | resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==}
1037 | engines: {node: '>=8'}
1038 | dev: true
1039 |
1040 | /has/1.0.3:
1041 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1042 | engines: {node: '>= 0.4.0'}
1043 | dependencies:
1044 | function-bind: 1.1.1
1045 | dev: false
1046 |
1047 | /http-assert/1.5.0:
1048 | resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==}
1049 | engines: {node: '>= 0.8'}
1050 | dependencies:
1051 | deep-equal: 1.0.1
1052 | http-errors: 1.8.0
1053 | dev: false
1054 |
1055 | /http-cache-semantics/4.1.0:
1056 | resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==}
1057 | dev: true
1058 |
1059 | /http-errors/1.7.3:
1060 | resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==}
1061 | engines: {node: '>= 0.6'}
1062 | dependencies:
1063 | depd: 1.1.2
1064 | inherits: 2.0.4
1065 | setprototypeof: 1.1.1
1066 | statuses: 1.5.0
1067 | toidentifier: 1.0.0
1068 | dev: false
1069 |
1070 | /http-errors/1.8.0:
1071 | resolution: {integrity: sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==}
1072 | engines: {node: '>= 0.6'}
1073 | dependencies:
1074 | depd: 1.1.2
1075 | inherits: 2.0.4
1076 | setprototypeof: 1.2.0
1077 | statuses: 1.5.0
1078 | toidentifier: 1.0.0
1079 | dev: false
1080 |
1081 | /human-signals/2.1.0:
1082 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
1083 | engines: {node: '>=10.17.0'}
1084 | dev: true
1085 |
1086 | /iconv-lite/0.4.24:
1087 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
1088 | engines: {node: '>=0.10.0'}
1089 | dependencies:
1090 | safer-buffer: 2.1.2
1091 | dev: false
1092 |
1093 | /ieee754/1.2.1:
1094 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
1095 | dev: false
1096 |
1097 | /ignore-by-default/1.0.1:
1098 | resolution: {integrity: sha1-SMptcvbGo68Aqa1K5odr44ieKwk=}
1099 | dev: true
1100 |
1101 | /ignore/5.1.8:
1102 | resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==}
1103 | engines: {node: '>= 4'}
1104 | dev: true
1105 |
1106 | /import-cwd/3.0.0:
1107 | resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==}
1108 | engines: {node: '>=8'}
1109 | dependencies:
1110 | import-from: 3.0.0
1111 | dev: true
1112 |
1113 | /import-from/3.0.0:
1114 | resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==}
1115 | engines: {node: '>=8'}
1116 | dependencies:
1117 | resolve-from: 5.0.0
1118 | dev: true
1119 |
1120 | /import-lazy/2.1.0:
1121 | resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=}
1122 | engines: {node: '>=4'}
1123 | dev: true
1124 |
1125 | /imurmurhash/0.1.4:
1126 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=}
1127 | engines: {node: '>=0.8.19'}
1128 | dev: true
1129 |
1130 | /inflation/2.0.0:
1131 | resolution: {integrity: sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=}
1132 | engines: {node: '>= 0.8.0'}
1133 | dev: false
1134 |
1135 | /inflight/1.0.6:
1136 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
1137 | dependencies:
1138 | once: 1.4.0
1139 | wrappy: 1.0.2
1140 | dev: true
1141 |
1142 | /inherits/2.0.4:
1143 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1144 |
1145 | /ini/1.3.8:
1146 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
1147 |
1148 | /ini/2.0.0:
1149 | resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
1150 | engines: {node: '>=10'}
1151 | dev: true
1152 |
1153 | /is-binary-path/2.1.0:
1154 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1155 | engines: {node: '>=8'}
1156 | dependencies:
1157 | binary-extensions: 2.2.0
1158 | dev: true
1159 |
1160 | /is-ci/2.0.0:
1161 | resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==}
1162 | hasBin: true
1163 | dependencies:
1164 | ci-info: 2.0.0
1165 | dev: true
1166 |
1167 | /is-extglob/2.1.1:
1168 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
1169 | engines: {node: '>=0.10.0'}
1170 | dev: true
1171 |
1172 | /is-fullwidth-code-point/1.0.0:
1173 | resolution: {integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=}
1174 | engines: {node: '>=0.10.0'}
1175 | dependencies:
1176 | number-is-nan: 1.0.1
1177 | dev: false
1178 |
1179 | /is-fullwidth-code-point/3.0.0:
1180 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1181 | engines: {node: '>=8'}
1182 | dev: true
1183 |
1184 | /is-generator-function/1.0.10:
1185 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
1186 | engines: {node: '>= 0.4'}
1187 | dependencies:
1188 | has-tostringtag: 1.0.0
1189 | dev: false
1190 |
1191 | /is-glob/4.0.3:
1192 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1193 | engines: {node: '>=0.10.0'}
1194 | dependencies:
1195 | is-extglob: 2.1.1
1196 | dev: true
1197 |
1198 | /is-installed-globally/0.4.0:
1199 | resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
1200 | engines: {node: '>=10'}
1201 | dependencies:
1202 | global-dirs: 3.0.0
1203 | is-path-inside: 3.0.3
1204 | dev: true
1205 |
1206 | /is-npm/5.0.0:
1207 | resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==}
1208 | engines: {node: '>=10'}
1209 | dev: true
1210 |
1211 | /is-number/7.0.0:
1212 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1213 | engines: {node: '>=0.12.0'}
1214 | dev: true
1215 |
1216 | /is-obj/2.0.0:
1217 | resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
1218 | engines: {node: '>=8'}
1219 | dev: true
1220 |
1221 | /is-path-inside/3.0.3:
1222 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1223 | engines: {node: '>=8'}
1224 | dev: true
1225 |
1226 | /is-stream/2.0.1:
1227 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1228 | engines: {node: '>=8'}
1229 | dev: true
1230 |
1231 | /is-typedarray/1.0.0:
1232 | resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=}
1233 | dev: true
1234 |
1235 | /is-yarn-global/0.3.0:
1236 | resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==}
1237 | dev: true
1238 |
1239 | /isarray/1.0.0:
1240 | resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=}
1241 | dev: false
1242 |
1243 | /isexe/2.0.0:
1244 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
1245 | dev: true
1246 |
1247 | /joycon/3.0.1:
1248 | resolution: {integrity: sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==}
1249 | engines: {node: '>=10'}
1250 | dev: true
1251 |
1252 | /json-buffer/3.0.0:
1253 | resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=}
1254 | dev: true
1255 |
1256 | /jsonc-parser/3.0.0:
1257 | resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==}
1258 | dev: true
1259 |
1260 | /jsonfile/4.0.0:
1261 | resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=}
1262 | optionalDependencies:
1263 | graceful-fs: 4.2.8
1264 | dev: false
1265 |
1266 | /jsonwebtoken/8.5.1:
1267 | resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==}
1268 | engines: {node: '>=4', npm: '>=1.4.28'}
1269 | dependencies:
1270 | jws: 3.2.2
1271 | lodash.includes: 4.3.0
1272 | lodash.isboolean: 3.0.3
1273 | lodash.isinteger: 4.0.4
1274 | lodash.isnumber: 3.0.3
1275 | lodash.isplainobject: 4.0.6
1276 | lodash.isstring: 4.0.1
1277 | lodash.once: 4.1.1
1278 | ms: 2.1.3
1279 | semver: 5.7.1
1280 | dev: true
1281 |
1282 | /jwa/1.4.1:
1283 | resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==}
1284 | dependencies:
1285 | buffer-equal-constant-time: 1.0.1
1286 | ecdsa-sig-formatter: 1.0.11
1287 | safe-buffer: 5.2.1
1288 | dev: true
1289 |
1290 | /jws/3.2.2:
1291 | resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
1292 | dependencies:
1293 | jwa: 1.4.1
1294 | safe-buffer: 5.2.1
1295 | dev: true
1296 |
1297 | /kcors/2.2.2:
1298 | resolution: {integrity: sha512-rIqbKa2S0gT0wC/790jsQM6hNpABHBNWQ7+XYS1xJV6zOGxlanW+RtCmlDn6wPZsGpRk371yy8abfBgl2OTavg==}
1299 | engines: {node: '>= 6.0.0'}
1300 | dev: false
1301 |
1302 | /keygrip/1.1.0:
1303 | resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==}
1304 | engines: {node: '>= 0.6'}
1305 | dependencies:
1306 | tsscmp: 1.0.6
1307 | dev: false
1308 |
1309 | /keyv/3.1.0:
1310 | resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==}
1311 | dependencies:
1312 | json-buffer: 3.0.0
1313 | dev: true
1314 |
1315 | /koa-body/4.2.0:
1316 | resolution: {integrity: sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA==}
1317 | dependencies:
1318 | '@types/formidable': 1.2.4
1319 | co-body: 5.2.0
1320 | formidable: 1.2.2
1321 | dev: false
1322 |
1323 | /koa-bodyparser/4.3.0:
1324 | resolution: {integrity: sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw==}
1325 | engines: {node: '>=8.0.0'}
1326 | dependencies:
1327 | co-body: 6.1.0
1328 | copy-to: 2.0.1
1329 | dev: false
1330 |
1331 | /koa-compose/4.1.0:
1332 | resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==}
1333 | dev: false
1334 |
1335 | /koa-convert/2.0.0:
1336 | resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==}
1337 | engines: {node: '>= 10'}
1338 | dependencies:
1339 | co: 4.6.0
1340 | koa-compose: 4.1.0
1341 | dev: false
1342 |
1343 | /koa-router/10.1.1:
1344 | resolution: {integrity: sha512-z/OzxVjf5NyuNO3t9nJpx7e1oR3FSBAauiwXtMQu4ppcnuNZzTaQ4p21P8A6r2Es8uJJM339oc4oVW+qX7SqnQ==}
1345 | engines: {node: '>= 8.0.0'}
1346 | dependencies:
1347 | debug: 4.3.2
1348 | http-errors: 1.8.0
1349 | koa-compose: 4.1.0
1350 | methods: 1.1.2
1351 | path-to-regexp: 6.2.0
1352 | transitivePeerDependencies:
1353 | - supports-color
1354 | dev: false
1355 |
1356 | /koa/2.13.3:
1357 | resolution: {integrity: sha512-XhXIoR+ylAwqG3HhXwnMPQAM/4xfywz52OvxZNmxmTWGGHsvmBv4NSIhURha6yMuvEex1WdtplUTHnxnKpQiGw==}
1358 | engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4}
1359 | dependencies:
1360 | accepts: 1.3.7
1361 | cache-content-type: 1.0.1
1362 | content-disposition: 0.5.3
1363 | content-type: 1.0.4
1364 | cookies: 0.8.0
1365 | debug: 4.3.2
1366 | delegates: 1.0.0
1367 | depd: 2.0.0
1368 | destroy: 1.0.4
1369 | encodeurl: 1.0.2
1370 | escape-html: 1.0.3
1371 | fresh: 0.5.2
1372 | http-assert: 1.5.0
1373 | http-errors: 1.8.0
1374 | is-generator-function: 1.0.10
1375 | koa-compose: 4.1.0
1376 | koa-convert: 2.0.0
1377 | on-finished: 2.3.0
1378 | only: 0.0.2
1379 | parseurl: 1.3.3
1380 | statuses: 1.5.0
1381 | type-is: 1.6.18
1382 | vary: 1.1.2
1383 | transitivePeerDependencies:
1384 | - supports-color
1385 | dev: false
1386 |
1387 | /latest-version/5.1.0:
1388 | resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==}
1389 | engines: {node: '>=8'}
1390 | dependencies:
1391 | package-json: 6.5.0
1392 | dev: true
1393 |
1394 | /lilconfig/2.0.3:
1395 | resolution: {integrity: sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==}
1396 | engines: {node: '>=10'}
1397 | dev: true
1398 |
1399 | /lines-and-columns/1.1.6:
1400 | resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=}
1401 | dev: true
1402 |
1403 | /lodash.includes/4.3.0:
1404 | resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=}
1405 | dev: true
1406 |
1407 | /lodash.isboolean/3.0.3:
1408 | resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=}
1409 | dev: true
1410 |
1411 | /lodash.isinteger/4.0.4:
1412 | resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=}
1413 | dev: true
1414 |
1415 | /lodash.isnumber/3.0.3:
1416 | resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=}
1417 | dev: true
1418 |
1419 | /lodash.isplainobject/4.0.6:
1420 | resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=}
1421 | dev: true
1422 |
1423 | /lodash.isstring/4.0.1:
1424 | resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=}
1425 | dev: true
1426 |
1427 | /lodash.once/4.1.1:
1428 | resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=}
1429 | dev: true
1430 |
1431 | /log4js/6.3.0:
1432 | resolution: {integrity: sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==}
1433 | engines: {node: '>=8.0'}
1434 | dependencies:
1435 | date-format: 3.0.0
1436 | debug: 4.3.2
1437 | flatted: 2.0.2
1438 | rfdc: 1.3.0
1439 | streamroller: 2.2.4
1440 | transitivePeerDependencies:
1441 | - supports-color
1442 | dev: false
1443 |
1444 | /lowercase-keys/1.0.1:
1445 | resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==}
1446 | engines: {node: '>=0.10.0'}
1447 | dev: true
1448 |
1449 | /lowercase-keys/2.0.0:
1450 | resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
1451 | engines: {node: '>=8'}
1452 | dev: true
1453 |
1454 | /lru-cache/6.0.0:
1455 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1456 | engines: {node: '>=10'}
1457 | dependencies:
1458 | yallist: 4.0.0
1459 | dev: true
1460 |
1461 | /make-dir/3.1.0:
1462 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
1463 | engines: {node: '>=8'}
1464 | dependencies:
1465 | semver: 6.3.0
1466 | dev: true
1467 |
1468 | /make-error/1.3.6:
1469 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
1470 | dev: true
1471 |
1472 | /media-typer/0.3.0:
1473 | resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=}
1474 | engines: {node: '>= 0.6'}
1475 | dev: false
1476 |
1477 | /merge-stream/2.0.0:
1478 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1479 | dev: true
1480 |
1481 | /merge2/1.4.1:
1482 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1483 | engines: {node: '>= 8'}
1484 | dev: true
1485 |
1486 | /methods/1.1.2:
1487 | resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=}
1488 | engines: {node: '>= 0.6'}
1489 | dev: false
1490 |
1491 | /micromatch/4.0.4:
1492 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==}
1493 | engines: {node: '>=8.6'}
1494 | dependencies:
1495 | braces: 3.0.2
1496 | picomatch: 2.3.0
1497 | dev: true
1498 |
1499 | /mime-db/1.50.0:
1500 | resolution: {integrity: sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==}
1501 | engines: {node: '>= 0.6'}
1502 | dev: false
1503 |
1504 | /mime-types/2.1.33:
1505 | resolution: {integrity: sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==}
1506 | engines: {node: '>= 0.6'}
1507 | dependencies:
1508 | mime-db: 1.50.0
1509 | dev: false
1510 |
1511 | /mimic-fn/2.1.0:
1512 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
1513 | engines: {node: '>=6'}
1514 | dev: true
1515 |
1516 | /mimic-response/1.0.1:
1517 | resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
1518 | engines: {node: '>=4'}
1519 | dev: true
1520 |
1521 | /mimic-response/2.1.0:
1522 | resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==}
1523 | engines: {node: '>=8'}
1524 | dev: false
1525 |
1526 | /minimatch/3.0.4:
1527 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
1528 | dependencies:
1529 | brace-expansion: 1.1.11
1530 | dev: true
1531 |
1532 | /minimist/1.2.5:
1533 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
1534 |
1535 | /minipass/3.1.5:
1536 | resolution: {integrity: sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==}
1537 | engines: {node: '>=8'}
1538 | dependencies:
1539 | yallist: 4.0.0
1540 | dev: false
1541 |
1542 | /minizlib/2.1.2:
1543 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
1544 | engines: {node: '>= 8'}
1545 | dependencies:
1546 | minipass: 3.1.5
1547 | yallist: 4.0.0
1548 | dev: false
1549 |
1550 | /mkdirp-classic/0.5.3:
1551 | resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
1552 | dev: false
1553 |
1554 | /mkdirp/1.0.4:
1555 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
1556 | engines: {node: '>=10'}
1557 | hasBin: true
1558 | dev: false
1559 |
1560 | /ms/2.0.0:
1561 | resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
1562 | dev: true
1563 |
1564 | /ms/2.1.2:
1565 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1566 |
1567 | /ms/2.1.3:
1568 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1569 | dev: true
1570 |
1571 | /mz/2.7.0:
1572 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1573 | dependencies:
1574 | any-promise: 1.3.0
1575 | object-assign: 4.1.1
1576 | thenify-all: 1.6.0
1577 | dev: true
1578 |
1579 | /napi-build-utils/1.0.2:
1580 | resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
1581 | dev: false
1582 |
1583 | /negotiator/0.6.2:
1584 | resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==}
1585 | engines: {node: '>= 0.6'}
1586 | dev: false
1587 |
1588 | /node-abi/2.30.1:
1589 | resolution: {integrity: sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==}
1590 | dependencies:
1591 | semver: 5.7.1
1592 | dev: false
1593 |
1594 | /node-modules-regexp/1.0.0:
1595 | resolution: {integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=}
1596 | engines: {node: '>=0.10.0'}
1597 | dev: true
1598 |
1599 | /nodemon/2.0.13:
1600 | resolution: {integrity: sha512-UMXMpsZsv1UXUttCn6gv8eQPhn6DR4BW+txnL3IN5IHqrCwcrT/yWHfL35UsClGXknTH79r5xbu+6J1zNHuSyA==}
1601 | engines: {node: '>=8.10.0'}
1602 | hasBin: true
1603 | requiresBuild: true
1604 | dependencies:
1605 | chokidar: 3.5.2
1606 | debug: 3.2.7
1607 | ignore-by-default: 1.0.1
1608 | minimatch: 3.0.4
1609 | pstree.remy: 1.1.8
1610 | semver: 5.7.1
1611 | supports-color: 5.5.0
1612 | touch: 3.1.0
1613 | undefsafe: 2.0.3
1614 | update-notifier: 5.1.0
1615 | dev: true
1616 |
1617 | /nopt/1.0.10:
1618 | resolution: {integrity: sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=}
1619 | hasBin: true
1620 | dependencies:
1621 | abbrev: 1.1.1
1622 | dev: true
1623 |
1624 | /normalize-path/3.0.0:
1625 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1626 | engines: {node: '>=0.10.0'}
1627 | dev: true
1628 |
1629 | /normalize-url/4.5.1:
1630 | resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==}
1631 | engines: {node: '>=8'}
1632 | dev: true
1633 |
1634 | /npm-run-path/4.0.1:
1635 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
1636 | engines: {node: '>=8'}
1637 | dependencies:
1638 | path-key: 3.1.1
1639 | dev: true
1640 |
1641 | /npmlog/4.1.2:
1642 | resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==}
1643 | dependencies:
1644 | are-we-there-yet: 1.1.7
1645 | console-control-strings: 1.1.0
1646 | gauge: 2.7.4
1647 | set-blocking: 2.0.0
1648 | dev: false
1649 |
1650 | /number-is-nan/1.0.1:
1651 | resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=}
1652 | engines: {node: '>=0.10.0'}
1653 | dev: false
1654 |
1655 | /object-assign/4.1.1:
1656 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
1657 | engines: {node: '>=0.10.0'}
1658 |
1659 | /object-inspect/1.11.0:
1660 | resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==}
1661 | dev: false
1662 |
1663 | /on-finished/2.3.0:
1664 | resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=}
1665 | engines: {node: '>= 0.8'}
1666 | dependencies:
1667 | ee-first: 1.1.1
1668 | dev: false
1669 |
1670 | /once/1.4.0:
1671 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
1672 | dependencies:
1673 | wrappy: 1.0.2
1674 |
1675 | /onetime/5.1.2:
1676 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
1677 | engines: {node: '>=6'}
1678 | dependencies:
1679 | mimic-fn: 2.1.0
1680 | dev: true
1681 |
1682 | /only/0.0.2:
1683 | resolution: {integrity: sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=}
1684 | dev: false
1685 |
1686 | /p-cancelable/1.1.0:
1687 | resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==}
1688 | engines: {node: '>=6'}
1689 | dev: true
1690 |
1691 | /package-json/6.5.0:
1692 | resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==}
1693 | engines: {node: '>=8'}
1694 | dependencies:
1695 | got: 9.6.0
1696 | registry-auth-token: 4.2.1
1697 | registry-url: 5.1.0
1698 | semver: 6.3.0
1699 | dev: true
1700 |
1701 | /parseurl/1.3.3:
1702 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
1703 | engines: {node: '>= 0.8'}
1704 | dev: false
1705 |
1706 | /path-is-absolute/1.0.1:
1707 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
1708 | engines: {node: '>=0.10.0'}
1709 | dev: true
1710 |
1711 | /path-key/3.1.1:
1712 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1713 | engines: {node: '>=8'}
1714 | dev: true
1715 |
1716 | /path-to-regexp/6.2.0:
1717 | resolution: {integrity: sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==}
1718 | dev: false
1719 |
1720 | /path-type/4.0.0:
1721 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1722 | engines: {node: '>=8'}
1723 | dev: true
1724 |
1725 | /picomatch/2.3.0:
1726 | resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==}
1727 | engines: {node: '>=8.6'}
1728 | dev: true
1729 |
1730 | /pirates/4.0.1:
1731 | resolution: {integrity: sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==}
1732 | engines: {node: '>= 6'}
1733 | dependencies:
1734 | node-modules-regexp: 1.0.0
1735 | dev: true
1736 |
1737 | /postcss-load-config/3.1.0_ts-node@10.2.1:
1738 | resolution: {integrity: sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==}
1739 | engines: {node: '>= 10'}
1740 | peerDependencies:
1741 | ts-node: '>=9.0.0'
1742 | peerDependenciesMeta:
1743 | ts-node:
1744 | optional: true
1745 | dependencies:
1746 | import-cwd: 3.0.0
1747 | lilconfig: 2.0.3
1748 | ts-node: 10.2.1_8304ecd715830f7c190b4d1dea90b100
1749 | yaml: 1.10.2
1750 | dev: true
1751 |
1752 | /prebuild-install/6.1.4:
1753 | resolution: {integrity: sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==}
1754 | engines: {node: '>=6'}
1755 | hasBin: true
1756 | dependencies:
1757 | detect-libc: 1.0.3
1758 | expand-template: 2.0.3
1759 | github-from-package: 0.0.0
1760 | minimist: 1.2.5
1761 | mkdirp-classic: 0.5.3
1762 | napi-build-utils: 1.0.2
1763 | node-abi: 2.30.1
1764 | npmlog: 4.1.2
1765 | pump: 3.0.0
1766 | rc: 1.2.8
1767 | simple-get: 3.1.0
1768 | tar-fs: 2.1.1
1769 | tunnel-agent: 0.6.0
1770 | dev: false
1771 |
1772 | /prepend-http/2.0.0:
1773 | resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=}
1774 | engines: {node: '>=4'}
1775 | dev: true
1776 |
1777 | /process-nextick-args/2.0.1:
1778 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
1779 | dev: false
1780 |
1781 | /pstree.remy/1.1.8:
1782 | resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
1783 | dev: true
1784 |
1785 | /pump/3.0.0:
1786 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
1787 | dependencies:
1788 | end-of-stream: 1.4.4
1789 | once: 1.4.0
1790 |
1791 | /pupa/2.1.1:
1792 | resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==}
1793 | engines: {node: '>=8'}
1794 | dependencies:
1795 | escape-goat: 2.1.1
1796 | dev: true
1797 |
1798 | /qs/6.10.1:
1799 | resolution: {integrity: sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==}
1800 | engines: {node: '>=0.6'}
1801 | dependencies:
1802 | side-channel: 1.0.4
1803 | dev: false
1804 |
1805 | /queue-microtask/1.2.3:
1806 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1807 | dev: true
1808 |
1809 | /raw-body/2.4.1:
1810 | resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==}
1811 | engines: {node: '>= 0.8'}
1812 | dependencies:
1813 | bytes: 3.1.0
1814 | http-errors: 1.7.3
1815 | iconv-lite: 0.4.24
1816 | unpipe: 1.0.0
1817 | dev: false
1818 |
1819 | /rc/1.2.8:
1820 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
1821 | hasBin: true
1822 | dependencies:
1823 | deep-extend: 0.6.0
1824 | ini: 1.3.8
1825 | minimist: 1.2.5
1826 | strip-json-comments: 2.0.1
1827 |
1828 | /readable-stream/2.3.7:
1829 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==}
1830 | dependencies:
1831 | core-util-is: 1.0.3
1832 | inherits: 2.0.4
1833 | isarray: 1.0.0
1834 | process-nextick-args: 2.0.1
1835 | safe-buffer: 5.1.2
1836 | string_decoder: 1.1.1
1837 | util-deprecate: 1.0.2
1838 | dev: false
1839 |
1840 | /readable-stream/3.6.0:
1841 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
1842 | engines: {node: '>= 6'}
1843 | dependencies:
1844 | inherits: 2.0.4
1845 | string_decoder: 1.3.0
1846 | util-deprecate: 1.0.2
1847 | dev: false
1848 |
1849 | /readdirp/3.6.0:
1850 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1851 | engines: {node: '>=8.10.0'}
1852 | dependencies:
1853 | picomatch: 2.3.0
1854 | dev: true
1855 |
1856 | /registry-auth-token/4.2.1:
1857 | resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==}
1858 | engines: {node: '>=6.0.0'}
1859 | dependencies:
1860 | rc: 1.2.8
1861 | dev: true
1862 |
1863 | /registry-url/5.1.0:
1864 | resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==}
1865 | engines: {node: '>=8'}
1866 | dependencies:
1867 | rc: 1.2.8
1868 | dev: true
1869 |
1870 | /resolve-from/5.0.0:
1871 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
1872 | engines: {node: '>=8'}
1873 | dev: true
1874 |
1875 | /responselike/1.0.2:
1876 | resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=}
1877 | dependencies:
1878 | lowercase-keys: 1.0.1
1879 | dev: true
1880 |
1881 | /reusify/1.0.4:
1882 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1883 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1884 | dev: true
1885 |
1886 | /rfdc/1.3.0:
1887 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
1888 | dev: false
1889 |
1890 | /rollup/2.58.0:
1891 | resolution: {integrity: sha512-NOXpusKnaRpbS7ZVSzcEXqxcLDOagN6iFS8p45RkoiMqPHDLwJm758UF05KlMoCRbLBTZsPOIa887gZJ1AiXvw==}
1892 | engines: {node: '>=10.0.0'}
1893 | hasBin: true
1894 | optionalDependencies:
1895 | fsevents: 2.3.2
1896 | dev: true
1897 |
1898 | /run-parallel/1.2.0:
1899 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1900 | dependencies:
1901 | queue-microtask: 1.2.3
1902 | dev: true
1903 |
1904 | /safe-buffer/5.1.2:
1905 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1906 | dev: false
1907 |
1908 | /safe-buffer/5.2.1:
1909 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1910 |
1911 | /safer-buffer/2.1.2:
1912 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1913 | dev: false
1914 |
1915 | /semver-diff/3.1.1:
1916 | resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==}
1917 | engines: {node: '>=8'}
1918 | dependencies:
1919 | semver: 6.3.0
1920 | dev: true
1921 |
1922 | /semver/5.7.1:
1923 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
1924 | hasBin: true
1925 |
1926 | /semver/6.3.0:
1927 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
1928 | hasBin: true
1929 | dev: true
1930 |
1931 | /semver/7.3.5:
1932 | resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==}
1933 | engines: {node: '>=10'}
1934 | hasBin: true
1935 | dependencies:
1936 | lru-cache: 6.0.0
1937 | dev: true
1938 |
1939 | /set-blocking/2.0.0:
1940 | resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=}
1941 | dev: false
1942 |
1943 | /setprototypeof/1.1.1:
1944 | resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==}
1945 | dev: false
1946 |
1947 | /setprototypeof/1.2.0:
1948 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
1949 | dev: false
1950 |
1951 | /shebang-command/2.0.0:
1952 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1953 | engines: {node: '>=8'}
1954 | dependencies:
1955 | shebang-regex: 3.0.0
1956 | dev: true
1957 |
1958 | /shebang-regex/3.0.0:
1959 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1960 | engines: {node: '>=8'}
1961 | dev: true
1962 |
1963 | /side-channel/1.0.4:
1964 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
1965 | dependencies:
1966 | call-bind: 1.0.2
1967 | get-intrinsic: 1.1.1
1968 | object-inspect: 1.11.0
1969 | dev: false
1970 |
1971 | /signal-exit/3.0.5:
1972 | resolution: {integrity: sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==}
1973 |
1974 | /simple-concat/1.0.1:
1975 | resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
1976 | dev: false
1977 |
1978 | /simple-get/3.1.0:
1979 | resolution: {integrity: sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==}
1980 | dependencies:
1981 | decompress-response: 4.2.1
1982 | once: 1.4.0
1983 | simple-concat: 1.0.1
1984 | dev: false
1985 |
1986 | /slash/3.0.0:
1987 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1988 | engines: {node: '>=8'}
1989 | dev: true
1990 |
1991 | /statuses/1.5.0:
1992 | resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=}
1993 | engines: {node: '>= 0.6'}
1994 | dev: false
1995 |
1996 | /streamroller/2.2.4:
1997 | resolution: {integrity: sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==}
1998 | engines: {node: '>=8.0'}
1999 | dependencies:
2000 | date-format: 2.1.0
2001 | debug: 4.3.2
2002 | fs-extra: 8.1.0
2003 | transitivePeerDependencies:
2004 | - supports-color
2005 | dev: false
2006 |
2007 | /string-width/1.0.2:
2008 | resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=}
2009 | engines: {node: '>=0.10.0'}
2010 | dependencies:
2011 | code-point-at: 1.1.0
2012 | is-fullwidth-code-point: 1.0.0
2013 | strip-ansi: 3.0.1
2014 | dev: false
2015 |
2016 | /string-width/4.2.3:
2017 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2018 | engines: {node: '>=8'}
2019 | dependencies:
2020 | emoji-regex: 8.0.0
2021 | is-fullwidth-code-point: 3.0.0
2022 | strip-ansi: 6.0.1
2023 | dev: true
2024 |
2025 | /string_decoder/1.1.1:
2026 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
2027 | dependencies:
2028 | safe-buffer: 5.1.2
2029 | dev: false
2030 |
2031 | /string_decoder/1.3.0:
2032 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
2033 | dependencies:
2034 | safe-buffer: 5.2.1
2035 | dev: false
2036 |
2037 | /strip-ansi/3.0.1:
2038 | resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=}
2039 | engines: {node: '>=0.10.0'}
2040 | dependencies:
2041 | ansi-regex: 2.1.1
2042 | dev: false
2043 |
2044 | /strip-ansi/6.0.1:
2045 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2046 | engines: {node: '>=8'}
2047 | dependencies:
2048 | ansi-regex: 5.0.1
2049 | dev: true
2050 |
2051 | /strip-final-newline/2.0.0:
2052 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
2053 | engines: {node: '>=6'}
2054 | dev: true
2055 |
2056 | /strip-json-comments/2.0.1:
2057 | resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=}
2058 | engines: {node: '>=0.10.0'}
2059 |
2060 | /sucrase/3.20.2:
2061 | resolution: {integrity: sha512-EdJ5M6VEvToIZwIWiZ71cxe4CklDRG8PdSjUSst+BZCUGlaEhnrdQo/LOXsuq3MjWRbfepg1XTffClK0Tmo0HQ==}
2062 | engines: {node: '>=8'}
2063 | hasBin: true
2064 | dependencies:
2065 | commander: 4.1.1
2066 | glob: 7.1.6
2067 | lines-and-columns: 1.1.6
2068 | mz: 2.7.0
2069 | pirates: 4.0.1
2070 | ts-interface-checker: 0.1.13
2071 | dev: true
2072 |
2073 | /supports-color/5.5.0:
2074 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2075 | engines: {node: '>=4'}
2076 | dependencies:
2077 | has-flag: 3.0.0
2078 | dev: true
2079 |
2080 | /supports-color/7.2.0:
2081 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2082 | engines: {node: '>=8'}
2083 | dependencies:
2084 | has-flag: 4.0.0
2085 | dev: true
2086 |
2087 | /tar-fs/2.1.1:
2088 | resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
2089 | dependencies:
2090 | chownr: 1.1.4
2091 | mkdirp-classic: 0.5.3
2092 | pump: 3.0.0
2093 | tar-stream: 2.2.0
2094 | dev: false
2095 |
2096 | /tar-stream/2.2.0:
2097 | resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
2098 | engines: {node: '>=6'}
2099 | dependencies:
2100 | bl: 4.1.0
2101 | end-of-stream: 1.4.4
2102 | fs-constants: 1.0.0
2103 | inherits: 2.0.4
2104 | readable-stream: 3.6.0
2105 | dev: false
2106 |
2107 | /tar/6.1.11:
2108 | resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==}
2109 | engines: {node: '>= 10'}
2110 | dependencies:
2111 | chownr: 2.0.0
2112 | fs-minipass: 2.1.0
2113 | minipass: 3.1.5
2114 | minizlib: 2.1.2
2115 | mkdirp: 1.0.4
2116 | yallist: 4.0.0
2117 | dev: false
2118 |
2119 | /thenify-all/1.6.0:
2120 | resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=}
2121 | engines: {node: '>=0.8'}
2122 | dependencies:
2123 | thenify: 3.3.1
2124 | dev: true
2125 |
2126 | /thenify/3.3.1:
2127 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2128 | dependencies:
2129 | any-promise: 1.3.0
2130 | dev: true
2131 |
2132 | /to-readable-stream/1.0.0:
2133 | resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==}
2134 | engines: {node: '>=6'}
2135 | dev: true
2136 |
2137 | /to-regex-range/5.0.1:
2138 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2139 | engines: {node: '>=8.0'}
2140 | dependencies:
2141 | is-number: 7.0.0
2142 | dev: true
2143 |
2144 | /toidentifier/1.0.0:
2145 | resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==}
2146 | engines: {node: '>=0.6'}
2147 | dev: false
2148 |
2149 | /touch/3.1.0:
2150 | resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==}
2151 | hasBin: true
2152 | dependencies:
2153 | nopt: 1.0.10
2154 | dev: true
2155 |
2156 | /tree-kill/1.2.2:
2157 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
2158 | hasBin: true
2159 | dev: true
2160 |
2161 | /ts-interface-checker/0.1.13:
2162 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2163 | dev: true
2164 |
2165 | /ts-node/10.2.1_8304ecd715830f7c190b4d1dea90b100:
2166 | resolution: {integrity: sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==}
2167 | engines: {node: '>=12.0.0'}
2168 | hasBin: true
2169 | peerDependencies:
2170 | '@swc/core': '>=1.2.50'
2171 | '@swc/wasm': '>=1.2.50'
2172 | '@types/node': '*'
2173 | typescript: '>=2.7'
2174 | peerDependenciesMeta:
2175 | '@swc/core':
2176 | optional: true
2177 | '@swc/wasm':
2178 | optional: true
2179 | dependencies:
2180 | '@cspotcode/source-map-support': 0.6.1
2181 | '@tsconfig/node10': 1.0.8
2182 | '@tsconfig/node12': 1.0.9
2183 | '@tsconfig/node14': 1.0.1
2184 | '@tsconfig/node16': 1.0.2
2185 | '@types/node': 16.10.3
2186 | acorn: 8.5.0
2187 | acorn-walk: 8.2.0
2188 | arg: 4.1.3
2189 | create-require: 1.1.1
2190 | diff: 4.0.2
2191 | make-error: 1.3.6
2192 | typescript: 4.4.3
2193 | yn: 3.1.1
2194 | dev: true
2195 |
2196 | /tsscmp/1.0.6:
2197 | resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}
2198 | engines: {node: '>=0.6.x'}
2199 | dev: false
2200 |
2201 | /tsup/4.14.0_ts-node@10.2.1+typescript@4.4.3:
2202 | resolution: {integrity: sha512-77rWdzhikTP9mQ34XMRzK83tw++LF6f4ox/HNERlgesB7g6g5VQ1iJlueG9O0P9HAZGVKavUwyoZv0+322p6rg==}
2203 | hasBin: true
2204 | peerDependencies:
2205 | typescript: ^4.2.3
2206 | peerDependenciesMeta:
2207 | typescript:
2208 | optional: true
2209 | dependencies:
2210 | cac: 6.7.8
2211 | chalk: 4.1.2
2212 | chokidar: 3.5.2
2213 | debug: 4.3.2
2214 | esbuild: 0.12.29
2215 | execa: 5.1.1
2216 | globby: 11.0.4
2217 | joycon: 3.0.1
2218 | postcss-load-config: 3.1.0_ts-node@10.2.1
2219 | resolve-from: 5.0.0
2220 | rollup: 2.58.0
2221 | sucrase: 3.20.2
2222 | tree-kill: 1.2.2
2223 | typescript: 4.4.3
2224 | transitivePeerDependencies:
2225 | - supports-color
2226 | - ts-node
2227 | dev: true
2228 |
2229 | /tunnel-agent/0.6.0:
2230 | resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=}
2231 | dependencies:
2232 | safe-buffer: 5.2.1
2233 | dev: false
2234 |
2235 | /type-fest/0.20.2:
2236 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2237 | engines: {node: '>=10'}
2238 | dev: true
2239 |
2240 | /type-is/1.6.18:
2241 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
2242 | engines: {node: '>= 0.6'}
2243 | dependencies:
2244 | media-typer: 0.3.0
2245 | mime-types: 2.1.33
2246 | dev: false
2247 |
2248 | /typedarray-to-buffer/3.1.5:
2249 | resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
2250 | dependencies:
2251 | is-typedarray: 1.0.0
2252 | dev: true
2253 |
2254 | /typescript/4.4.3:
2255 | resolution: {integrity: sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==}
2256 | engines: {node: '>=4.2.0'}
2257 | hasBin: true
2258 | dev: true
2259 |
2260 | /undefsafe/2.0.3:
2261 | resolution: {integrity: sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==}
2262 | dependencies:
2263 | debug: 2.6.9
2264 | dev: true
2265 |
2266 | /unique-string/2.0.0:
2267 | resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
2268 | engines: {node: '>=8'}
2269 | dependencies:
2270 | crypto-random-string: 2.0.0
2271 | dev: true
2272 |
2273 | /universalify/0.1.2:
2274 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
2275 | engines: {node: '>= 4.0.0'}
2276 | dev: false
2277 |
2278 | /unpipe/1.0.0:
2279 | resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=}
2280 | engines: {node: '>= 0.8'}
2281 | dev: false
2282 |
2283 | /update-notifier/5.1.0:
2284 | resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==}
2285 | engines: {node: '>=10'}
2286 | dependencies:
2287 | boxen: 5.1.2
2288 | chalk: 4.1.2
2289 | configstore: 5.0.1
2290 | has-yarn: 2.1.0
2291 | import-lazy: 2.1.0
2292 | is-ci: 2.0.0
2293 | is-installed-globally: 0.4.0
2294 | is-npm: 5.0.0
2295 | is-yarn-global: 0.3.0
2296 | latest-version: 5.1.0
2297 | pupa: 2.1.1
2298 | semver: 7.3.5
2299 | semver-diff: 3.1.1
2300 | xdg-basedir: 4.0.0
2301 | dev: true
2302 |
2303 | /url-parse-lax/3.0.0:
2304 | resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=}
2305 | engines: {node: '>=4'}
2306 | dependencies:
2307 | prepend-http: 2.0.0
2308 | dev: true
2309 |
2310 | /util-deprecate/1.0.2:
2311 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
2312 | dev: false
2313 |
2314 | /vary/1.1.2:
2315 | resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=}
2316 | engines: {node: '>= 0.8'}
2317 | dev: false
2318 |
2319 | /which/2.0.2:
2320 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2321 | engines: {node: '>= 8'}
2322 | hasBin: true
2323 | dependencies:
2324 | isexe: 2.0.0
2325 | dev: true
2326 |
2327 | /wide-align/1.1.3:
2328 | resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==}
2329 | dependencies:
2330 | string-width: 1.0.2
2331 | dev: false
2332 |
2333 | /widest-line/3.1.0:
2334 | resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
2335 | engines: {node: '>=8'}
2336 | dependencies:
2337 | string-width: 4.2.3
2338 | dev: true
2339 |
2340 | /wrap-ansi/7.0.0:
2341 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2342 | engines: {node: '>=10'}
2343 | dependencies:
2344 | ansi-styles: 4.3.0
2345 | string-width: 4.2.3
2346 | strip-ansi: 6.0.1
2347 | dev: true
2348 |
2349 | /wrappy/1.0.2:
2350 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
2351 |
2352 | /write-file-atomic/3.0.3:
2353 | resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
2354 | dependencies:
2355 | imurmurhash: 0.1.4
2356 | is-typedarray: 1.0.0
2357 | signal-exit: 3.0.5
2358 | typedarray-to-buffer: 3.1.5
2359 | dev: true
2360 |
2361 | /xdg-basedir/4.0.0:
2362 | resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==}
2363 | engines: {node: '>=8'}
2364 | dev: true
2365 |
2366 | /yallist/4.0.0:
2367 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2368 |
2369 | /yaml/1.10.2:
2370 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
2371 | engines: {node: '>= 6'}
2372 | dev: true
2373 |
2374 | /ylru/1.2.1:
2375 | resolution: {integrity: sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==}
2376 | engines: {node: '>= 4.0.0'}
2377 | dev: false
2378 |
2379 | /yn/3.1.1:
2380 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
2381 | engines: {node: '>=6'}
2382 | dev: true
2383 |
--------------------------------------------------------------------------------