├── .eslintignore ├── .eslintrc ├── .gitignore ├── README.md ├── app.js ├── config └── index.js ├── index.html ├── nginx.conf ├── package.json ├── pnpm-lock.yaml └── utils ├── build.js ├── command.js ├── disk.js ├── git.js ├── log.js ├── node_app.js └── spinner_style.js /.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | pnpm-lock.yaml 4 | 5 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@yzydeveloper/eslint-config-basic" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | *.local -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 安装 2 | ```JavaScript 3 | ### 克隆项目 4 | git clone https://github.com/yzydeveloper/buildservice.git 5 | 6 | ### 进入项目目录 7 | cd buildservice 8 | 9 | ### 安装依赖 10 | npm install 11 | 12 | ### 配置config>index.js 13 | ### node app.js 14 | ``` 15 | 在网上看到很多进行自动化构建的方案,例如Jenkins、GitLab CI。这种方法也有不好的地方,它需要在服务器上进行编译打包,占用服务器资源,且拓展性较低,这样还是颇为不便的。于是作者根据自身项目的需求,研究了一套拓展性自认为较高的CI工具。 16 | ## 一、整体思路 17 | 我们需要实现一个工具,当用户在终端输入构建命令时,执行如下步骤 18 | 1. 选择站点 例:A项目、B项目 19 | 2. 将项目从远端clone到本地(获取本地最大磁盘空间,创建/buildservice/gitroot/A项目.git,) 20 | 3. 选择要发布的分支 例:bugA分支 21 | 4. 执行shell命令 例:Vue项目 下载依赖-npm install 打包-npm run build (根据项目而定) 22 | 5. 使用ssh工具登录远程服务器 23 | 6. 将选择的bugA分转为拼音风格作为二级域名,将Nginx泛解析的匹配域名绑定到子目录配置 24 | > `实现效果为 bugA.cloudrd.cn 访问bugA分支、bugB.cloudrd.cn 访问bugB分支` 25 | 7. 断开远程服务器 26 | ## 二、技术栈 27 | - [GitHub地址](https://github.com/yzydeveloper/buildservice/) 28 | - `nodegit` 使用git提供的API。 29 | - `node-ssh` 使用ssh登录远程服务器。 30 | - `shelljs` 重新包装了child_process子进程模块,调用系统命令更方便。 31 | - `diskinfo` 磁盘信息工具。 32 | - `pinyin` 转换中文字符为拼音。 33 | - `inquirer` 命令行交互功能。 34 | - `chalk` 美化命令行,进行着色等。 35 | - `ora` 命令行环境的 loading 效果。 36 | ## 三、工具相关 37 | ``` 38 | ├─config 39 | | └index.js -----ssh配置、站点配置 40 | ├─utils 41 | | ├─build.js -----初始化站点目录、下载依赖、打包等方法 42 | | ├─command.js -----有关一些命令行操作的方法 43 | | ├─disk.js -----磁盘信息 44 | | ├─git.js -----基于nodegit封装的Git类 45 | | ├─log.js -----logs 46 | | ├─node_app.js -----基于nodefs模块封装的方法 47 | | └spinner_style.js 加载动画样式 48 | ├─app.js 程序入口 49 | ├─index.html 50 | ├─package-lock.json 51 | ├─package.json 52 | ├─README.md 53 | ``` 54 | ## 四、图解大致流程 55 | ![第一步-选择发布站点](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/557d86ddb9c14786b435d576bdc7d5c8~tplv-k3u1fbpfcp-watermark.image) 56 | 57 | ![第二步-选择要发布的分支名称](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/456c7f2af403464792bffb77235244b3~tplv-k3u1fbpfcp-watermark.image) 58 | 59 | ![第三步-切分支、拉代码、下载依赖、打包、上传](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1317415ea6ef4c7e80dfc2c946a12199~tplv-k3u1fbpfcp-watermark.image) 60 | ## 五、如何进行项目配置 61 | >其实很简单的,只需要配置一些ssh地址、用户名、密码、您的项目地址以及安装依赖以及打包的命令就可以啦 62 | ```JavaScript 63 | // config>index.js 64 | module.exports = Object.freeze({ 65 | SERVER_PATH: "", // ssh地址 服务器地址 66 | SSH_USER: "", // ssh 用户名 67 | PASSWORD: "", // 用密码连接服务器 68 | PATH: "/data/www", // 需要上传的服务器目录地址 如 /data/www/ 69 | APPLICATION_PORTAL: "/buildservice/gitroot", 70 | SITE_DATA: [ 71 | { 72 | name: "buildservice1", 73 | value: "http://49.234.49.103:9090/root/buildservice1.git", 74 | install: "npm install", 75 | build: "npm run build", 76 | }, 77 | { 78 | name: "buildservice2", 79 | value: "http://49.234.49.103:9090/root/buildservice2.git", 80 | install: "npm install", //下载依赖 81 | build: "npm run build", //打包项目 82 | }, 83 | ], //设置自己的站点信息 84 | }); 85 | ``` 86 | ## 六、在项目根目录执行node app.js就可以进行站点发布啦 87 | >~具体图解看步骤四噢 88 | ## 七、总结 89 | 此工具的好处就是各位可以开箱即用,无需在您的项目中配置乱七八蕉,只需动动小手将您的项目地址配置一下,就可以进行部署啦,拓展性还是比较高的,比如可以实现的Devops,当然实际运用时可以根据您们的思路以及相应的需求进行一定的扩展。 90 | 91 | 目前此工具我觉的是应该只能配合类Linux服务器使用,使用node-ssh与linux进行交互实现,如果想在windows服务器部署的话可能得使用MSDeploy+IIS来实现此功能。 92 | 93 | 如果您觉得对您有一点点帮助 点个赞或者去GitHub点个star 那就非常感谢了 [GitHub地址](https://github.com/yzydeveloper/buildservice/) 94 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | const pinyin = require('pinyin') 2 | const { download, gitPull, install, compileDist } = require('./utils/build') 3 | const { select, uploadBySSH } = require('./utils/command') 4 | const Git = require('./utils/git') 5 | const { SITE_DATA } = require('./config') 6 | 7 | async function releaseBuild() { 8 | // 选择站点 9 | const { env } = await select('选择站点', SITE_DATA) 10 | const temp = env.split('/') 11 | global.SITE_INFO = SITE_DATA.find((data) => data.value === env) // 设置全局的站点信息 12 | const ext = temp[temp.length - 1] // 提取目标文件夹的名称 13 | global.gitPath = env // 设置全局的站点git地址 14 | global.ext = ext // 目录 15 | await download() // 初始化仓库 16 | await gitPull() // 拉代码 17 | await install(global.tar) // 下载依赖 18 | await compileDist(global.tar) // 打包 19 | let branch = new Git().curBranchInfo.name.split('/').reverse()[0] 20 | branch = pinyin(branch, { 21 | style: pinyin.STYLE_INITIALS, 22 | }) 23 | .join('') 24 | .toLowerCase() // 将分支名转为拼音风格 25 | await uploadBySSH(branch) // 执行上传操作 26 | } 27 | releaseBuild() 28 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Object.freeze({ 2 | SERVER_PATH: '', // ssh地址 服务器地址 3 | SSH_USER: '', // ssh 用户名 4 | PASSWORD: '', // 用密码连接服务器 5 | PATH: '/data/www', // 需要上传的服务器目录地址 如 /data/www/ 6 | APPLICATION_PORTAL: '/buildservice/gitroot', 7 | SITE_DATA: [ 8 | { 9 | name: 'buildservice1', 10 | value: 'http://49.234.49.103:9090/root/buildservice1.git', 11 | install: 'npm install', 12 | build: 'npm run build', 13 | }, 14 | { 15 | name: 'buildservice2', 16 | value: 'http://49.234.49.103:9090/root/buildservice2.git', 17 | install: 'npm install', // 下载依赖 18 | build: 'npm run build', // 打包项目 19 | }, 20 | ], // 设置自己的站点信息 21 | }) 22 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | buildservice 11 | 12 | -------------------------------------------------------------------------------- /nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name ~^(?.+).cloudrd.cn$; 4 | root /data/www/$subdomain; 5 | index index.html index.htm index.php; 6 | fastcgi_intercept_errors on; 7 | error_page 404 /404.html; 8 | #charset koi8-r; 9 | #access_log /var/log/nginx/log/host.access.log main; 10 | 11 | location / { 12 | try_files $uri $uri/ /index.html; 13 | } 14 | 15 | 16 | # redirect server error pages to the static page /50x.html 17 | # 18 | error_page 500 502 503 504 /50x.html; 19 | location = /50x.html { 20 | root /usr/share/nginx/html; 21 | } 22 | 23 | # proxy the PHP scripts to Apache listening on 127.0.0.1:80 24 | # 25 | #location ~ \.php$ { 26 | # proxy_pass http://127.0.0.1; 27 | #} 28 | 29 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 30 | # 31 | #location ~ \.php$ { 32 | # root html; 33 | # fastcgi_pass 127.0.0.1:9000; 34 | # fastcgi_index index.php; 35 | # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 36 | # include fastcgi_params; 37 | #} 38 | 39 | # deny access to .htaccess files, if Apache's document root 40 | # concurs with nginx's one 41 | # 42 | #location ~ /\.ht { 43 | # deny all; 44 | #} 45 | } 46 | 47 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "buildservice", 3 | "version": "0.1.0", 4 | "description": "", 5 | "license": "ISC", 6 | "author": "", 7 | "scripts": { 8 | "lint": "eslint ." 9 | }, 10 | "dependencies": { 11 | "chalk": "^4.1.0", 12 | "diskinfo": "0.0.3", 13 | "inquirer": "^8.0.0", 14 | "node-ssh": "^11.1.1", 15 | "nodegit": "^0.28.0-alpha.18", 16 | "ora": "^5.3.0", 17 | "pinyin": "^2.9.1", 18 | "shelljs": "^0.8.4" 19 | }, 20 | "devDependencies": { 21 | "@yzydeveloper/eslint-config": "^0.1.4", 22 | "eslint": "^7.32.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | specifiers: 4 | '@yzydeveloper/eslint-config': ^0.1.4 5 | chalk: ^4.1.0 6 | diskinfo: 0.0.3 7 | eslint: ^7.32.0 8 | inquirer: ^8.0.0 9 | node-ssh: ^11.1.1 10 | nodegit: ^0.28.0-alpha.18 11 | ora: ^5.3.0 12 | pinyin: ^2.9.1 13 | shelljs: ^0.8.4 14 | 15 | dependencies: 16 | chalk: 4.1.2 17 | diskinfo: 0.0.3 18 | inquirer: 8.2.4 19 | node-ssh: 11.1.1 20 | nodegit: 0.28.0-alpha.18 21 | ora: 5.4.1 22 | pinyin: 2.11.2 23 | shelljs: 0.8.5 24 | 25 | devDependencies: 26 | '@yzydeveloper/eslint-config': 0.1.4_eslint@7.32.0 27 | eslint: 7.32.0 28 | 29 | packages: 30 | 31 | /@babel/code-frame/7.12.11: 32 | resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} 33 | dependencies: 34 | '@babel/highlight': 7.18.6 35 | dev: true 36 | 37 | /@babel/helper-validator-identifier/7.18.6: 38 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} 39 | engines: {node: '>=6.9.0'} 40 | dev: true 41 | 42 | /@babel/highlight/7.18.6: 43 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 44 | engines: {node: '>=6.9.0'} 45 | dependencies: 46 | '@babel/helper-validator-identifier': 7.18.6 47 | chalk: 2.4.2 48 | js-tokens: 4.0.0 49 | dev: true 50 | 51 | /@eslint/eslintrc/0.4.3: 52 | resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} 53 | engines: {node: ^10.12.0 || >=12.0.0} 54 | dependencies: 55 | ajv: 6.12.6 56 | debug: 4.3.4 57 | espree: 7.3.1 58 | globals: 13.17.0 59 | ignore: 4.0.6 60 | import-fresh: 3.3.0 61 | js-yaml: 3.14.1 62 | minimatch: 3.1.2 63 | strip-json-comments: 3.1.1 64 | transitivePeerDependencies: 65 | - supports-color 66 | dev: true 67 | 68 | /@gar/promisify/1.1.3: 69 | resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} 70 | dev: false 71 | 72 | /@humanwhocodes/config-array/0.5.0: 73 | resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} 74 | engines: {node: '>=10.10.0'} 75 | dependencies: 76 | '@humanwhocodes/object-schema': 1.2.1 77 | debug: 4.3.4 78 | minimatch: 3.1.2 79 | transitivePeerDependencies: 80 | - supports-color 81 | dev: true 82 | 83 | /@humanwhocodes/object-schema/1.2.1: 84 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 85 | dev: true 86 | 87 | /@mapbox/node-pre-gyp/1.0.9: 88 | resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} 89 | hasBin: true 90 | dependencies: 91 | detect-libc: 2.0.1 92 | https-proxy-agent: 5.0.1 93 | make-dir: 3.1.0 94 | node-fetch: 2.6.7 95 | nopt: 5.0.0 96 | npmlog: 5.0.1 97 | rimraf: 3.0.2 98 | semver: 7.3.7 99 | tar: 6.1.11 100 | transitivePeerDependencies: 101 | - encoding 102 | - supports-color 103 | dev: false 104 | 105 | /@nodelib/fs.scandir/2.1.5: 106 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 107 | engines: {node: '>= 8'} 108 | dependencies: 109 | '@nodelib/fs.stat': 2.0.5 110 | run-parallel: 1.2.0 111 | dev: true 112 | 113 | /@nodelib/fs.stat/2.0.5: 114 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 115 | engines: {node: '>= 8'} 116 | dev: true 117 | 118 | /@nodelib/fs.walk/1.2.8: 119 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 120 | engines: {node: '>= 8'} 121 | dependencies: 122 | '@nodelib/fs.scandir': 2.1.5 123 | fastq: 1.13.0 124 | dev: true 125 | 126 | /@npmcli/fs/1.1.1: 127 | resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} 128 | dependencies: 129 | '@gar/promisify': 1.1.3 130 | semver: 7.3.7 131 | dev: false 132 | 133 | /@npmcli/move-file/1.1.2: 134 | resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} 135 | engines: {node: '>=10'} 136 | dependencies: 137 | mkdirp: 1.0.4 138 | rimraf: 3.0.2 139 | dev: false 140 | 141 | /@sindresorhus/is/2.1.1: 142 | resolution: {integrity: sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==} 143 | engines: {node: '>=10'} 144 | dev: false 145 | 146 | /@szmarczak/http-timer/4.0.6: 147 | resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} 148 | engines: {node: '>=10'} 149 | dependencies: 150 | defer-to-connect: 2.0.1 151 | dev: false 152 | 153 | /@tootallnate/once/1.1.2: 154 | resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} 155 | engines: {node: '>= 6'} 156 | dev: false 157 | 158 | /@types/cacheable-request/6.0.2: 159 | resolution: {integrity: sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==} 160 | dependencies: 161 | '@types/http-cache-semantics': 4.0.1 162 | '@types/keyv': 3.1.4 163 | '@types/node': 18.7.14 164 | '@types/responselike': 1.0.0 165 | dev: false 166 | 167 | /@types/http-cache-semantics/4.0.1: 168 | resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} 169 | dev: false 170 | 171 | /@types/json-schema/7.0.11: 172 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 173 | dev: true 174 | 175 | /@types/json5/0.0.29: 176 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 177 | dev: true 178 | 179 | /@types/keyv/3.1.4: 180 | resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} 181 | dependencies: 182 | '@types/node': 18.7.14 183 | dev: false 184 | 185 | /@types/node/18.7.14: 186 | resolution: {integrity: sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==} 187 | dev: false 188 | 189 | /@types/responselike/1.0.0: 190 | resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} 191 | dependencies: 192 | '@types/node': 18.7.14 193 | dev: false 194 | 195 | /@typescript-eslint/eslint-plugin/5.36.1_debd1530aab1016fff06276f82e743a8: 196 | resolution: {integrity: sha512-iC40UK8q1tMepSDwiLbTbMXKDxzNy+4TfPWgIL661Ym0sD42vRcQU93IsZIrmi+x292DBr60UI/gSwfdVYexCA==} 197 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 198 | peerDependencies: 199 | '@typescript-eslint/parser': ^5.0.0 200 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 201 | typescript: '*' 202 | peerDependenciesMeta: 203 | typescript: 204 | optional: true 205 | dependencies: 206 | '@typescript-eslint/parser': 5.36.1_eslint@7.32.0 207 | '@typescript-eslint/scope-manager': 5.36.1 208 | '@typescript-eslint/type-utils': 5.36.1_eslint@7.32.0 209 | '@typescript-eslint/utils': 5.36.1_eslint@7.32.0 210 | debug: 4.3.4 211 | eslint: 7.32.0 212 | functional-red-black-tree: 1.0.1 213 | ignore: 5.2.0 214 | regexpp: 3.2.0 215 | semver: 7.3.7 216 | tsutils: 3.21.0 217 | transitivePeerDependencies: 218 | - supports-color 219 | dev: true 220 | 221 | /@typescript-eslint/parser/5.36.1_eslint@7.32.0: 222 | resolution: {integrity: sha512-/IsgNGOkBi7CuDfUbwt1eOqUXF9WGVBW9dwEe1pi+L32XrTsZIgmDFIi2RxjzsvB/8i+MIf5JIoTEH8LOZ368A==} 223 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 224 | peerDependencies: 225 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 226 | typescript: '*' 227 | peerDependenciesMeta: 228 | typescript: 229 | optional: true 230 | dependencies: 231 | '@typescript-eslint/scope-manager': 5.36.1 232 | '@typescript-eslint/types': 5.36.1 233 | '@typescript-eslint/typescript-estree': 5.36.1 234 | debug: 4.3.4 235 | eslint: 7.32.0 236 | transitivePeerDependencies: 237 | - supports-color 238 | dev: true 239 | 240 | /@typescript-eslint/scope-manager/5.36.1: 241 | resolution: {integrity: sha512-pGC2SH3/tXdu9IH3ItoqciD3f3RRGCh7hb9zPdN2Drsr341zgd6VbhP5OHQO/reUqihNltfPpMpTNihFMarP2w==} 242 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 243 | dependencies: 244 | '@typescript-eslint/types': 5.36.1 245 | '@typescript-eslint/visitor-keys': 5.36.1 246 | dev: true 247 | 248 | /@typescript-eslint/type-utils/5.36.1_eslint@7.32.0: 249 | resolution: {integrity: sha512-xfZhfmoQT6m3lmlqDvDzv9TiCYdw22cdj06xY0obSznBsT///GK5IEZQdGliXpAOaRL34o8phEvXzEo/VJx13Q==} 250 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 251 | peerDependencies: 252 | eslint: '*' 253 | typescript: '*' 254 | peerDependenciesMeta: 255 | typescript: 256 | optional: true 257 | dependencies: 258 | '@typescript-eslint/typescript-estree': 5.36.1 259 | '@typescript-eslint/utils': 5.36.1_eslint@7.32.0 260 | debug: 4.3.4 261 | eslint: 7.32.0 262 | tsutils: 3.21.0 263 | transitivePeerDependencies: 264 | - supports-color 265 | dev: true 266 | 267 | /@typescript-eslint/types/5.36.1: 268 | resolution: {integrity: sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg==} 269 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 270 | dev: true 271 | 272 | /@typescript-eslint/typescript-estree/5.36.1: 273 | resolution: {integrity: sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g==} 274 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 275 | peerDependencies: 276 | typescript: '*' 277 | peerDependenciesMeta: 278 | typescript: 279 | optional: true 280 | dependencies: 281 | '@typescript-eslint/types': 5.36.1 282 | '@typescript-eslint/visitor-keys': 5.36.1 283 | debug: 4.3.4 284 | globby: 11.1.0 285 | is-glob: 4.0.3 286 | semver: 7.3.7 287 | tsutils: 3.21.0 288 | transitivePeerDependencies: 289 | - supports-color 290 | dev: true 291 | 292 | /@typescript-eslint/utils/5.36.1_eslint@7.32.0: 293 | resolution: {integrity: sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg==} 294 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 295 | peerDependencies: 296 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 297 | dependencies: 298 | '@types/json-schema': 7.0.11 299 | '@typescript-eslint/scope-manager': 5.36.1 300 | '@typescript-eslint/types': 5.36.1 301 | '@typescript-eslint/typescript-estree': 5.36.1 302 | eslint: 7.32.0 303 | eslint-scope: 5.1.1 304 | eslint-utils: 3.0.0_eslint@7.32.0 305 | transitivePeerDependencies: 306 | - supports-color 307 | - typescript 308 | dev: true 309 | 310 | /@typescript-eslint/visitor-keys/5.36.1: 311 | resolution: {integrity: sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ==} 312 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 313 | dependencies: 314 | '@typescript-eslint/types': 5.36.1 315 | eslint-visitor-keys: 3.3.0 316 | dev: true 317 | 318 | /@yzydeveloper/eslint-config-basic/0.1.2_eslint@7.32.0: 319 | resolution: {integrity: sha512-nJjLEVi9FCKNpj2KY7dJ5iaWA7WNW0q9ZaTjtI6Jtj54Z16qTq5ONs1hxgO8wbGsleGlao+B86E23WVcMzg7gg==} 320 | peerDependencies: 321 | eslint: '>=7.22.0' 322 | dependencies: 323 | eslint: 7.32.0 324 | eslint-config-airbnb-base: 15.0.0_3bd94fa9be989baab6ef2e6b5dec3766 325 | eslint-config-standard: 16.0.3_bf1527f11d233ea3a2b6ea94c67e56a2 326 | eslint-plugin-eslint-comments: 3.2.0_eslint@7.32.0 327 | eslint-plugin-html: 6.2.0 328 | eslint-plugin-import: 2.26.0_eslint@7.32.0 329 | eslint-plugin-jsonc: 1.7.0_eslint@7.32.0 330 | eslint-plugin-node: 11.1.0_eslint@7.32.0 331 | eslint-plugin-promise: 4.3.1 332 | eslint-plugin-yml: 0.8.1_eslint@7.32.0 333 | jsonc-eslint-parser: 1.4.1 334 | yaml-eslint-parser: 0.3.2 335 | transitivePeerDependencies: 336 | - supports-color 337 | dev: true 338 | 339 | /@yzydeveloper/eslint-config-ts/0.1.3_eslint@7.32.0: 340 | resolution: {integrity: sha512-jJymmRWbisqcKwxpHDjYk74bWbrBJBs2g7/LJZU9yR/rXYbmnnH6xHxNiKHbYAZZhDDjoEnPYEn/TVq6hHMpVA==} 341 | peerDependencies: 342 | eslint: '>=7.22.0' 343 | typescript: '>=3.9' 344 | dependencies: 345 | '@typescript-eslint/eslint-plugin': 5.36.1_debd1530aab1016fff06276f82e743a8 346 | '@typescript-eslint/parser': 5.36.1_eslint@7.32.0 347 | '@yzydeveloper/eslint-config-basic': 0.1.2_eslint@7.32.0 348 | eslint: 7.32.0 349 | transitivePeerDependencies: 350 | - supports-color 351 | dev: true 352 | 353 | /@yzydeveloper/eslint-config-vue/0.1.4_eslint@7.32.0: 354 | resolution: {integrity: sha512-5jBWHEsCf17hYY7swxUc3R8O7/ZYMt7V6SP5w743JyV8tTX7Iur3HWhfokvG6MchwOu+qJD+9WbPnqyI8pnPJw==} 355 | peerDependencies: 356 | eslint: '>=7.22.0' 357 | dependencies: 358 | '@yzydeveloper/eslint-config-ts': 0.1.3_eslint@7.32.0 359 | eslint: 7.32.0 360 | eslint-plugin-vue: 8.7.1_eslint@7.32.0 361 | transitivePeerDependencies: 362 | - supports-color 363 | - typescript 364 | dev: true 365 | 366 | /@yzydeveloper/eslint-config/0.1.4_eslint@7.32.0: 367 | resolution: {integrity: sha512-aLK0dUdWuKzc5Vad0jWXaM6YdJWnXVBXkFsRfipqoLx205ytR+lyWonBDCcDWEWfkR4/felxrcp4pYbYoEMFmg==} 368 | peerDependencies: 369 | eslint: '>=7.22.0' 370 | dependencies: 371 | '@yzydeveloper/eslint-config-vue': 0.1.4_eslint@7.32.0 372 | eslint: 7.32.0 373 | transitivePeerDependencies: 374 | - supports-color 375 | - typescript 376 | dev: true 377 | 378 | /abbrev/1.1.1: 379 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 380 | dev: false 381 | 382 | /acorn-jsx/5.3.2_acorn@7.4.1: 383 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 384 | peerDependencies: 385 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 386 | dependencies: 387 | acorn: 7.4.1 388 | dev: true 389 | 390 | /acorn-jsx/5.3.2_acorn@8.8.0: 391 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 392 | peerDependencies: 393 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 394 | dependencies: 395 | acorn: 8.8.0 396 | dev: true 397 | 398 | /acorn/7.4.1: 399 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 400 | engines: {node: '>=0.4.0'} 401 | hasBin: true 402 | dev: true 403 | 404 | /acorn/8.8.0: 405 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} 406 | engines: {node: '>=0.4.0'} 407 | hasBin: true 408 | dev: true 409 | 410 | /agent-base/6.0.2: 411 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 412 | engines: {node: '>= 6.0.0'} 413 | dependencies: 414 | debug: 4.3.4 415 | transitivePeerDependencies: 416 | - supports-color 417 | dev: false 418 | 419 | /agentkeepalive/4.2.1: 420 | resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} 421 | engines: {node: '>= 8.0.0'} 422 | dependencies: 423 | debug: 4.3.4 424 | depd: 1.1.2 425 | humanize-ms: 1.2.1 426 | transitivePeerDependencies: 427 | - supports-color 428 | dev: false 429 | 430 | /aggregate-error/3.1.0: 431 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 432 | engines: {node: '>=8'} 433 | dependencies: 434 | clean-stack: 2.2.0 435 | indent-string: 4.0.0 436 | dev: false 437 | 438 | /ajv/6.12.6: 439 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 440 | dependencies: 441 | fast-deep-equal: 3.1.3 442 | fast-json-stable-stringify: 2.1.0 443 | json-schema-traverse: 0.4.1 444 | uri-js: 4.4.1 445 | dev: true 446 | 447 | /ajv/8.11.0: 448 | resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} 449 | dependencies: 450 | fast-deep-equal: 3.1.3 451 | json-schema-traverse: 1.0.0 452 | require-from-string: 2.0.2 453 | uri-js: 4.4.1 454 | dev: true 455 | 456 | /ansi-colors/4.1.3: 457 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 458 | engines: {node: '>=6'} 459 | dev: true 460 | 461 | /ansi-escapes/4.3.2: 462 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 463 | engines: {node: '>=8'} 464 | dependencies: 465 | type-fest: 0.21.3 466 | dev: false 467 | 468 | /ansi-regex/5.0.1: 469 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 470 | engines: {node: '>=8'} 471 | 472 | /ansi-styles/3.2.1: 473 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 474 | engines: {node: '>=4'} 475 | dependencies: 476 | color-convert: 1.9.3 477 | dev: true 478 | 479 | /ansi-styles/4.3.0: 480 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 481 | engines: {node: '>=8'} 482 | dependencies: 483 | color-convert: 2.0.1 484 | 485 | /aproba/2.0.0: 486 | resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} 487 | dev: false 488 | 489 | /are-we-there-yet/2.0.0: 490 | resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} 491 | engines: {node: '>=10'} 492 | dependencies: 493 | delegates: 1.0.0 494 | readable-stream: 3.6.0 495 | dev: false 496 | 497 | /are-we-there-yet/3.0.1: 498 | resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} 499 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 500 | dependencies: 501 | delegates: 1.0.0 502 | readable-stream: 3.6.0 503 | dev: false 504 | 505 | /argparse/1.0.10: 506 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 507 | dependencies: 508 | sprintf-js: 1.0.3 509 | dev: true 510 | 511 | /array-includes/3.1.5: 512 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 513 | engines: {node: '>= 0.4'} 514 | dependencies: 515 | call-bind: 1.0.2 516 | define-properties: 1.1.4 517 | es-abstract: 1.20.2 518 | get-intrinsic: 1.1.2 519 | is-string: 1.0.7 520 | dev: true 521 | 522 | /array-union/2.1.0: 523 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 524 | engines: {node: '>=8'} 525 | dev: true 526 | 527 | /array.prototype.flat/1.3.0: 528 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 529 | engines: {node: '>= 0.4'} 530 | dependencies: 531 | call-bind: 1.0.2 532 | define-properties: 1.1.4 533 | es-abstract: 1.20.2 534 | es-shim-unscopables: 1.0.0 535 | dev: true 536 | 537 | /asn1/0.2.6: 538 | resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} 539 | dependencies: 540 | safer-buffer: 2.1.2 541 | dev: false 542 | 543 | /astral-regex/2.0.0: 544 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 545 | engines: {node: '>=8'} 546 | dev: true 547 | 548 | /balanced-match/1.0.2: 549 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 550 | 551 | /base64-js/1.5.1: 552 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 553 | dev: false 554 | 555 | /bcrypt-pbkdf/1.0.2: 556 | resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} 557 | dependencies: 558 | tweetnacl: 0.14.5 559 | dev: false 560 | 561 | /bl/1.2.3: 562 | resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} 563 | dependencies: 564 | readable-stream: 2.3.7 565 | safe-buffer: 5.2.1 566 | dev: false 567 | 568 | /bl/4.1.0: 569 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 570 | dependencies: 571 | buffer: 5.7.1 572 | inherits: 2.0.4 573 | readable-stream: 3.6.0 574 | dev: false 575 | 576 | /boolbase/1.0.0: 577 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 578 | dev: true 579 | 580 | /brace-expansion/1.1.11: 581 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 582 | dependencies: 583 | balanced-match: 1.0.2 584 | concat-map: 0.0.1 585 | 586 | /braces/3.0.2: 587 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 588 | engines: {node: '>=8'} 589 | dependencies: 590 | fill-range: 7.0.1 591 | dev: true 592 | 593 | /buffer-alloc-unsafe/1.1.0: 594 | resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} 595 | dev: false 596 | 597 | /buffer-alloc/1.2.0: 598 | resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} 599 | dependencies: 600 | buffer-alloc-unsafe: 1.1.0 601 | buffer-fill: 1.0.0 602 | dev: false 603 | 604 | /buffer-fill/1.0.0: 605 | resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} 606 | dev: false 607 | 608 | /buffer/5.7.1: 609 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 610 | dependencies: 611 | base64-js: 1.5.1 612 | ieee754: 1.2.1 613 | dev: false 614 | 615 | /cacache/15.3.0: 616 | resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} 617 | engines: {node: '>= 10'} 618 | dependencies: 619 | '@npmcli/fs': 1.1.1 620 | '@npmcli/move-file': 1.1.2 621 | chownr: 2.0.0 622 | fs-minipass: 2.1.0 623 | glob: 7.2.3 624 | infer-owner: 1.0.4 625 | lru-cache: 6.0.0 626 | minipass: 3.3.4 627 | minipass-collect: 1.0.2 628 | minipass-flush: 1.0.5 629 | minipass-pipeline: 1.2.4 630 | mkdirp: 1.0.4 631 | p-map: 4.0.0 632 | promise-inflight: 1.0.1 633 | rimraf: 3.0.2 634 | ssri: 8.0.1 635 | tar: 6.1.11 636 | unique-filename: 1.1.1 637 | dev: false 638 | 639 | /cacheable-lookup/2.0.1: 640 | resolution: {integrity: sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==} 641 | engines: {node: '>=10'} 642 | dependencies: 643 | '@types/keyv': 3.1.4 644 | keyv: 4.5.0 645 | dev: false 646 | 647 | /cacheable-request/7.0.2: 648 | resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} 649 | engines: {node: '>=8'} 650 | dependencies: 651 | clone-response: 1.0.3 652 | get-stream: 5.2.0 653 | http-cache-semantics: 4.1.0 654 | keyv: 4.5.0 655 | lowercase-keys: 2.0.0 656 | normalize-url: 6.1.0 657 | responselike: 2.0.1 658 | dev: false 659 | 660 | /call-bind/1.0.2: 661 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 662 | dependencies: 663 | function-bind: 1.1.1 664 | get-intrinsic: 1.1.2 665 | dev: true 666 | 667 | /callsites/3.1.0: 668 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 669 | engines: {node: '>=6'} 670 | dev: true 671 | 672 | /chalk/2.4.2: 673 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 674 | engines: {node: '>=4'} 675 | dependencies: 676 | ansi-styles: 3.2.1 677 | escape-string-regexp: 1.0.5 678 | supports-color: 5.5.0 679 | dev: true 680 | 681 | /chalk/4.1.2: 682 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 683 | engines: {node: '>=10'} 684 | dependencies: 685 | ansi-styles: 4.3.0 686 | supports-color: 7.2.0 687 | 688 | /chardet/0.7.0: 689 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 690 | dev: false 691 | 692 | /chownr/1.1.4: 693 | resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 694 | dev: false 695 | 696 | /chownr/2.0.0: 697 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 698 | engines: {node: '>=10'} 699 | dev: false 700 | 701 | /clean-stack/2.2.0: 702 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 703 | engines: {node: '>=6'} 704 | dev: false 705 | 706 | /cli-cursor/3.1.0: 707 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 708 | engines: {node: '>=8'} 709 | dependencies: 710 | restore-cursor: 3.1.0 711 | dev: false 712 | 713 | /cli-spinners/2.7.0: 714 | resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} 715 | engines: {node: '>=6'} 716 | dev: false 717 | 718 | /cli-width/3.0.0: 719 | resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} 720 | engines: {node: '>= 10'} 721 | dev: false 722 | 723 | /clone-response/1.0.3: 724 | resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} 725 | dependencies: 726 | mimic-response: 1.0.1 727 | dev: false 728 | 729 | /clone/1.0.4: 730 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 731 | engines: {node: '>=0.8'} 732 | dev: false 733 | 734 | /color-convert/1.9.3: 735 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 736 | dependencies: 737 | color-name: 1.1.3 738 | dev: true 739 | 740 | /color-convert/2.0.1: 741 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 742 | engines: {node: '>=7.0.0'} 743 | dependencies: 744 | color-name: 1.1.4 745 | 746 | /color-name/1.1.3: 747 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 748 | dev: true 749 | 750 | /color-name/1.1.4: 751 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 752 | 753 | /color-support/1.1.3: 754 | resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} 755 | hasBin: true 756 | dev: false 757 | 758 | /commander/1.1.1: 759 | resolution: {integrity: sha512-71Rod2AhcH3JhkBikVpNd0pA+fWsmAaVoti6OR38T76chA7vE3pSerS0Jor4wDw+tOueD2zLVvFOw5H0Rcj7rA==} 760 | engines: {node: '>= 0.6.x'} 761 | dependencies: 762 | keypress: 0.1.0 763 | dev: false 764 | 765 | /concat-map/0.0.1: 766 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 767 | 768 | /confusing-browser-globals/1.0.11: 769 | resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} 770 | dev: true 771 | 772 | /console-control-strings/1.1.0: 773 | resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} 774 | dev: false 775 | 776 | /core-util-is/1.0.3: 777 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 778 | dev: false 779 | 780 | /cross-spawn/7.0.3: 781 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 782 | engines: {node: '>= 8'} 783 | dependencies: 784 | path-key: 3.1.1 785 | shebang-command: 2.0.0 786 | which: 2.0.2 787 | dev: true 788 | 789 | /cssesc/3.0.0: 790 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 791 | engines: {node: '>=4'} 792 | hasBin: true 793 | dev: true 794 | 795 | /debug/2.6.9: 796 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 797 | dependencies: 798 | ms: 2.0.0 799 | dev: true 800 | 801 | /debug/3.2.7: 802 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 803 | dependencies: 804 | ms: 2.1.3 805 | dev: true 806 | 807 | /debug/4.3.4: 808 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 809 | engines: {node: '>=6.0'} 810 | peerDependencies: 811 | supports-color: '*' 812 | peerDependenciesMeta: 813 | supports-color: 814 | optional: true 815 | dependencies: 816 | ms: 2.1.2 817 | 818 | /decompress-response/5.0.0: 819 | resolution: {integrity: sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==} 820 | engines: {node: '>=10'} 821 | dependencies: 822 | mimic-response: 2.1.0 823 | dev: false 824 | 825 | /deep-is/0.1.4: 826 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 827 | dev: true 828 | 829 | /defaults/1.0.3: 830 | resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} 831 | dependencies: 832 | clone: 1.0.4 833 | dev: false 834 | 835 | /defer-to-connect/2.0.1: 836 | resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} 837 | engines: {node: '>=10'} 838 | dev: false 839 | 840 | /define-properties/1.1.4: 841 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 842 | engines: {node: '>= 0.4'} 843 | dependencies: 844 | has-property-descriptors: 1.0.0 845 | object-keys: 1.1.1 846 | dev: true 847 | 848 | /delegates/1.0.0: 849 | resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} 850 | dev: false 851 | 852 | /depd/1.1.2: 853 | resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} 854 | engines: {node: '>= 0.6'} 855 | dev: false 856 | 857 | /detect-libc/2.0.1: 858 | resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} 859 | engines: {node: '>=8'} 860 | dev: false 861 | 862 | /dir-glob/3.0.1: 863 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 864 | engines: {node: '>=8'} 865 | dependencies: 866 | path-type: 4.0.0 867 | dev: true 868 | 869 | /diskinfo/0.0.3: 870 | resolution: {integrity: sha512-uZoeIGLsRWBWX+P1K14R/JDvCpo4kdUd6p2jVh09dzsNog005gSYLF6GXjSqPKo6Tl9qsw2f6auy8UUcC2y6yg==} 871 | os: [linux, win32] 872 | dev: false 873 | 874 | /doctrine/2.1.0: 875 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 876 | engines: {node: '>=0.10.0'} 877 | dependencies: 878 | esutils: 2.0.3 879 | dev: true 880 | 881 | /doctrine/3.0.0: 882 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 883 | engines: {node: '>=6.0.0'} 884 | dependencies: 885 | esutils: 2.0.3 886 | dev: true 887 | 888 | /dom-serializer/1.4.1: 889 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} 890 | dependencies: 891 | domelementtype: 2.3.0 892 | domhandler: 4.3.1 893 | entities: 2.2.0 894 | dev: true 895 | 896 | /domelementtype/2.3.0: 897 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 898 | dev: true 899 | 900 | /domhandler/4.3.1: 901 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} 902 | engines: {node: '>= 4'} 903 | dependencies: 904 | domelementtype: 2.3.0 905 | dev: true 906 | 907 | /domutils/2.8.0: 908 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} 909 | dependencies: 910 | dom-serializer: 1.4.1 911 | domelementtype: 2.3.0 912 | domhandler: 4.3.1 913 | dev: true 914 | 915 | /duplexer3/0.1.5: 916 | resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} 917 | dev: false 918 | 919 | /emoji-regex/8.0.0: 920 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 921 | 922 | /encoding/0.1.13: 923 | resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} 924 | requiresBuild: true 925 | dependencies: 926 | iconv-lite: 0.6.3 927 | dev: false 928 | optional: true 929 | 930 | /end-of-stream/1.4.4: 931 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 932 | dependencies: 933 | once: 1.4.0 934 | dev: false 935 | 936 | /enquirer/2.3.6: 937 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} 938 | engines: {node: '>=8.6'} 939 | dependencies: 940 | ansi-colors: 4.1.3 941 | dev: true 942 | 943 | /entities/2.2.0: 944 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} 945 | dev: true 946 | 947 | /entities/3.0.1: 948 | resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} 949 | engines: {node: '>=0.12'} 950 | dev: true 951 | 952 | /env-paths/2.2.1: 953 | resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 954 | engines: {node: '>=6'} 955 | dev: false 956 | 957 | /err-code/2.0.3: 958 | resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} 959 | dev: false 960 | 961 | /es-abstract/1.20.2: 962 | resolution: {integrity: sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==} 963 | engines: {node: '>= 0.4'} 964 | dependencies: 965 | call-bind: 1.0.2 966 | es-to-primitive: 1.2.1 967 | function-bind: 1.1.1 968 | function.prototype.name: 1.1.5 969 | get-intrinsic: 1.1.2 970 | get-symbol-description: 1.0.0 971 | has: 1.0.3 972 | has-property-descriptors: 1.0.0 973 | has-symbols: 1.0.3 974 | internal-slot: 1.0.3 975 | is-callable: 1.2.4 976 | is-negative-zero: 2.0.2 977 | is-regex: 1.1.4 978 | is-shared-array-buffer: 1.0.2 979 | is-string: 1.0.7 980 | is-weakref: 1.0.2 981 | object-inspect: 1.12.2 982 | object-keys: 1.1.1 983 | object.assign: 4.1.4 984 | regexp.prototype.flags: 1.4.3 985 | string.prototype.trimend: 1.0.5 986 | string.prototype.trimstart: 1.0.5 987 | unbox-primitive: 1.0.2 988 | dev: true 989 | 990 | /es-shim-unscopables/1.0.0: 991 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 992 | dependencies: 993 | has: 1.0.3 994 | dev: true 995 | 996 | /es-to-primitive/1.2.1: 997 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 998 | engines: {node: '>= 0.4'} 999 | dependencies: 1000 | is-callable: 1.2.4 1001 | is-date-object: 1.0.5 1002 | is-symbol: 1.0.4 1003 | dev: true 1004 | 1005 | /escape-string-regexp/1.0.5: 1006 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1007 | engines: {node: '>=0.8.0'} 1008 | 1009 | /escape-string-regexp/4.0.0: 1010 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1011 | engines: {node: '>=10'} 1012 | dev: true 1013 | 1014 | /eslint-config-airbnb-base/15.0.0_3bd94fa9be989baab6ef2e6b5dec3766: 1015 | resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} 1016 | engines: {node: ^10.12.0 || >=12.0.0} 1017 | peerDependencies: 1018 | eslint: ^7.32.0 || ^8.2.0 1019 | eslint-plugin-import: ^2.25.2 1020 | dependencies: 1021 | confusing-browser-globals: 1.0.11 1022 | eslint: 7.32.0 1023 | eslint-plugin-import: 2.26.0_eslint@7.32.0 1024 | object.assign: 4.1.4 1025 | object.entries: 1.1.5 1026 | semver: 6.3.0 1027 | dev: true 1028 | 1029 | /eslint-config-standard/16.0.3_bf1527f11d233ea3a2b6ea94c67e56a2: 1030 | resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} 1031 | peerDependencies: 1032 | eslint: ^7.12.1 1033 | eslint-plugin-import: ^2.22.1 1034 | eslint-plugin-node: ^11.1.0 1035 | eslint-plugin-promise: ^4.2.1 || ^5.0.0 1036 | dependencies: 1037 | eslint: 7.32.0 1038 | eslint-plugin-import: 2.26.0_eslint@7.32.0 1039 | eslint-plugin-node: 11.1.0_eslint@7.32.0 1040 | eslint-plugin-promise: 4.3.1 1041 | dev: true 1042 | 1043 | /eslint-import-resolver-node/0.3.6: 1044 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 1045 | dependencies: 1046 | debug: 3.2.7 1047 | resolve: 1.22.1 1048 | dev: true 1049 | 1050 | /eslint-module-utils/2.7.4_eslint@7.32.0: 1051 | resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} 1052 | engines: {node: '>=4'} 1053 | peerDependencies: 1054 | eslint: '*' 1055 | peerDependenciesMeta: 1056 | eslint: 1057 | optional: true 1058 | dependencies: 1059 | debug: 3.2.7 1060 | eslint: 7.32.0 1061 | dev: true 1062 | 1063 | /eslint-plugin-es/3.0.1_eslint@7.32.0: 1064 | resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} 1065 | engines: {node: '>=8.10.0'} 1066 | peerDependencies: 1067 | eslint: '>=4.19.1' 1068 | dependencies: 1069 | eslint: 7.32.0 1070 | eslint-utils: 2.1.0 1071 | regexpp: 3.2.0 1072 | dev: true 1073 | 1074 | /eslint-plugin-eslint-comments/3.2.0_eslint@7.32.0: 1075 | resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} 1076 | engines: {node: '>=6.5.0'} 1077 | peerDependencies: 1078 | eslint: '>=4.19.1' 1079 | dependencies: 1080 | escape-string-regexp: 1.0.5 1081 | eslint: 7.32.0 1082 | ignore: 5.2.0 1083 | dev: true 1084 | 1085 | /eslint-plugin-html/6.2.0: 1086 | resolution: {integrity: sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==} 1087 | dependencies: 1088 | htmlparser2: 7.2.0 1089 | dev: true 1090 | 1091 | /eslint-plugin-import/2.26.0_eslint@7.32.0: 1092 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 1093 | engines: {node: '>=4'} 1094 | peerDependencies: 1095 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1096 | dependencies: 1097 | array-includes: 3.1.5 1098 | array.prototype.flat: 1.3.0 1099 | debug: 2.6.9 1100 | doctrine: 2.1.0 1101 | eslint: 7.32.0 1102 | eslint-import-resolver-node: 0.3.6 1103 | eslint-module-utils: 2.7.4_eslint@7.32.0 1104 | has: 1.0.3 1105 | is-core-module: 2.10.0 1106 | is-glob: 4.0.3 1107 | minimatch: 3.1.2 1108 | object.values: 1.1.5 1109 | resolve: 1.22.1 1110 | tsconfig-paths: 3.14.1 1111 | dev: true 1112 | 1113 | /eslint-plugin-jsonc/1.7.0_eslint@7.32.0: 1114 | resolution: {integrity: sha512-pb3CAD9B0zhv3r9Bg9AdzswL50I3mbIq1ys+tNeuaDeibFlweo84SBNm22oqaFx/Dka+YZw2SLukAkQlJzSHMQ==} 1115 | engines: {node: '>=8.10.0'} 1116 | peerDependencies: 1117 | eslint: '>=5.0.0' 1118 | dependencies: 1119 | eslint: 7.32.0 1120 | eslint-utils: 3.0.0_eslint@7.32.0 1121 | jsonc-eslint-parser: 1.4.1 1122 | natural-compare: 1.4.0 1123 | dev: true 1124 | 1125 | /eslint-plugin-node/11.1.0_eslint@7.32.0: 1126 | resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} 1127 | engines: {node: '>=8.10.0'} 1128 | peerDependencies: 1129 | eslint: '>=5.16.0' 1130 | dependencies: 1131 | eslint: 7.32.0 1132 | eslint-plugin-es: 3.0.1_eslint@7.32.0 1133 | eslint-utils: 2.1.0 1134 | ignore: 5.2.0 1135 | minimatch: 3.1.2 1136 | resolve: 1.22.1 1137 | semver: 6.3.0 1138 | dev: true 1139 | 1140 | /eslint-plugin-promise/4.3.1: 1141 | resolution: {integrity: sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==} 1142 | engines: {node: '>=6'} 1143 | dev: true 1144 | 1145 | /eslint-plugin-vue/8.7.1_eslint@7.32.0: 1146 | resolution: {integrity: sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==} 1147 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1148 | peerDependencies: 1149 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 1150 | dependencies: 1151 | eslint: 7.32.0 1152 | eslint-utils: 3.0.0_eslint@7.32.0 1153 | natural-compare: 1.4.0 1154 | nth-check: 2.1.1 1155 | postcss-selector-parser: 6.0.10 1156 | semver: 7.3.7 1157 | vue-eslint-parser: 8.3.0_eslint@7.32.0 1158 | transitivePeerDependencies: 1159 | - supports-color 1160 | dev: true 1161 | 1162 | /eslint-plugin-yml/0.8.1_eslint@7.32.0: 1163 | resolution: {integrity: sha512-Cmqj/8eUoQ3ryesaOgsS2wdhYJJ6NCCBiO1BtCMZ8d3LRvnW0J2aImfiAtgqkpXEbmfL8P9wI1FqxSVOdujbSA==} 1164 | peerDependencies: 1165 | eslint: '>=6.0.0' 1166 | dependencies: 1167 | debug: 4.3.4 1168 | eslint: 7.32.0 1169 | lodash: 4.17.21 1170 | natural-compare: 1.4.0 1171 | yaml-eslint-parser: 0.3.2 1172 | transitivePeerDependencies: 1173 | - supports-color 1174 | dev: true 1175 | 1176 | /eslint-scope/5.1.1: 1177 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1178 | engines: {node: '>=8.0.0'} 1179 | dependencies: 1180 | esrecurse: 4.3.0 1181 | estraverse: 4.3.0 1182 | dev: true 1183 | 1184 | /eslint-scope/7.1.1: 1185 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1186 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1187 | dependencies: 1188 | esrecurse: 4.3.0 1189 | estraverse: 5.3.0 1190 | dev: true 1191 | 1192 | /eslint-utils/2.1.0: 1193 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 1194 | engines: {node: '>=6'} 1195 | dependencies: 1196 | eslint-visitor-keys: 1.3.0 1197 | dev: true 1198 | 1199 | /eslint-utils/3.0.0_eslint@7.32.0: 1200 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1201 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1202 | peerDependencies: 1203 | eslint: '>=5' 1204 | dependencies: 1205 | eslint: 7.32.0 1206 | eslint-visitor-keys: 2.1.0 1207 | dev: true 1208 | 1209 | /eslint-visitor-keys/1.3.0: 1210 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 1211 | engines: {node: '>=4'} 1212 | dev: true 1213 | 1214 | /eslint-visitor-keys/2.1.0: 1215 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1216 | engines: {node: '>=10'} 1217 | dev: true 1218 | 1219 | /eslint-visitor-keys/3.3.0: 1220 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1221 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1222 | dev: true 1223 | 1224 | /eslint/7.32.0: 1225 | resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} 1226 | engines: {node: ^10.12.0 || >=12.0.0} 1227 | hasBin: true 1228 | dependencies: 1229 | '@babel/code-frame': 7.12.11 1230 | '@eslint/eslintrc': 0.4.3 1231 | '@humanwhocodes/config-array': 0.5.0 1232 | ajv: 6.12.6 1233 | chalk: 4.1.2 1234 | cross-spawn: 7.0.3 1235 | debug: 4.3.4 1236 | doctrine: 3.0.0 1237 | enquirer: 2.3.6 1238 | escape-string-regexp: 4.0.0 1239 | eslint-scope: 5.1.1 1240 | eslint-utils: 2.1.0 1241 | eslint-visitor-keys: 2.1.0 1242 | espree: 7.3.1 1243 | esquery: 1.4.0 1244 | esutils: 2.0.3 1245 | fast-deep-equal: 3.1.3 1246 | file-entry-cache: 6.0.1 1247 | functional-red-black-tree: 1.0.1 1248 | glob-parent: 5.1.2 1249 | globals: 13.17.0 1250 | ignore: 4.0.6 1251 | import-fresh: 3.3.0 1252 | imurmurhash: 0.1.4 1253 | is-glob: 4.0.3 1254 | js-yaml: 3.14.1 1255 | json-stable-stringify-without-jsonify: 1.0.1 1256 | levn: 0.4.1 1257 | lodash.merge: 4.6.2 1258 | minimatch: 3.1.2 1259 | natural-compare: 1.4.0 1260 | optionator: 0.9.1 1261 | progress: 2.0.3 1262 | regexpp: 3.2.0 1263 | semver: 7.3.7 1264 | strip-ansi: 6.0.1 1265 | strip-json-comments: 3.1.1 1266 | table: 6.8.0 1267 | text-table: 0.2.0 1268 | v8-compile-cache: 2.3.0 1269 | transitivePeerDependencies: 1270 | - supports-color 1271 | dev: true 1272 | 1273 | /espree/6.2.1: 1274 | resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} 1275 | engines: {node: '>=6.0.0'} 1276 | dependencies: 1277 | acorn: 7.4.1 1278 | acorn-jsx: 5.3.2_acorn@7.4.1 1279 | eslint-visitor-keys: 1.3.0 1280 | dev: true 1281 | 1282 | /espree/7.3.1: 1283 | resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} 1284 | engines: {node: ^10.12.0 || >=12.0.0} 1285 | dependencies: 1286 | acorn: 7.4.1 1287 | acorn-jsx: 5.3.2_acorn@7.4.1 1288 | eslint-visitor-keys: 1.3.0 1289 | dev: true 1290 | 1291 | /espree/9.4.0: 1292 | resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} 1293 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1294 | dependencies: 1295 | acorn: 8.8.0 1296 | acorn-jsx: 5.3.2_acorn@8.8.0 1297 | eslint-visitor-keys: 3.3.0 1298 | dev: true 1299 | 1300 | /esprima/4.0.1: 1301 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1302 | engines: {node: '>=4'} 1303 | hasBin: true 1304 | dev: true 1305 | 1306 | /esquery/1.4.0: 1307 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1308 | engines: {node: '>=0.10'} 1309 | dependencies: 1310 | estraverse: 5.3.0 1311 | dev: true 1312 | 1313 | /esrecurse/4.3.0: 1314 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1315 | engines: {node: '>=4.0'} 1316 | dependencies: 1317 | estraverse: 5.3.0 1318 | dev: true 1319 | 1320 | /estraverse/4.3.0: 1321 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1322 | engines: {node: '>=4.0'} 1323 | dev: true 1324 | 1325 | /estraverse/5.3.0: 1326 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1327 | engines: {node: '>=4.0'} 1328 | dev: true 1329 | 1330 | /esutils/2.0.3: 1331 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1332 | engines: {node: '>=0.10.0'} 1333 | dev: true 1334 | 1335 | /external-editor/3.1.0: 1336 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1337 | engines: {node: '>=4'} 1338 | dependencies: 1339 | chardet: 0.7.0 1340 | iconv-lite: 0.4.24 1341 | tmp: 0.0.33 1342 | dev: false 1343 | 1344 | /fast-deep-equal/3.1.3: 1345 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1346 | dev: true 1347 | 1348 | /fast-glob/3.2.11: 1349 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1350 | engines: {node: '>=8.6.0'} 1351 | dependencies: 1352 | '@nodelib/fs.stat': 2.0.5 1353 | '@nodelib/fs.walk': 1.2.8 1354 | glob-parent: 5.1.2 1355 | merge2: 1.4.1 1356 | micromatch: 4.0.5 1357 | dev: true 1358 | 1359 | /fast-json-stable-stringify/2.1.0: 1360 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1361 | dev: true 1362 | 1363 | /fast-levenshtein/2.0.6: 1364 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1365 | dev: true 1366 | 1367 | /fastq/1.13.0: 1368 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1369 | dependencies: 1370 | reusify: 1.0.4 1371 | dev: true 1372 | 1373 | /figures/3.2.0: 1374 | resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 1375 | engines: {node: '>=8'} 1376 | dependencies: 1377 | escape-string-regexp: 1.0.5 1378 | dev: false 1379 | 1380 | /file-entry-cache/6.0.1: 1381 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1382 | engines: {node: ^10.12.0 || >=12.0.0} 1383 | dependencies: 1384 | flat-cache: 3.0.4 1385 | dev: true 1386 | 1387 | /fill-range/7.0.1: 1388 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1389 | engines: {node: '>=8'} 1390 | dependencies: 1391 | to-regex-range: 5.0.1 1392 | dev: true 1393 | 1394 | /flat-cache/3.0.4: 1395 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1396 | engines: {node: ^10.12.0 || >=12.0.0} 1397 | dependencies: 1398 | flatted: 3.2.7 1399 | rimraf: 3.0.2 1400 | dev: true 1401 | 1402 | /flatted/3.2.7: 1403 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1404 | dev: true 1405 | 1406 | /fs-constants/1.0.0: 1407 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 1408 | dev: false 1409 | 1410 | /fs-extra/7.0.1: 1411 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 1412 | engines: {node: '>=6 <7 || >=8'} 1413 | dependencies: 1414 | graceful-fs: 4.2.10 1415 | jsonfile: 4.0.0 1416 | universalify: 0.1.2 1417 | dev: false 1418 | 1419 | /fs-minipass/2.1.0: 1420 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 1421 | engines: {node: '>= 8'} 1422 | dependencies: 1423 | minipass: 3.3.4 1424 | dev: false 1425 | 1426 | /fs.realpath/1.0.0: 1427 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1428 | 1429 | /function-bind/1.1.1: 1430 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1431 | 1432 | /function.prototype.name/1.1.5: 1433 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1434 | engines: {node: '>= 0.4'} 1435 | dependencies: 1436 | call-bind: 1.0.2 1437 | define-properties: 1.1.4 1438 | es-abstract: 1.20.2 1439 | functions-have-names: 1.2.3 1440 | dev: true 1441 | 1442 | /functional-red-black-tree/1.0.1: 1443 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1444 | dev: true 1445 | 1446 | /functions-have-names/1.2.3: 1447 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1448 | dev: true 1449 | 1450 | /gauge/3.0.2: 1451 | resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} 1452 | engines: {node: '>=10'} 1453 | dependencies: 1454 | aproba: 2.0.0 1455 | color-support: 1.1.3 1456 | console-control-strings: 1.1.0 1457 | has-unicode: 2.0.1 1458 | object-assign: 4.1.1 1459 | signal-exit: 3.0.7 1460 | string-width: 4.2.3 1461 | strip-ansi: 6.0.1 1462 | wide-align: 1.1.5 1463 | dev: false 1464 | 1465 | /gauge/4.0.4: 1466 | resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} 1467 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 1468 | dependencies: 1469 | aproba: 2.0.0 1470 | color-support: 1.1.3 1471 | console-control-strings: 1.1.0 1472 | has-unicode: 2.0.1 1473 | signal-exit: 3.0.7 1474 | string-width: 4.2.3 1475 | strip-ansi: 6.0.1 1476 | wide-align: 1.1.5 1477 | dev: false 1478 | 1479 | /get-intrinsic/1.1.2: 1480 | resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} 1481 | dependencies: 1482 | function-bind: 1.1.1 1483 | has: 1.0.3 1484 | has-symbols: 1.0.3 1485 | dev: true 1486 | 1487 | /get-stream/5.2.0: 1488 | resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} 1489 | engines: {node: '>=8'} 1490 | dependencies: 1491 | pump: 3.0.0 1492 | dev: false 1493 | 1494 | /get-symbol-description/1.0.0: 1495 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1496 | engines: {node: '>= 0.4'} 1497 | dependencies: 1498 | call-bind: 1.0.2 1499 | get-intrinsic: 1.1.2 1500 | dev: true 1501 | 1502 | /glob-parent/5.1.2: 1503 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1504 | engines: {node: '>= 6'} 1505 | dependencies: 1506 | is-glob: 4.0.3 1507 | dev: true 1508 | 1509 | /glob/7.2.3: 1510 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1511 | dependencies: 1512 | fs.realpath: 1.0.0 1513 | inflight: 1.0.6 1514 | inherits: 2.0.4 1515 | minimatch: 3.1.2 1516 | once: 1.4.0 1517 | path-is-absolute: 1.0.1 1518 | 1519 | /globals/13.17.0: 1520 | resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} 1521 | engines: {node: '>=8'} 1522 | dependencies: 1523 | type-fest: 0.20.2 1524 | dev: true 1525 | 1526 | /globby/11.1.0: 1527 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1528 | engines: {node: '>=10'} 1529 | dependencies: 1530 | array-union: 2.1.0 1531 | dir-glob: 3.0.1 1532 | fast-glob: 3.2.11 1533 | ignore: 5.2.0 1534 | merge2: 1.4.1 1535 | slash: 3.0.0 1536 | dev: true 1537 | 1538 | /got/10.7.0: 1539 | resolution: {integrity: sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==} 1540 | engines: {node: '>=10'} 1541 | dependencies: 1542 | '@sindresorhus/is': 2.1.1 1543 | '@szmarczak/http-timer': 4.0.6 1544 | '@types/cacheable-request': 6.0.2 1545 | cacheable-lookup: 2.0.1 1546 | cacheable-request: 7.0.2 1547 | decompress-response: 5.0.0 1548 | duplexer3: 0.1.5 1549 | get-stream: 5.2.0 1550 | lowercase-keys: 2.0.0 1551 | mimic-response: 2.1.0 1552 | p-cancelable: 2.1.1 1553 | p-event: 4.2.0 1554 | responselike: 2.0.1 1555 | to-readable-stream: 2.1.0 1556 | type-fest: 0.10.0 1557 | dev: false 1558 | 1559 | /graceful-fs/4.2.10: 1560 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1561 | dev: false 1562 | 1563 | /has-bigints/1.0.2: 1564 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1565 | dev: true 1566 | 1567 | /has-flag/3.0.0: 1568 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1569 | engines: {node: '>=4'} 1570 | dev: true 1571 | 1572 | /has-flag/4.0.0: 1573 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1574 | engines: {node: '>=8'} 1575 | 1576 | /has-property-descriptors/1.0.0: 1577 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1578 | dependencies: 1579 | get-intrinsic: 1.1.2 1580 | dev: true 1581 | 1582 | /has-symbols/1.0.3: 1583 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1584 | engines: {node: '>= 0.4'} 1585 | dev: true 1586 | 1587 | /has-tostringtag/1.0.0: 1588 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1589 | engines: {node: '>= 0.4'} 1590 | dependencies: 1591 | has-symbols: 1.0.3 1592 | dev: true 1593 | 1594 | /has-unicode/2.0.1: 1595 | resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} 1596 | dev: false 1597 | 1598 | /has/1.0.3: 1599 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1600 | engines: {node: '>= 0.4.0'} 1601 | dependencies: 1602 | function-bind: 1.1.1 1603 | 1604 | /htmlparser2/7.2.0: 1605 | resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} 1606 | dependencies: 1607 | domelementtype: 2.3.0 1608 | domhandler: 4.3.1 1609 | domutils: 2.8.0 1610 | entities: 3.0.1 1611 | dev: true 1612 | 1613 | /http-cache-semantics/4.1.0: 1614 | resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} 1615 | dev: false 1616 | 1617 | /http-proxy-agent/4.0.1: 1618 | resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} 1619 | engines: {node: '>= 6'} 1620 | dependencies: 1621 | '@tootallnate/once': 1.1.2 1622 | agent-base: 6.0.2 1623 | debug: 4.3.4 1624 | transitivePeerDependencies: 1625 | - supports-color 1626 | dev: false 1627 | 1628 | /https-proxy-agent/5.0.1: 1629 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 1630 | engines: {node: '>= 6'} 1631 | dependencies: 1632 | agent-base: 6.0.2 1633 | debug: 4.3.4 1634 | transitivePeerDependencies: 1635 | - supports-color 1636 | dev: false 1637 | 1638 | /humanize-ms/1.2.1: 1639 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} 1640 | dependencies: 1641 | ms: 2.1.3 1642 | dev: false 1643 | 1644 | /iconv-lite/0.4.24: 1645 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1646 | engines: {node: '>=0.10.0'} 1647 | dependencies: 1648 | safer-buffer: 2.1.2 1649 | dev: false 1650 | 1651 | /iconv-lite/0.6.3: 1652 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1653 | engines: {node: '>=0.10.0'} 1654 | dependencies: 1655 | safer-buffer: 2.1.2 1656 | dev: false 1657 | optional: true 1658 | 1659 | /ieee754/1.2.1: 1660 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1661 | dev: false 1662 | 1663 | /ignore/4.0.6: 1664 | resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} 1665 | engines: {node: '>= 4'} 1666 | dev: true 1667 | 1668 | /ignore/5.2.0: 1669 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1670 | engines: {node: '>= 4'} 1671 | dev: true 1672 | 1673 | /import-fresh/3.3.0: 1674 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1675 | engines: {node: '>=6'} 1676 | dependencies: 1677 | parent-module: 1.0.1 1678 | resolve-from: 4.0.0 1679 | dev: true 1680 | 1681 | /imurmurhash/0.1.4: 1682 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1683 | engines: {node: '>=0.8.19'} 1684 | 1685 | /indent-string/4.0.0: 1686 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1687 | engines: {node: '>=8'} 1688 | dev: false 1689 | 1690 | /infer-owner/1.0.4: 1691 | resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} 1692 | dev: false 1693 | 1694 | /inflight/1.0.6: 1695 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1696 | dependencies: 1697 | once: 1.4.0 1698 | wrappy: 1.0.2 1699 | 1700 | /inherits/2.0.4: 1701 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1702 | 1703 | /inquirer/8.2.4: 1704 | resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} 1705 | engines: {node: '>=12.0.0'} 1706 | dependencies: 1707 | ansi-escapes: 4.3.2 1708 | chalk: 4.1.2 1709 | cli-cursor: 3.1.0 1710 | cli-width: 3.0.0 1711 | external-editor: 3.1.0 1712 | figures: 3.2.0 1713 | lodash: 4.17.21 1714 | mute-stream: 0.0.8 1715 | ora: 5.4.1 1716 | run-async: 2.4.1 1717 | rxjs: 7.5.6 1718 | string-width: 4.2.3 1719 | strip-ansi: 6.0.1 1720 | through: 2.3.8 1721 | wrap-ansi: 7.0.0 1722 | dev: false 1723 | 1724 | /internal-slot/1.0.3: 1725 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 1726 | engines: {node: '>= 0.4'} 1727 | dependencies: 1728 | get-intrinsic: 1.1.2 1729 | has: 1.0.3 1730 | side-channel: 1.0.4 1731 | dev: true 1732 | 1733 | /interpret/1.4.0: 1734 | resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} 1735 | engines: {node: '>= 0.10'} 1736 | dev: false 1737 | 1738 | /ip/2.0.0: 1739 | resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} 1740 | dev: false 1741 | 1742 | /is-bigint/1.0.4: 1743 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1744 | dependencies: 1745 | has-bigints: 1.0.2 1746 | dev: true 1747 | 1748 | /is-boolean-object/1.1.2: 1749 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1750 | engines: {node: '>= 0.4'} 1751 | dependencies: 1752 | call-bind: 1.0.2 1753 | has-tostringtag: 1.0.0 1754 | dev: true 1755 | 1756 | /is-callable/1.2.4: 1757 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 1758 | engines: {node: '>= 0.4'} 1759 | dev: true 1760 | 1761 | /is-core-module/2.10.0: 1762 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} 1763 | dependencies: 1764 | has: 1.0.3 1765 | 1766 | /is-date-object/1.0.5: 1767 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1768 | engines: {node: '>= 0.4'} 1769 | dependencies: 1770 | has-tostringtag: 1.0.0 1771 | dev: true 1772 | 1773 | /is-extglob/2.1.1: 1774 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1775 | engines: {node: '>=0.10.0'} 1776 | dev: true 1777 | 1778 | /is-fullwidth-code-point/3.0.0: 1779 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1780 | engines: {node: '>=8'} 1781 | 1782 | /is-glob/4.0.3: 1783 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1784 | engines: {node: '>=0.10.0'} 1785 | dependencies: 1786 | is-extglob: 2.1.1 1787 | dev: true 1788 | 1789 | /is-interactive/1.0.0: 1790 | resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 1791 | engines: {node: '>=8'} 1792 | dev: false 1793 | 1794 | /is-lambda/1.0.1: 1795 | resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} 1796 | dev: false 1797 | 1798 | /is-negative-zero/2.0.2: 1799 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1800 | engines: {node: '>= 0.4'} 1801 | dev: true 1802 | 1803 | /is-number-object/1.0.7: 1804 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1805 | engines: {node: '>= 0.4'} 1806 | dependencies: 1807 | has-tostringtag: 1.0.0 1808 | dev: true 1809 | 1810 | /is-number/7.0.0: 1811 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1812 | engines: {node: '>=0.12.0'} 1813 | dev: true 1814 | 1815 | /is-regex/1.1.4: 1816 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1817 | engines: {node: '>= 0.4'} 1818 | dependencies: 1819 | call-bind: 1.0.2 1820 | has-tostringtag: 1.0.0 1821 | dev: true 1822 | 1823 | /is-shared-array-buffer/1.0.2: 1824 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1825 | dependencies: 1826 | call-bind: 1.0.2 1827 | dev: true 1828 | 1829 | /is-string/1.0.7: 1830 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1831 | engines: {node: '>= 0.4'} 1832 | dependencies: 1833 | has-tostringtag: 1.0.0 1834 | dev: true 1835 | 1836 | /is-symbol/1.0.4: 1837 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1838 | engines: {node: '>= 0.4'} 1839 | dependencies: 1840 | has-symbols: 1.0.3 1841 | dev: true 1842 | 1843 | /is-unicode-supported/0.1.0: 1844 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 1845 | engines: {node: '>=10'} 1846 | dev: false 1847 | 1848 | /is-weakref/1.0.2: 1849 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1850 | dependencies: 1851 | call-bind: 1.0.2 1852 | dev: true 1853 | 1854 | /isarray/1.0.0: 1855 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1856 | dev: false 1857 | 1858 | /isexe/2.0.0: 1859 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1860 | 1861 | /js-tokens/4.0.0: 1862 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1863 | dev: true 1864 | 1865 | /js-yaml/3.14.1: 1866 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1867 | hasBin: true 1868 | dependencies: 1869 | argparse: 1.0.10 1870 | esprima: 4.0.1 1871 | dev: true 1872 | 1873 | /json-buffer/3.0.1: 1874 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1875 | dev: false 1876 | 1877 | /json-schema-traverse/0.4.1: 1878 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1879 | dev: true 1880 | 1881 | /json-schema-traverse/1.0.0: 1882 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 1883 | dev: true 1884 | 1885 | /json-stable-stringify-without-jsonify/1.0.1: 1886 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1887 | dev: true 1888 | 1889 | /json5/1.0.1: 1890 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 1891 | hasBin: true 1892 | dependencies: 1893 | minimist: 1.2.6 1894 | dev: true 1895 | 1896 | /json5/2.2.1: 1897 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 1898 | engines: {node: '>=6'} 1899 | hasBin: true 1900 | dev: false 1901 | 1902 | /jsonc-eslint-parser/1.4.1: 1903 | resolution: {integrity: sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==} 1904 | engines: {node: '>=8.10.0'} 1905 | dependencies: 1906 | acorn: 7.4.1 1907 | eslint-utils: 2.1.0 1908 | eslint-visitor-keys: 1.3.0 1909 | espree: 6.2.1 1910 | semver: 6.3.0 1911 | dev: true 1912 | 1913 | /jsonfile/4.0.0: 1914 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1915 | optionalDependencies: 1916 | graceful-fs: 4.2.10 1917 | dev: false 1918 | 1919 | /keypress/0.1.0: 1920 | resolution: {integrity: sha512-x0yf9PL/nx9Nw9oLL8ZVErFAk85/lslwEP7Vz7s5SI1ODXZIgit3C5qyWjw4DxOuO/3Hb4866SQh28a1V1d+WA==} 1921 | dev: false 1922 | 1923 | /keyv/4.5.0: 1924 | resolution: {integrity: sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==} 1925 | dependencies: 1926 | json-buffer: 3.0.1 1927 | dev: false 1928 | 1929 | /levn/0.4.1: 1930 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1931 | engines: {node: '>= 0.8.0'} 1932 | dependencies: 1933 | prelude-ls: 1.2.1 1934 | type-check: 0.4.0 1935 | dev: true 1936 | 1937 | /lodash.merge/4.6.2: 1938 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1939 | dev: true 1940 | 1941 | /lodash.truncate/4.4.2: 1942 | resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} 1943 | dev: true 1944 | 1945 | /lodash/4.17.21: 1946 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1947 | 1948 | /log-symbols/4.1.0: 1949 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 1950 | engines: {node: '>=10'} 1951 | dependencies: 1952 | chalk: 4.1.2 1953 | is-unicode-supported: 0.1.0 1954 | dev: false 1955 | 1956 | /lowercase-keys/2.0.0: 1957 | resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} 1958 | engines: {node: '>=8'} 1959 | dev: false 1960 | 1961 | /lru-cache/6.0.0: 1962 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1963 | engines: {node: '>=10'} 1964 | dependencies: 1965 | yallist: 4.0.0 1966 | 1967 | /make-dir/3.1.0: 1968 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 1969 | engines: {node: '>=8'} 1970 | dependencies: 1971 | semver: 6.3.0 1972 | dev: false 1973 | 1974 | /make-fetch-happen/9.1.0: 1975 | resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} 1976 | engines: {node: '>= 10'} 1977 | dependencies: 1978 | agentkeepalive: 4.2.1 1979 | cacache: 15.3.0 1980 | http-cache-semantics: 4.1.0 1981 | http-proxy-agent: 4.0.1 1982 | https-proxy-agent: 5.0.1 1983 | is-lambda: 1.0.1 1984 | lru-cache: 6.0.0 1985 | minipass: 3.3.4 1986 | minipass-collect: 1.0.2 1987 | minipass-fetch: 1.4.1 1988 | minipass-flush: 1.0.5 1989 | minipass-pipeline: 1.2.4 1990 | negotiator: 0.6.3 1991 | promise-retry: 2.0.1 1992 | socks-proxy-agent: 6.2.1 1993 | ssri: 8.0.1 1994 | transitivePeerDependencies: 1995 | - supports-color 1996 | dev: false 1997 | 1998 | /merge2/1.4.1: 1999 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2000 | engines: {node: '>= 8'} 2001 | dev: true 2002 | 2003 | /micromatch/4.0.5: 2004 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2005 | engines: {node: '>=8.6'} 2006 | dependencies: 2007 | braces: 3.0.2 2008 | picomatch: 2.3.1 2009 | dev: true 2010 | 2011 | /mimic-fn/2.1.0: 2012 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2013 | engines: {node: '>=6'} 2014 | dev: false 2015 | 2016 | /mimic-response/1.0.1: 2017 | resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} 2018 | engines: {node: '>=4'} 2019 | dev: false 2020 | 2021 | /mimic-response/2.1.0: 2022 | resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} 2023 | engines: {node: '>=8'} 2024 | dev: false 2025 | 2026 | /minimatch/3.1.2: 2027 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2028 | dependencies: 2029 | brace-expansion: 1.1.11 2030 | 2031 | /minimist/1.2.6: 2032 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2033 | 2034 | /minipass-collect/1.0.2: 2035 | resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} 2036 | engines: {node: '>= 8'} 2037 | dependencies: 2038 | minipass: 3.3.4 2039 | dev: false 2040 | 2041 | /minipass-fetch/1.4.1: 2042 | resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} 2043 | engines: {node: '>=8'} 2044 | dependencies: 2045 | minipass: 3.3.4 2046 | minipass-sized: 1.0.3 2047 | minizlib: 2.1.2 2048 | optionalDependencies: 2049 | encoding: 0.1.13 2050 | dev: false 2051 | 2052 | /minipass-flush/1.0.5: 2053 | resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} 2054 | engines: {node: '>= 8'} 2055 | dependencies: 2056 | minipass: 3.3.4 2057 | dev: false 2058 | 2059 | /minipass-pipeline/1.2.4: 2060 | resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} 2061 | engines: {node: '>=8'} 2062 | dependencies: 2063 | minipass: 3.3.4 2064 | dev: false 2065 | 2066 | /minipass-sized/1.0.3: 2067 | resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} 2068 | engines: {node: '>=8'} 2069 | dependencies: 2070 | minipass: 3.3.4 2071 | dev: false 2072 | 2073 | /minipass/3.3.4: 2074 | resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} 2075 | engines: {node: '>=8'} 2076 | dependencies: 2077 | yallist: 4.0.0 2078 | dev: false 2079 | 2080 | /minizlib/2.1.2: 2081 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 2082 | engines: {node: '>= 8'} 2083 | dependencies: 2084 | minipass: 3.3.4 2085 | yallist: 4.0.0 2086 | dev: false 2087 | 2088 | /mkdirp/0.5.6: 2089 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 2090 | hasBin: true 2091 | dependencies: 2092 | minimist: 1.2.6 2093 | dev: false 2094 | 2095 | /mkdirp/1.0.4: 2096 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 2097 | engines: {node: '>=10'} 2098 | hasBin: true 2099 | dev: false 2100 | 2101 | /ms/2.0.0: 2102 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2103 | dev: true 2104 | 2105 | /ms/2.1.2: 2106 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2107 | 2108 | /ms/2.1.3: 2109 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2110 | 2111 | /mute-stream/0.0.8: 2112 | resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} 2113 | dev: false 2114 | 2115 | /nan/2.16.0: 2116 | resolution: {integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==} 2117 | dev: false 2118 | 2119 | /natural-compare/1.4.0: 2120 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2121 | dev: true 2122 | 2123 | /negotiator/0.6.3: 2124 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 2125 | engines: {node: '>= 0.6'} 2126 | dev: false 2127 | 2128 | /node-addon-api/3.2.1: 2129 | resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} 2130 | dev: false 2131 | optional: true 2132 | 2133 | /node-fetch/2.6.7: 2134 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 2135 | engines: {node: 4.x || >=6.0.0} 2136 | peerDependencies: 2137 | encoding: ^0.1.0 2138 | peerDependenciesMeta: 2139 | encoding: 2140 | optional: true 2141 | dependencies: 2142 | whatwg-url: 5.0.0 2143 | dev: false 2144 | 2145 | /node-gyp/8.4.1: 2146 | resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} 2147 | engines: {node: '>= 10.12.0'} 2148 | hasBin: true 2149 | dependencies: 2150 | env-paths: 2.2.1 2151 | glob: 7.2.3 2152 | graceful-fs: 4.2.10 2153 | make-fetch-happen: 9.1.0 2154 | nopt: 5.0.0 2155 | npmlog: 6.0.2 2156 | rimraf: 3.0.2 2157 | semver: 7.3.7 2158 | tar: 6.1.11 2159 | which: 2.0.2 2160 | transitivePeerDependencies: 2161 | - supports-color 2162 | dev: false 2163 | 2164 | /node-ssh/11.1.1: 2165 | resolution: {integrity: sha512-B3Tb3t54nCj2PyA8vnUMeH19Z2hybJzg5n4t9mRCOTfVGwGlJrv0frDjhPjisTAg3JplJiSxzfImOTMvFPkraQ==} 2166 | engines: {node: '>= 8'} 2167 | dependencies: 2168 | make-dir: 3.1.0 2169 | sb-promise-queue: 2.1.0 2170 | sb-scandir: 3.1.0 2171 | shell-escape: 0.2.0 2172 | ssh2: 0.8.9 2173 | dev: false 2174 | 2175 | /nodegit/0.28.0-alpha.18: 2176 | resolution: {integrity: sha512-adLFYT4j/GMYFYcLmqiDMIaedPe7ErnIBLYRo0LZG5LoQpmu8qH10bTUokH76PVe2zioKCX+9/4sZ3ZUIBJbVg==} 2177 | engines: {node: '>= 12.19.0 < 13 || >= 14.10.0'} 2178 | requiresBuild: true 2179 | dependencies: 2180 | '@mapbox/node-pre-gyp': 1.0.9 2181 | fs-extra: 7.0.1 2182 | got: 10.7.0 2183 | json5: 2.2.1 2184 | lodash: 4.17.21 2185 | nan: 2.16.0 2186 | node-gyp: 8.4.1 2187 | ramda: 0.25.0 2188 | tar-fs: 1.16.3 2189 | transitivePeerDependencies: 2190 | - encoding 2191 | - supports-color 2192 | dev: false 2193 | 2194 | /nodejieba/2.5.2: 2195 | resolution: {integrity: sha512-ByskJvaBrQ2eV+5M0OeD80S5NKoGaHc9zi3Z/PTKl/95eac2YF8RmWduq9AknLpkQLrLAIcqurrtC6BzjpKwwg==} 2196 | engines: {node: '>= 10.20.0'} 2197 | requiresBuild: true 2198 | dependencies: 2199 | '@mapbox/node-pre-gyp': 1.0.9 2200 | node-addon-api: 3.2.1 2201 | transitivePeerDependencies: 2202 | - encoding 2203 | - supports-color 2204 | dev: false 2205 | optional: true 2206 | 2207 | /nopt/5.0.0: 2208 | resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} 2209 | engines: {node: '>=6'} 2210 | hasBin: true 2211 | dependencies: 2212 | abbrev: 1.1.1 2213 | dev: false 2214 | 2215 | /normalize-url/6.1.0: 2216 | resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} 2217 | engines: {node: '>=10'} 2218 | dev: false 2219 | 2220 | /npmlog/5.0.1: 2221 | resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} 2222 | dependencies: 2223 | are-we-there-yet: 2.0.0 2224 | console-control-strings: 1.1.0 2225 | gauge: 3.0.2 2226 | set-blocking: 2.0.0 2227 | dev: false 2228 | 2229 | /npmlog/6.0.2: 2230 | resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} 2231 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 2232 | dependencies: 2233 | are-we-there-yet: 3.0.1 2234 | console-control-strings: 1.1.0 2235 | gauge: 4.0.4 2236 | set-blocking: 2.0.0 2237 | dev: false 2238 | 2239 | /nth-check/2.1.1: 2240 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 2241 | dependencies: 2242 | boolbase: 1.0.0 2243 | dev: true 2244 | 2245 | /object-assign/4.1.1: 2246 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2247 | engines: {node: '>=0.10.0'} 2248 | dev: false 2249 | 2250 | /object-inspect/1.12.2: 2251 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 2252 | dev: true 2253 | 2254 | /object-keys/1.1.1: 2255 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2256 | engines: {node: '>= 0.4'} 2257 | dev: true 2258 | 2259 | /object.assign/4.1.4: 2260 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 2261 | engines: {node: '>= 0.4'} 2262 | dependencies: 2263 | call-bind: 1.0.2 2264 | define-properties: 1.1.4 2265 | has-symbols: 1.0.3 2266 | object-keys: 1.1.1 2267 | dev: true 2268 | 2269 | /object.entries/1.1.5: 2270 | resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} 2271 | engines: {node: '>= 0.4'} 2272 | dependencies: 2273 | call-bind: 1.0.2 2274 | define-properties: 1.1.4 2275 | es-abstract: 1.20.2 2276 | dev: true 2277 | 2278 | /object.values/1.1.5: 2279 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 2280 | engines: {node: '>= 0.4'} 2281 | dependencies: 2282 | call-bind: 1.0.2 2283 | define-properties: 1.1.4 2284 | es-abstract: 1.20.2 2285 | dev: true 2286 | 2287 | /once/1.4.0: 2288 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2289 | dependencies: 2290 | wrappy: 1.0.2 2291 | 2292 | /onetime/5.1.2: 2293 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2294 | engines: {node: '>=6'} 2295 | dependencies: 2296 | mimic-fn: 2.1.0 2297 | dev: false 2298 | 2299 | /optionator/0.9.1: 2300 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2301 | engines: {node: '>= 0.8.0'} 2302 | dependencies: 2303 | deep-is: 0.1.4 2304 | fast-levenshtein: 2.0.6 2305 | levn: 0.4.1 2306 | prelude-ls: 1.2.1 2307 | type-check: 0.4.0 2308 | word-wrap: 1.2.3 2309 | dev: true 2310 | 2311 | /ora/5.4.1: 2312 | resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 2313 | engines: {node: '>=10'} 2314 | dependencies: 2315 | bl: 4.1.0 2316 | chalk: 4.1.2 2317 | cli-cursor: 3.1.0 2318 | cli-spinners: 2.7.0 2319 | is-interactive: 1.0.0 2320 | is-unicode-supported: 0.1.0 2321 | log-symbols: 4.1.0 2322 | strip-ansi: 6.0.1 2323 | wcwidth: 1.0.1 2324 | dev: false 2325 | 2326 | /os-tmpdir/1.0.2: 2327 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 2328 | engines: {node: '>=0.10.0'} 2329 | dev: false 2330 | 2331 | /p-cancelable/2.1.1: 2332 | resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} 2333 | engines: {node: '>=8'} 2334 | dev: false 2335 | 2336 | /p-event/4.2.0: 2337 | resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} 2338 | engines: {node: '>=8'} 2339 | dependencies: 2340 | p-timeout: 3.2.0 2341 | dev: false 2342 | 2343 | /p-finally/1.0.0: 2344 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 2345 | engines: {node: '>=4'} 2346 | dev: false 2347 | 2348 | /p-map/4.0.0: 2349 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2350 | engines: {node: '>=10'} 2351 | dependencies: 2352 | aggregate-error: 3.1.0 2353 | dev: false 2354 | 2355 | /p-timeout/3.2.0: 2356 | resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} 2357 | engines: {node: '>=8'} 2358 | dependencies: 2359 | p-finally: 1.0.0 2360 | dev: false 2361 | 2362 | /parent-module/1.0.1: 2363 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2364 | engines: {node: '>=6'} 2365 | dependencies: 2366 | callsites: 3.1.0 2367 | dev: true 2368 | 2369 | /path-is-absolute/1.0.1: 2370 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2371 | engines: {node: '>=0.10.0'} 2372 | 2373 | /path-key/3.1.1: 2374 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2375 | engines: {node: '>=8'} 2376 | dev: true 2377 | 2378 | /path-parse/1.0.7: 2379 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2380 | 2381 | /path-type/4.0.0: 2382 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2383 | engines: {node: '>=8'} 2384 | dev: true 2385 | 2386 | /picomatch/2.3.1: 2387 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2388 | engines: {node: '>=8.6'} 2389 | dev: true 2390 | 2391 | /pinyin/2.11.2: 2392 | resolution: {integrity: sha512-tAWDBcowj09j/vLUjty98nVqrbTVNhutf1VcyID4p0sxTFPzRyXw7n7Ic0HQwBdWFIWrrDP8bYiT64gaT6h3gA==} 2393 | hasBin: true 2394 | dependencies: 2395 | commander: 1.1.1 2396 | object-assign: 4.1.1 2397 | optionalDependencies: 2398 | nodejieba: 2.5.2 2399 | transitivePeerDependencies: 2400 | - encoding 2401 | - supports-color 2402 | dev: false 2403 | 2404 | /postcss-selector-parser/6.0.10: 2405 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} 2406 | engines: {node: '>=4'} 2407 | dependencies: 2408 | cssesc: 3.0.0 2409 | util-deprecate: 1.0.2 2410 | dev: true 2411 | 2412 | /prelude-ls/1.2.1: 2413 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2414 | engines: {node: '>= 0.8.0'} 2415 | dev: true 2416 | 2417 | /process-nextick-args/2.0.1: 2418 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 2419 | dev: false 2420 | 2421 | /progress/2.0.3: 2422 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 2423 | engines: {node: '>=0.4.0'} 2424 | dev: true 2425 | 2426 | /promise-inflight/1.0.1: 2427 | resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} 2428 | dev: false 2429 | 2430 | /promise-retry/2.0.1: 2431 | resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} 2432 | engines: {node: '>=10'} 2433 | dependencies: 2434 | err-code: 2.0.3 2435 | retry: 0.12.0 2436 | dev: false 2437 | 2438 | /pump/1.0.3: 2439 | resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==} 2440 | dependencies: 2441 | end-of-stream: 1.4.4 2442 | once: 1.4.0 2443 | dev: false 2444 | 2445 | /pump/3.0.0: 2446 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 2447 | dependencies: 2448 | end-of-stream: 1.4.4 2449 | once: 1.4.0 2450 | dev: false 2451 | 2452 | /punycode/2.1.1: 2453 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2454 | engines: {node: '>=6'} 2455 | dev: true 2456 | 2457 | /queue-microtask/1.2.3: 2458 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2459 | dev: true 2460 | 2461 | /ramda/0.25.0: 2462 | resolution: {integrity: sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==} 2463 | dev: false 2464 | 2465 | /readable-stream/2.3.7: 2466 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} 2467 | dependencies: 2468 | core-util-is: 1.0.3 2469 | inherits: 2.0.4 2470 | isarray: 1.0.0 2471 | process-nextick-args: 2.0.1 2472 | safe-buffer: 5.1.2 2473 | string_decoder: 1.1.1 2474 | util-deprecate: 1.0.2 2475 | dev: false 2476 | 2477 | /readable-stream/3.6.0: 2478 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 2479 | engines: {node: '>= 6'} 2480 | dependencies: 2481 | inherits: 2.0.4 2482 | string_decoder: 1.3.0 2483 | util-deprecate: 1.0.2 2484 | dev: false 2485 | 2486 | /rechoir/0.6.2: 2487 | resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} 2488 | engines: {node: '>= 0.10'} 2489 | dependencies: 2490 | resolve: 1.22.1 2491 | dev: false 2492 | 2493 | /regexp.prototype.flags/1.4.3: 2494 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2495 | engines: {node: '>= 0.4'} 2496 | dependencies: 2497 | call-bind: 1.0.2 2498 | define-properties: 1.1.4 2499 | functions-have-names: 1.2.3 2500 | dev: true 2501 | 2502 | /regexpp/3.2.0: 2503 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2504 | engines: {node: '>=8'} 2505 | dev: true 2506 | 2507 | /require-from-string/2.0.2: 2508 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 2509 | engines: {node: '>=0.10.0'} 2510 | dev: true 2511 | 2512 | /resolve-from/4.0.0: 2513 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2514 | engines: {node: '>=4'} 2515 | dev: true 2516 | 2517 | /resolve/1.22.1: 2518 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2519 | hasBin: true 2520 | dependencies: 2521 | is-core-module: 2.10.0 2522 | path-parse: 1.0.7 2523 | supports-preserve-symlinks-flag: 1.0.0 2524 | 2525 | /responselike/2.0.1: 2526 | resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} 2527 | dependencies: 2528 | lowercase-keys: 2.0.0 2529 | dev: false 2530 | 2531 | /restore-cursor/3.1.0: 2532 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2533 | engines: {node: '>=8'} 2534 | dependencies: 2535 | onetime: 5.1.2 2536 | signal-exit: 3.0.7 2537 | dev: false 2538 | 2539 | /retry/0.12.0: 2540 | resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} 2541 | engines: {node: '>= 4'} 2542 | dev: false 2543 | 2544 | /reusify/1.0.4: 2545 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2546 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2547 | dev: true 2548 | 2549 | /rimraf/3.0.2: 2550 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2551 | hasBin: true 2552 | dependencies: 2553 | glob: 7.2.3 2554 | 2555 | /run-async/2.4.1: 2556 | resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 2557 | engines: {node: '>=0.12.0'} 2558 | dev: false 2559 | 2560 | /run-parallel/1.2.0: 2561 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2562 | dependencies: 2563 | queue-microtask: 1.2.3 2564 | dev: true 2565 | 2566 | /rxjs/7.5.6: 2567 | resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} 2568 | dependencies: 2569 | tslib: 2.4.0 2570 | dev: false 2571 | 2572 | /safe-buffer/5.1.2: 2573 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2574 | dev: false 2575 | 2576 | /safe-buffer/5.2.1: 2577 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2578 | dev: false 2579 | 2580 | /safer-buffer/2.1.2: 2581 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2582 | dev: false 2583 | 2584 | /sb-promise-queue/2.1.0: 2585 | resolution: {integrity: sha512-zwq4YuP1FQFkGx2Q7GIkZYZ6PqWpV+bg0nIO1sJhWOyGyhqbj0MsTvK6lCFo5TQwX5pZr6SCQ75e8PCDCuNvkg==} 2586 | engines: {node: '>= 8'} 2587 | dev: false 2588 | 2589 | /sb-scandir/3.1.0: 2590 | resolution: {integrity: sha512-70BVm2xz9jn94zSQdpvYrEG101/UV9TVGcfWr9T5iob3QhCK4lYXeculfBqPGFv3XTeKgx4dpWyYIDeZUqo4kg==} 2591 | engines: {node: '>= 8'} 2592 | dependencies: 2593 | sb-promise-queue: 2.1.0 2594 | dev: false 2595 | 2596 | /semver/6.3.0: 2597 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2598 | hasBin: true 2599 | 2600 | /semver/7.3.7: 2601 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 2602 | engines: {node: '>=10'} 2603 | hasBin: true 2604 | dependencies: 2605 | lru-cache: 6.0.0 2606 | 2607 | /set-blocking/2.0.0: 2608 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 2609 | dev: false 2610 | 2611 | /shebang-command/2.0.0: 2612 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2613 | engines: {node: '>=8'} 2614 | dependencies: 2615 | shebang-regex: 3.0.0 2616 | dev: true 2617 | 2618 | /shebang-regex/3.0.0: 2619 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2620 | engines: {node: '>=8'} 2621 | dev: true 2622 | 2623 | /shell-escape/0.2.0: 2624 | resolution: {integrity: sha512-uRRBT2MfEOyxuECseCZd28jC1AJ8hmqqneWQ4VWUTgCAFvb3wKU1jLqj6egC4Exrr88ogg3dp+zroH4wJuaXzw==} 2625 | dev: false 2626 | 2627 | /shelljs/0.8.5: 2628 | resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} 2629 | engines: {node: '>=4'} 2630 | hasBin: true 2631 | dependencies: 2632 | glob: 7.2.3 2633 | interpret: 1.4.0 2634 | rechoir: 0.6.2 2635 | dev: false 2636 | 2637 | /side-channel/1.0.4: 2638 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2639 | dependencies: 2640 | call-bind: 1.0.2 2641 | get-intrinsic: 1.1.2 2642 | object-inspect: 1.12.2 2643 | dev: true 2644 | 2645 | /signal-exit/3.0.7: 2646 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2647 | dev: false 2648 | 2649 | /slash/3.0.0: 2650 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2651 | engines: {node: '>=8'} 2652 | dev: true 2653 | 2654 | /slice-ansi/4.0.0: 2655 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 2656 | engines: {node: '>=10'} 2657 | dependencies: 2658 | ansi-styles: 4.3.0 2659 | astral-regex: 2.0.0 2660 | is-fullwidth-code-point: 3.0.0 2661 | dev: true 2662 | 2663 | /smart-buffer/4.2.0: 2664 | resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 2665 | engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 2666 | dev: false 2667 | 2668 | /socks-proxy-agent/6.2.1: 2669 | resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} 2670 | engines: {node: '>= 10'} 2671 | dependencies: 2672 | agent-base: 6.0.2 2673 | debug: 4.3.4 2674 | socks: 2.7.0 2675 | transitivePeerDependencies: 2676 | - supports-color 2677 | dev: false 2678 | 2679 | /socks/2.7.0: 2680 | resolution: {integrity: sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==} 2681 | engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} 2682 | dependencies: 2683 | ip: 2.0.0 2684 | smart-buffer: 4.2.0 2685 | dev: false 2686 | 2687 | /sprintf-js/1.0.3: 2688 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 2689 | dev: true 2690 | 2691 | /ssh2-streams/0.4.10: 2692 | resolution: {integrity: sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==} 2693 | engines: {node: '>=5.2.0'} 2694 | dependencies: 2695 | asn1: 0.2.6 2696 | bcrypt-pbkdf: 1.0.2 2697 | streamsearch: 0.1.2 2698 | dev: false 2699 | 2700 | /ssh2/0.8.9: 2701 | resolution: {integrity: sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==} 2702 | engines: {node: '>=5.2.0'} 2703 | dependencies: 2704 | ssh2-streams: 0.4.10 2705 | dev: false 2706 | 2707 | /ssri/8.0.1: 2708 | resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} 2709 | engines: {node: '>= 8'} 2710 | dependencies: 2711 | minipass: 3.3.4 2712 | dev: false 2713 | 2714 | /streamsearch/0.1.2: 2715 | resolution: {integrity: sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==} 2716 | engines: {node: '>=0.8.0'} 2717 | dev: false 2718 | 2719 | /string-width/4.2.3: 2720 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2721 | engines: {node: '>=8'} 2722 | dependencies: 2723 | emoji-regex: 8.0.0 2724 | is-fullwidth-code-point: 3.0.0 2725 | strip-ansi: 6.0.1 2726 | 2727 | /string.prototype.trimend/1.0.5: 2728 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 2729 | dependencies: 2730 | call-bind: 1.0.2 2731 | define-properties: 1.1.4 2732 | es-abstract: 1.20.2 2733 | dev: true 2734 | 2735 | /string.prototype.trimstart/1.0.5: 2736 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 2737 | dependencies: 2738 | call-bind: 1.0.2 2739 | define-properties: 1.1.4 2740 | es-abstract: 1.20.2 2741 | dev: true 2742 | 2743 | /string_decoder/1.1.1: 2744 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 2745 | dependencies: 2746 | safe-buffer: 5.1.2 2747 | dev: false 2748 | 2749 | /string_decoder/1.3.0: 2750 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 2751 | dependencies: 2752 | safe-buffer: 5.2.1 2753 | dev: false 2754 | 2755 | /strip-ansi/6.0.1: 2756 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2757 | engines: {node: '>=8'} 2758 | dependencies: 2759 | ansi-regex: 5.0.1 2760 | 2761 | /strip-bom/3.0.0: 2762 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2763 | engines: {node: '>=4'} 2764 | dev: true 2765 | 2766 | /strip-json-comments/3.1.1: 2767 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2768 | engines: {node: '>=8'} 2769 | dev: true 2770 | 2771 | /supports-color/5.5.0: 2772 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2773 | engines: {node: '>=4'} 2774 | dependencies: 2775 | has-flag: 3.0.0 2776 | dev: true 2777 | 2778 | /supports-color/7.2.0: 2779 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2780 | engines: {node: '>=8'} 2781 | dependencies: 2782 | has-flag: 4.0.0 2783 | 2784 | /supports-preserve-symlinks-flag/1.0.0: 2785 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2786 | engines: {node: '>= 0.4'} 2787 | 2788 | /table/6.8.0: 2789 | resolution: {integrity: sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==} 2790 | engines: {node: '>=10.0.0'} 2791 | dependencies: 2792 | ajv: 8.11.0 2793 | lodash.truncate: 4.4.2 2794 | slice-ansi: 4.0.0 2795 | string-width: 4.2.3 2796 | strip-ansi: 6.0.1 2797 | dev: true 2798 | 2799 | /tar-fs/1.16.3: 2800 | resolution: {integrity: sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==} 2801 | dependencies: 2802 | chownr: 1.1.4 2803 | mkdirp: 0.5.6 2804 | pump: 1.0.3 2805 | tar-stream: 1.6.2 2806 | dev: false 2807 | 2808 | /tar-stream/1.6.2: 2809 | resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} 2810 | engines: {node: '>= 0.8.0'} 2811 | dependencies: 2812 | bl: 1.2.3 2813 | buffer-alloc: 1.2.0 2814 | end-of-stream: 1.4.4 2815 | fs-constants: 1.0.0 2816 | readable-stream: 2.3.7 2817 | to-buffer: 1.1.1 2818 | xtend: 4.0.2 2819 | dev: false 2820 | 2821 | /tar/6.1.11: 2822 | resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} 2823 | engines: {node: '>= 10'} 2824 | dependencies: 2825 | chownr: 2.0.0 2826 | fs-minipass: 2.1.0 2827 | minipass: 3.3.4 2828 | minizlib: 2.1.2 2829 | mkdirp: 1.0.4 2830 | yallist: 4.0.0 2831 | dev: false 2832 | 2833 | /text-table/0.2.0: 2834 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2835 | dev: true 2836 | 2837 | /through/2.3.8: 2838 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 2839 | dev: false 2840 | 2841 | /tmp/0.0.33: 2842 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 2843 | engines: {node: '>=0.6.0'} 2844 | dependencies: 2845 | os-tmpdir: 1.0.2 2846 | dev: false 2847 | 2848 | /to-buffer/1.1.1: 2849 | resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} 2850 | dev: false 2851 | 2852 | /to-readable-stream/2.1.0: 2853 | resolution: {integrity: sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==} 2854 | engines: {node: '>=8'} 2855 | dev: false 2856 | 2857 | /to-regex-range/5.0.1: 2858 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2859 | engines: {node: '>=8.0'} 2860 | dependencies: 2861 | is-number: 7.0.0 2862 | dev: true 2863 | 2864 | /tr46/0.0.3: 2865 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2866 | dev: false 2867 | 2868 | /tsconfig-paths/3.14.1: 2869 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 2870 | dependencies: 2871 | '@types/json5': 0.0.29 2872 | json5: 1.0.1 2873 | minimist: 1.2.6 2874 | strip-bom: 3.0.0 2875 | dev: true 2876 | 2877 | /tslib/1.14.1: 2878 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2879 | dev: true 2880 | 2881 | /tslib/2.4.0: 2882 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} 2883 | dev: false 2884 | 2885 | /tsutils/3.21.0: 2886 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2887 | engines: {node: '>= 6'} 2888 | peerDependencies: 2889 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2890 | dependencies: 2891 | tslib: 1.14.1 2892 | dev: true 2893 | 2894 | /tweetnacl/0.14.5: 2895 | resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} 2896 | dev: false 2897 | 2898 | /type-check/0.4.0: 2899 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2900 | engines: {node: '>= 0.8.0'} 2901 | dependencies: 2902 | prelude-ls: 1.2.1 2903 | dev: true 2904 | 2905 | /type-fest/0.10.0: 2906 | resolution: {integrity: sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==} 2907 | engines: {node: '>=8'} 2908 | dev: false 2909 | 2910 | /type-fest/0.20.2: 2911 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2912 | engines: {node: '>=10'} 2913 | dev: true 2914 | 2915 | /type-fest/0.21.3: 2916 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 2917 | engines: {node: '>=10'} 2918 | dev: false 2919 | 2920 | /unbox-primitive/1.0.2: 2921 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2922 | dependencies: 2923 | call-bind: 1.0.2 2924 | has-bigints: 1.0.2 2925 | has-symbols: 1.0.3 2926 | which-boxed-primitive: 1.0.2 2927 | dev: true 2928 | 2929 | /unique-filename/1.1.1: 2930 | resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} 2931 | dependencies: 2932 | unique-slug: 2.0.2 2933 | dev: false 2934 | 2935 | /unique-slug/2.0.2: 2936 | resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} 2937 | dependencies: 2938 | imurmurhash: 0.1.4 2939 | dev: false 2940 | 2941 | /universalify/0.1.2: 2942 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 2943 | engines: {node: '>= 4.0.0'} 2944 | dev: false 2945 | 2946 | /uri-js/4.4.1: 2947 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2948 | dependencies: 2949 | punycode: 2.1.1 2950 | dev: true 2951 | 2952 | /util-deprecate/1.0.2: 2953 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2954 | 2955 | /v8-compile-cache/2.3.0: 2956 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 2957 | dev: true 2958 | 2959 | /vue-eslint-parser/8.3.0_eslint@7.32.0: 2960 | resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==} 2961 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2962 | peerDependencies: 2963 | eslint: '>=6.0.0' 2964 | dependencies: 2965 | debug: 4.3.4 2966 | eslint: 7.32.0 2967 | eslint-scope: 7.1.1 2968 | eslint-visitor-keys: 3.3.0 2969 | espree: 9.4.0 2970 | esquery: 1.4.0 2971 | lodash: 4.17.21 2972 | semver: 7.3.7 2973 | transitivePeerDependencies: 2974 | - supports-color 2975 | dev: true 2976 | 2977 | /wcwidth/1.0.1: 2978 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 2979 | dependencies: 2980 | defaults: 1.0.3 2981 | dev: false 2982 | 2983 | /webidl-conversions/3.0.1: 2984 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2985 | dev: false 2986 | 2987 | /whatwg-url/5.0.0: 2988 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2989 | dependencies: 2990 | tr46: 0.0.3 2991 | webidl-conversions: 3.0.1 2992 | dev: false 2993 | 2994 | /which-boxed-primitive/1.0.2: 2995 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2996 | dependencies: 2997 | is-bigint: 1.0.4 2998 | is-boolean-object: 1.1.2 2999 | is-number-object: 1.0.7 3000 | is-string: 1.0.7 3001 | is-symbol: 1.0.4 3002 | dev: true 3003 | 3004 | /which/2.0.2: 3005 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3006 | engines: {node: '>= 8'} 3007 | hasBin: true 3008 | dependencies: 3009 | isexe: 2.0.0 3010 | 3011 | /wide-align/1.1.5: 3012 | resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} 3013 | dependencies: 3014 | string-width: 4.2.3 3015 | dev: false 3016 | 3017 | /word-wrap/1.2.3: 3018 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3019 | engines: {node: '>=0.10.0'} 3020 | dev: true 3021 | 3022 | /wrap-ansi/7.0.0: 3023 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3024 | engines: {node: '>=10'} 3025 | dependencies: 3026 | ansi-styles: 4.3.0 3027 | string-width: 4.2.3 3028 | strip-ansi: 6.0.1 3029 | dev: false 3030 | 3031 | /wrappy/1.0.2: 3032 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3033 | 3034 | /xtend/4.0.2: 3035 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 3036 | engines: {node: '>=0.4'} 3037 | dev: false 3038 | 3039 | /yallist/4.0.0: 3040 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3041 | 3042 | /yaml-eslint-parser/0.3.2: 3043 | resolution: {integrity: sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==} 3044 | dependencies: 3045 | eslint-visitor-keys: 1.3.0 3046 | lodash: 4.17.21 3047 | yaml: 1.10.2 3048 | dev: true 3049 | 3050 | /yaml/1.10.2: 3051 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3052 | engines: {node: '>= 6'} 3053 | dev: true 3054 | -------------------------------------------------------------------------------- /utils/build.js: -------------------------------------------------------------------------------- 1 | const ora = require('ora') // 加载流程动画 2 | const shell = require('shelljs') // 执行shell命令 3 | const spinner_style = require('./spinner_style') // 加载动画样式 4 | const { defaultLog, errorLog, successLog } = require('./log') // Logs 5 | const { getMaxDiskInfo } = require('./disk') // 获取磁盘信息 6 | const { hasCatalog, readdir, mkdir } = require('./node_app') 7 | const { select } = require('./command') 8 | const { APPLICATION_PORTAL } = require('./../config') 9 | const Git = require('./git') 10 | /** 11 | * 初始化项目 12 | */ 13 | const download = async () => { 14 | let loading 15 | try { 16 | const { data } = await getMaxDiskInfo() // 获取磁盘信息 17 | const tar = `${data.mounted}${APPLICATION_PORTAL}/${global.ext}` 18 | // 设置全局的站点路径 19 | global.tar = tar 20 | // 是否存在这个目录 21 | const isExists = await hasCatalog(tar) 22 | if (!isExists) { 23 | await mkdir(tar) 24 | } 25 | // 获取目标文件夹中是否有文件 26 | const file = await readdir(tar) 27 | // 无文件则拉代码 28 | loading = ora(defaultLog('正在初始化站点')).start() 29 | loading.spinner = spinner_style.arrow4 30 | if (!file.length) { 31 | await Git.clone(global.gitPath, tar) 32 | } else { 33 | // 有则切分支或拉代码 34 | } 35 | successLog('初始化成功') 36 | } catch (error) { 37 | errorLog(error) 38 | process.exit() // 退出流程 39 | } 40 | if (loading) { 41 | loading.stop() 42 | } 43 | } 44 | /** 45 | * 46 | * @param {*} path 绝对路径 47 | */ 48 | const install = async (path) => { 49 | const loading = ora(defaultLog('下载依赖')).start() 50 | loading.spinner = spinner_style.arrow4 51 | shell.cd(path) 52 | const res = await shell.exec(global.SITE_INFO.install) // 执行shell 打包命令 53 | loading.stop() 54 | if (res.code === 0) { 55 | successLog('依赖下载完成!') 56 | } else { 57 | errorLog('依赖下载失败, 请重试!') 58 | process.exit() // 退出流程 59 | } 60 | } 61 | /** 62 | * 63 | * @param {*} path 绝对路径 64 | */ 65 | const compileDist = async (path) => { 66 | const loading = ora(defaultLog('项目开始打包')).start() 67 | loading.spinner = spinner_style.arrow4 68 | shell.cd(path) 69 | const res = await shell.exec(global.SITE_INFO.build) // 执行shell 打包命令 70 | loading.stop() 71 | if (res.code === 0) { 72 | successLog('项目打包成功!') 73 | } else { 74 | errorLog('项目打包失败, 请重试!') 75 | process.exit() // 退出流程 76 | } 77 | } 78 | /** 79 | * 拉代码流程 80 | */ 81 | const gitPull = async () => { 82 | let loading 83 | try { 84 | const newGit = new Git(global.tar) // 实例化git 85 | await newGit.init() // 初始化git 86 | const branchesList = newGit.remoteBranches.map((item) => ({ 87 | name: item.name.split('/').reverse()[0], 88 | value: item.fullName, 89 | })) 90 | const { env } = await select('选择分支名称', branchesList) // 选择分支 91 | const selected = env.split('/').reverse()[0] 92 | loading = ora(defaultLog('正在拉取代码')).start() 93 | loading.spinner = spinner_style.arrow4 94 | await newGit.checkout(selected, env) // 签出分支 95 | await newGit.pull() 96 | successLog('拉取成功') 97 | } catch (error) { 98 | errorLog(error) 99 | errorLog('拉取失败!') 100 | process.exit() // 退出流程 101 | } 102 | if (loading) { 103 | loading.stop() 104 | } 105 | } 106 | module.exports = { 107 | download, 108 | compileDist, 109 | install, 110 | gitPull, 111 | } 112 | -------------------------------------------------------------------------------- /utils/command.js: -------------------------------------------------------------------------------- 1 | const { NodeSSH } = require('node-ssh') 2 | 3 | const ssh = new NodeSSH() 4 | const path = require('path') 5 | const ora = require('ora') // 加载流程动画 6 | const inquirer = require('inquirer') // 命令行交互 7 | const spinner_style = require('./spinner_style') // 加载动画样式 8 | const { defaultLog, errorLog, successLog } = require('./log') // Logs 9 | const CONFIG = require('./../config') 10 | /** 11 | * 12 | * @param {String} command 命令操作 如 ls 13 | * @param {String} branchPath 分支的路径 /data/www/branch1 14 | */ 15 | const runCommand = (command, branchPath = '') => new Promise(async (resolve) => { 16 | const result = await ssh.exec(command, [], { 17 | cwd: `/data/www/${branchPath}`, 18 | }) 19 | // 如果包含这个命令 20 | if (command.indexOf('ls') !== -1) { 21 | resolve({ files: result }) 22 | } else { 23 | resolve(result) 24 | } 25 | }) 26 | /** 27 | * 连接服务器 28 | */ 29 | const connectSSH = async () => { 30 | const loading = ora(defaultLog('正在连接服务器')).start() 31 | loading.spinner = spinner_style.arrow4 32 | try { 33 | await ssh.connect({ 34 | host: CONFIG.SERVER_PATH, 35 | username: CONFIG.SSH_USER, 36 | password: CONFIG.PASSWORD, 37 | }) 38 | successLog('SSH连接成功!') 39 | } catch (error) { 40 | errorLog(error) 41 | errorLog('SSH连接失败!') 42 | process.exit() // 退出流程 43 | } 44 | loading.stop() 45 | } 46 | /** 47 | * 传送文件夹到服务器 48 | * @param {*} branchPath 分支站点目录 49 | */ 50 | const uploadBySSH = async (branchPath) => { 51 | // 连接ssh 52 | await connectSSH() 53 | const PATH = `${CONFIG.PATH}/${branchPath}` // 上传到线上nginx目录的路径 54 | const loading = ora(defaultLog('准备上传文件')).start() 55 | const { files } = await runCommand(`ls ${CONFIG.PATH}`) // 获取站点目录信息 56 | if (files.indexOf(branchPath) !== -1) { 57 | await runCommand('rm -rf *', branchPath) // 如果有则清空目录 58 | } 59 | loading.spinner = spinner_style.arrow4 60 | try { 61 | console.log(PATH) 62 | await putDirectory(`${global.tar}/dist`, `${PATH}/dist`) 63 | successLog(`上传成功~ 地址: ${branchPath}.cloudrd.cn`) 64 | // 将目标目录的dist里面文件移出到目标文件 65 | // 举个例子 假如我们部署在 /test/html 这个目录下 只有一个网站, 那么上传解压后的文件在 /test/html/dist 里 66 | // 需要将 dist 目录下的文件 移出到 /test/html ; 多网站情况, 如 /test/html/h5 或者 /test/html/admin 都和上面同样道理 67 | await runCommand(`mv -f ${PATH}/dist/* ${PATH}`) 68 | await runCommand(`rm -rf ${PATH}/dist`) // 移出后删除 dist 文件夹 69 | ssh.dispose() // 断开连接 70 | } catch (error) { 71 | errorLog(error) 72 | errorLog('上传失败!') 73 | process.exit() // 退出流程 74 | } 75 | loading.stop() 76 | } 77 | /** 78 | * 上传文件夹 79 | * @param {*} local 80 | * @param {*} remote 81 | */ 82 | const putDirectory = async (local, remote) => ssh.putDirectory(local, remote, { 83 | recursive: true, 84 | concurrency: 10, 85 | validate(itemPath) { 86 | const baseName = path.basename(itemPath) 87 | return baseName.substr(0, 1) !== '.' && baseName !== 'node_modules' 88 | }, 89 | tick(localPath, remotePath, error) { 90 | if (error) { 91 | failed.push(localPath) 92 | } else { 93 | successful.push(localPath) 94 | } 95 | }, 96 | }) 97 | /** 98 | * 选择 99 | * @param {*} type 100 | * @param {*} message 101 | * @param {*} choices 102 | * @returns 103 | */ 104 | const select = (message = '选择站点', choices = []) => new Promise((resolve, reject) => { 105 | inquirer 106 | .prompt([ 107 | { 108 | type: 'list', 109 | message, 110 | name: 'env', 111 | choices, 112 | }, 113 | ]) 114 | .then((answers) => { 115 | if (answers) { 116 | resolve(answers) 117 | } else { 118 | reject('配置项有误') 119 | } 120 | }) 121 | }) 122 | module.exports = { 123 | runCommand, 124 | connectSSH, 125 | select, 126 | uploadBySSH, 127 | } 128 | -------------------------------------------------------------------------------- /utils/disk.js: -------------------------------------------------------------------------------- 1 | const diskinfo = require('diskinfo') 2 | 3 | const getMaxDiskInfo = () => new Promise((resolve, reject) => { 4 | diskinfo.getDrives((err, aDrives) => { 5 | const maxDiskInfo = aDrives.reduce((prev, cur) => (prev.available > cur.available ? prev : cur)) 6 | if (maxDiskInfo) { 7 | resolve({ code: 0, data: maxDiskInfo, message: 'success' }) 8 | } 9 | if (err || !maxDiskInfo) { 10 | reject(new Error({ code: -1, message: err })) 11 | } 12 | }) 13 | }) 14 | exports.getMaxDiskInfo = getMaxDiskInfo 15 | -------------------------------------------------------------------------------- /utils/git.js: -------------------------------------------------------------------------------- 1 | const { Clone, Repository, Reference, Branch } = require('nodegit') 2 | 3 | class Git { 4 | constructor(target) { 5 | if (!Git.instance) { 6 | // 将 this 挂载到 Git 这个类的 instance 属性上实现单例模式 7 | this.target = target // 项目.git路径 8 | Git.instance = this 9 | } 10 | return Git.instance 11 | } 12 | 13 | /** 14 | * 初始化 15 | */ 16 | init() { 17 | return new Promise(async (resolve, reject) => { 18 | try { 19 | this.repository = await Repository.open(global.tar) // 获取存储库 20 | this.branchs = await this.getReferences() // 获取分支的实例信息 21 | this.currentBranch = await this.getCurrentBranch() 22 | this.remoteBranches = this.getRemoteBranches() // 获取远程分支的信息 23 | this.localBranches = this.getLocalBranches() // 获取远程分支的信息 24 | this.origins = this.getOrigins(this.remoteBranches) // 获取所有分支的来源信息 25 | this.curBranchInfo = this.getBranchInfo( 26 | this.remoteBranches, 27 | this.currentBranch.name().split('/').reverse()[0] 28 | ) // 获取当前分支的信息 29 | this.curOriginInfo = await this.getCurrentOrigin() // 获取当前分支的来源信息 30 | resolve('初始化成功') 31 | } catch (error) { 32 | reject(error) 33 | } 34 | }) 35 | } 36 | 37 | /** 38 | * 签出分支 39 | * @param {*} branchName 分支名 40 | * @param {*} branchFullName 分支全名/origin/xxx 41 | */ 42 | checkout(branchName, branchFullName) { 43 | // 如果本地分支有所选的分支则直接切换、无则迁出远程分支 44 | return new Promise(async (resolve, reject) => { 45 | try { 46 | const flag = this.localBranches.some((item) => item.name === branchName) 47 | if (flag) { 48 | await this.checkoutBranch(branchName) 49 | } else { 50 | await this.checkoutRemoteBranch( 51 | branchName, 52 | branchFullName.replace(/refs\/remotes\//, '') 53 | ) // 切换分支 54 | } 55 | this.currentBranch = await this.getCurrentBranch() 56 | this.curBranchInfo = this.getBranchInfo( 57 | this.remoteBranches, 58 | this.currentBranch.name().split('/').reverse()[0] 59 | ) // 获取当前分支的信息 60 | this.curOriginInfo = await this.getCurrentOrigin() // 获取当前分支的来源信息 61 | // 获取当前分支的来源信息 62 | resolve('签出成功') 63 | } catch (error) { 64 | reject('签出失败') 65 | } 66 | }) 67 | } 68 | 69 | /** 70 | * 拉取当前分支代码 71 | * @param {*} origin 当前分支的信息 72 | * @param {*} branch 当前分支的原点信息 73 | * @returns 74 | */ 75 | pull() { 76 | // == 77 | const branch = this.curBranchInfo.name.split('/').reverse()[0] 78 | const { origin } = this.getOriginInfo( 79 | this.origins, 80 | this.curOriginInfo && this.curOriginInfo.name() 81 | ) 82 | return this.repository.fetch(origin).then(() => this.repository.mergeBranches(branch, `${origin}/${branch}`)) 83 | } 84 | 85 | /** 86 | * 切分支 87 | * @param {*} branchName 88 | * @returns 89 | */ 90 | checkoutBranch(branchName) { 91 | return this.repository.checkoutBranch(branchName) 92 | } 93 | 94 | /** 95 | * 切分支 96 | * @param {*} branchName 97 | * @param {*} branchFullName 98 | * @returns 99 | */ 100 | checkoutRemoteBranch(branchName, branchFullName) { 101 | const create = (name, fullName, sha, upstreamName) => { 102 | let reference 103 | return Reference.create(this.repository, fullName, sha, 0, '') 104 | .then((ref) => { 105 | reference = ref 106 | return Branch.setUpstream(reference, upstreamName) 107 | }) 108 | .then(() => this.repository.checkoutBranch(name)) 109 | } 110 | return this.repository.getReference(branchFullName).then((reference) => create( 111 | branchName, 112 | `refs/heads/${branchName}`, 113 | reference.target().tostrS(), 114 | branchFullName 115 | )) 116 | } 117 | 118 | /** 119 | * 获取默认分支 120 | * @returns 121 | */ 122 | getCurrentBranch() { 123 | return this.repository.getCurrentBranch(this.repository) 124 | } 125 | 126 | /** 127 | * 获取默认分支的来源信息 128 | * @returns 129 | */ 130 | getCurrentOrigin() { 131 | return Branch.upstream(this.currentBranch) 132 | } 133 | 134 | /** 135 | * 获取所有分支的实例 136 | * @returns 137 | */ 138 | getReferences() { 139 | return new Promise((resolve, reject) => { 140 | this.repository.getReferences().then((arrayReference) => { 141 | const branches = arrayReference.filter((reference) => ( 142 | reference.name().indexOf('refs/heads') !== -1 143 | || reference.name().indexOf('refs/remotes') !== -1 144 | )) 145 | resolve(branches) 146 | }) 147 | }) 148 | } 149 | 150 | /** 151 | * 获取指定分支信息 152 | * @param {*} branches 153 | * @param {*} branch 154 | */ 155 | getBranchInfo(branches = [], branch = 'master') { 156 | let result = {} 157 | for (const obj of branches) { 158 | if (obj.fullName.indexOf(branch) != -1) { 159 | result = obj 160 | } 161 | } 162 | return result 163 | } 164 | 165 | /** 166 | * 获取远程分支列表 167 | * @param {*} branches 168 | */ 169 | getRemoteBranches(branches = this.branchs) { 170 | let remoteBranches = branches.filter((branch) => branch.name().indexOf('refs/remotes') != -1) 171 | remoteBranches = remoteBranches.map((branch) => ({ 172 | name: branch.name().replace(/refs\/remotes\//g, ''), 173 | path: branch.name(), 174 | isHead: branch.isHead(), 175 | fullName: branch.name(), 176 | })) 177 | return remoteBranches 178 | } 179 | 180 | /** 181 | * 获取本地分支列表 182 | * @param {*} branches 183 | */ 184 | getLocalBranches(branches = this.branchs) { 185 | let localBranches = branches.filter((branch) => branch.name().indexOf('refs/heads') != -1) 186 | localBranches = localBranches.map((branch) => ({ 187 | name: branch.name().replace(/refs\/heads\//g, ''), 188 | path: branch.name(), 189 | isHead: branch.isHead(), 190 | fullName: branch.name(), 191 | })) 192 | return localBranches 193 | } 194 | 195 | /** 196 | * 获取指定原点的信息 197 | * @param {*} origins 198 | * @param {*} origin 199 | */ 200 | getOriginInfo(origins = [], origin = 'origin') { 201 | let result = {} 202 | for (const obj of origins) { 203 | if (origin.indexOf(obj.origin) != -1) { 204 | result = obj 205 | } 206 | } 207 | return result 208 | } 209 | 210 | /** 211 | * 获取所有的来源信息 212 | * @param {*} remoteBranches 213 | */ 214 | getOrigins(remoteBranches = []) { 215 | const origins = [] 216 | remoteBranches.map((branch) => { 217 | const remoteOrigin = branch.path.split('/')[2] 218 | const exist = (origins, origin) => { 219 | let flag = false 220 | origins.map((value) => { 221 | if (value.origin === origin) { 222 | flag = true 223 | } 224 | }) 225 | return flag 226 | } 227 | if (!exist(origins, remoteOrigin)) { 228 | origins.push({ 229 | origin: remoteOrigin, 230 | branches: [branch], 231 | }) 232 | } else { 233 | origins.map((origin) => { 234 | const remoteOrigin = branch.path.split('/')[2] 235 | if (remoteOrigin === origin.origin) { 236 | origin.branches.push(branch) 237 | } 238 | }) 239 | } 240 | }) 241 | return origins 242 | } 243 | 244 | /** 245 | * 克隆 246 | * @param {*} url 247 | * @param {*} local_path 248 | */ 249 | static clone(url, local_path) { 250 | return new Promise((resolve, reject) => { 251 | Clone(url, local_path) 252 | .then((repository) => { 253 | resolve({ code: 0, message: '下载成功' }) 254 | }) 255 | .catch((error) => { 256 | reject('下载失败') 257 | }) 258 | }) 259 | } 260 | } 261 | module.exports = Git 262 | -------------------------------------------------------------------------------- /utils/log.js: -------------------------------------------------------------------------------- 1 | const chalk = require('chalk') 2 | // 命令行颜色 3 | const defaultLog = (log) => 4 | console.log(chalk.blue(`---------------- ${log} ----------------`)) 5 | const errorLog = (log) => 6 | console.log(chalk.red(`---------------- ${log} ----------------`)) 7 | const successLog = (log) => 8 | console.log(chalk.green(`---------------- ${log} ----------------`)) 9 | module.exports = { 10 | defaultLog, 11 | errorLog, 12 | successLog, 13 | } 14 | -------------------------------------------------------------------------------- /utils/node_app.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | /** 3 | * 判断给定的path是否是目录存在 4 | * @param {*} path 路径 5 | */ 6 | const hasCatalog = function (path) { 7 | return new Promise((resolve) => { 8 | fs.access(path, fs.constants.F_OK, (err) => { 9 | resolve(!err) 10 | }) 11 | }) 12 | } 13 | /** 14 | * 读取文件夹下是否有文件 15 | * @param {*} path 16 | */ 17 | const readdir = function (path) { 18 | return new Promise((resolve, reject) => { 19 | fs.readdir(path, (err, files) => { 20 | if (!err) { 21 | resolve(files) 22 | } else { 23 | reject(new Error('读取失败')) 24 | } 25 | }) 26 | }) 27 | } 28 | /** 29 | * 创建文件夹--递归创建 30 | * @param {*} path 31 | */ 32 | const mkdir = function (path) { 33 | return new Promise((resolve, reject) => { 34 | fs.mkdir( 35 | path, 36 | { 37 | recursive: true, // 是否递归,默认false 38 | }, 39 | (err) => { 40 | // 创建完成 41 | if (!err) { 42 | resolve('创建成功') 43 | } else { 44 | reject(new Error('创建失败')) 45 | } 46 | } 47 | ) 48 | }) 49 | } 50 | module.exports = { 51 | hasCatalog, 52 | readdir, 53 | mkdir, 54 | } 55 | -------------------------------------------------------------------------------- /utils/spinner_style.js: -------------------------------------------------------------------------------- 1 | const style = { 2 | dots: { 3 | interval: 80, 4 | frames: [ 5 | '⠋', 6 | '⠙', 7 | '⠹', 8 | '⠸', 9 | '⠼', 10 | '⠴', 11 | '⠦', 12 | '⠧', 13 | '⠇', 14 | '⠏' 15 | ] 16 | }, 17 | dots2: { 18 | interval: 80, 19 | frames: [ 20 | '⣾', 21 | '⣽', 22 | '⣻', 23 | '⢿', 24 | '⡿', 25 | '⣟', 26 | '⣯', 27 | '⣷' 28 | ] 29 | }, 30 | dots3: { 31 | interval: 80, 32 | frames: [ 33 | '⠋', 34 | '⠙', 35 | '⠚', 36 | '⠞', 37 | '⠖', 38 | '⠦', 39 | '⠴', 40 | '⠲', 41 | '⠳', 42 | '⠓' 43 | ] 44 | }, 45 | dots4: { 46 | interval: 80, 47 | frames: [ 48 | '⠄', 49 | '⠆', 50 | '⠇', 51 | '⠋', 52 | '⠙', 53 | '⠸', 54 | '⠰', 55 | '⠠', 56 | '⠰', 57 | '⠸', 58 | '⠙', 59 | '⠋', 60 | '⠇', 61 | '⠆' 62 | ] 63 | }, 64 | dots5: { 65 | interval: 80, 66 | frames: [ 67 | '⠋', 68 | '⠙', 69 | '⠚', 70 | '⠒', 71 | '⠂', 72 | '⠂', 73 | '⠒', 74 | '⠲', 75 | '⠴', 76 | '⠦', 77 | '⠖', 78 | '⠒', 79 | '⠐', 80 | '⠐', 81 | '⠒', 82 | '⠓', 83 | '⠋' 84 | ] 85 | }, 86 | dots6: { 87 | interval: 80, 88 | frames: [ 89 | '⠁', 90 | '⠉', 91 | '⠙', 92 | '⠚', 93 | '⠒', 94 | '⠂', 95 | '⠂', 96 | '⠒', 97 | '⠲', 98 | '⠴', 99 | '⠤', 100 | '⠄', 101 | '⠄', 102 | '⠤', 103 | '⠴', 104 | '⠲', 105 | '⠒', 106 | '⠂', 107 | '⠂', 108 | '⠒', 109 | '⠚', 110 | '⠙', 111 | '⠉', 112 | '⠁' 113 | ] 114 | }, 115 | dots7: { 116 | interval: 80, 117 | frames: [ 118 | '⠈', 119 | '⠉', 120 | '⠋', 121 | '⠓', 122 | '⠒', 123 | '⠐', 124 | '⠐', 125 | '⠒', 126 | '⠖', 127 | '⠦', 128 | '⠤', 129 | '⠠', 130 | '⠠', 131 | '⠤', 132 | '⠦', 133 | '⠖', 134 | '⠒', 135 | '⠐', 136 | '⠐', 137 | '⠒', 138 | '⠓', 139 | '⠋', 140 | '⠉', 141 | '⠈' 142 | ] 143 | }, 144 | dots8: { 145 | interval: 80, 146 | frames: [ 147 | '⠁', 148 | '⠁', 149 | '⠉', 150 | '⠙', 151 | '⠚', 152 | '⠒', 153 | '⠂', 154 | '⠂', 155 | '⠒', 156 | '⠲', 157 | '⠴', 158 | '⠤', 159 | '⠄', 160 | '⠄', 161 | '⠤', 162 | '⠠', 163 | '⠠', 164 | '⠤', 165 | '⠦', 166 | '⠖', 167 | '⠒', 168 | '⠐', 169 | '⠐', 170 | '⠒', 171 | '⠓', 172 | '⠋', 173 | '⠉', 174 | '⠈', 175 | '⠈' 176 | ] 177 | }, 178 | dots9: { 179 | interval: 80, 180 | frames: [ 181 | '⢹', 182 | '⢺', 183 | '⢼', 184 | '⣸', 185 | '⣇', 186 | '⡧', 187 | '⡗', 188 | '⡏' 189 | ] 190 | }, 191 | dots10: { 192 | interval: 80, 193 | frames: [ 194 | '⢄', 195 | '⢂', 196 | '⢁', 197 | '⡁', 198 | '⡈', 199 | '⡐', 200 | '⡠' 201 | ] 202 | }, 203 | dots11: { 204 | interval: 100, 205 | frames: [ 206 | '⠁', 207 | '⠂', 208 | '⠄', 209 | '⡀', 210 | '⢀', 211 | '⠠', 212 | '⠐', 213 | '⠈' 214 | ] 215 | }, 216 | dots12: { 217 | interval: 80, 218 | frames: [ 219 | '⢀⠀', 220 | '⡀⠀', 221 | '⠄⠀', 222 | '⢂⠀', 223 | '⡂⠀', 224 | '⠅⠀', 225 | '⢃⠀', 226 | '⡃⠀', 227 | '⠍⠀', 228 | '⢋⠀', 229 | '⡋⠀', 230 | '⠍⠁', 231 | '⢋⠁', 232 | '⡋⠁', 233 | '⠍⠉', 234 | '⠋⠉', 235 | '⠋⠉', 236 | '⠉⠙', 237 | '⠉⠙', 238 | '⠉⠩', 239 | '⠈⢙', 240 | '⠈⡙', 241 | '⢈⠩', 242 | '⡀⢙', 243 | '⠄⡙', 244 | '⢂⠩', 245 | '⡂⢘', 246 | '⠅⡘', 247 | '⢃⠨', 248 | '⡃⢐', 249 | '⠍⡐', 250 | '⢋⠠', 251 | '⡋⢀', 252 | '⠍⡁', 253 | '⢋⠁', 254 | '⡋⠁', 255 | '⠍⠉', 256 | '⠋⠉', 257 | '⠋⠉', 258 | '⠉⠙', 259 | '⠉⠙', 260 | '⠉⠩', 261 | '⠈⢙', 262 | '⠈⡙', 263 | '⠈⠩', 264 | '⠀⢙', 265 | '⠀⡙', 266 | '⠀⠩', 267 | '⠀⢘', 268 | '⠀⡘', 269 | '⠀⠨', 270 | '⠀⢐', 271 | '⠀⡐', 272 | '⠀⠠', 273 | '⠀⢀', 274 | '⠀⡀' 275 | ] 276 | }, 277 | line: { 278 | interval: 130, 279 | frames: [ 280 | '-', 281 | '\\', 282 | '|', 283 | '/' 284 | ] 285 | }, 286 | line2: { 287 | interval: 100, 288 | frames: [ 289 | '⠂', 290 | '-', 291 | '–', 292 | '—', 293 | '–', 294 | '-' 295 | ] 296 | }, 297 | pipe: { 298 | interval: 100, 299 | frames: [ 300 | '┤', 301 | '┘', 302 | '┴', 303 | '└', 304 | '├', 305 | '┌', 306 | '┬', 307 | '┐' 308 | ] 309 | }, 310 | simpleDots: { 311 | interval: 400, 312 | frames: [ 313 | '. ', 314 | '.. ', 315 | '...', 316 | ' ' 317 | ] 318 | }, 319 | simpleDotsScrolling: { 320 | interval: 200, 321 | frames: [ 322 | '. ', 323 | '.. ', 324 | '...', 325 | ' ..', 326 | ' .', 327 | ' ' 328 | ] 329 | }, 330 | star: { 331 | interval: 70, 332 | frames: [ 333 | '✶', 334 | '✸', 335 | '✹', 336 | '✺', 337 | '✹', 338 | '✷' 339 | ] 340 | }, 341 | star2: { 342 | interval: 80, 343 | frames: [ 344 | '+', 345 | 'x', 346 | '*' 347 | ] 348 | }, 349 | flip: { 350 | interval: 70, 351 | frames: [ 352 | '_', 353 | '_', 354 | '_', 355 | '-', 356 | '`', 357 | '`', 358 | "'", 359 | '´', 360 | '-', 361 | '_', 362 | '_', 363 | '_' 364 | ] 365 | }, 366 | hamburger: { 367 | interval: 100, 368 | frames: [ 369 | '☱', 370 | '☲', 371 | '☴' 372 | ] 373 | }, 374 | growVertical: { 375 | interval: 120, 376 | frames: [ 377 | '▁', 378 | '▃', 379 | '▄', 380 | '▅', 381 | '▆', 382 | '▇', 383 | '▆', 384 | '▅', 385 | '▄', 386 | '▃' 387 | ] 388 | }, 389 | growHorizontal: { 390 | interval: 120, 391 | frames: [ 392 | '▏', 393 | '▎', 394 | '▍', 395 | '▌', 396 | '▋', 397 | '▊', 398 | '▉', 399 | '▊', 400 | '▋', 401 | '▌', 402 | '▍', 403 | '▎' 404 | ] 405 | }, 406 | balloon: { 407 | interval: 140, 408 | frames: [ 409 | ' ', 410 | '.', 411 | 'o', 412 | 'O', 413 | '@', 414 | '*', 415 | ' ' 416 | ] 417 | }, 418 | balloon2: { 419 | interval: 120, 420 | frames: [ 421 | '.', 422 | 'o', 423 | 'O', 424 | '°', 425 | 'O', 426 | 'o', 427 | '.' 428 | ] 429 | }, 430 | noise: { 431 | interval: 100, 432 | frames: [ 433 | '▓', 434 | '▒', 435 | '░' 436 | ] 437 | }, 438 | bounce: { 439 | interval: 120, 440 | frames: [ 441 | '⠁', 442 | '⠂', 443 | '⠄', 444 | '⠂' 445 | ] 446 | }, 447 | boxBounce: { 448 | interval: 120, 449 | frames: [ 450 | '▖', 451 | '▘', 452 | '▝', 453 | '▗' 454 | ] 455 | }, 456 | boxBounce2: { 457 | interval: 100, 458 | frames: [ 459 | '▌', 460 | '▀', 461 | '▐', 462 | '▄' 463 | ] 464 | }, 465 | triangle: { 466 | interval: 50, 467 | frames: [ 468 | '◢', 469 | '◣', 470 | '◤', 471 | '◥' 472 | ] 473 | }, 474 | arc: { 475 | interval: 100, 476 | frames: [ 477 | '◜', 478 | '◠', 479 | '◝', 480 | '◞', 481 | '◡', 482 | '◟' 483 | ] 484 | }, 485 | circle: { 486 | interval: 120, 487 | frames: [ 488 | '◡', 489 | '⊙', 490 | '◠' 491 | ] 492 | }, 493 | squareCorners: { 494 | interval: 180, 495 | frames: [ 496 | '◰', 497 | '◳', 498 | '◲', 499 | '◱' 500 | ] 501 | }, 502 | circleQuarters: { 503 | interval: 120, 504 | frames: [ 505 | '◴', 506 | '◷', 507 | '◶', 508 | '◵' 509 | ] 510 | }, 511 | circleHalves: { 512 | interval: 50, 513 | frames: [ 514 | '◐', 515 | '◓', 516 | '◑', 517 | '◒' 518 | ] 519 | }, 520 | squish: { 521 | interval: 100, 522 | frames: [ 523 | '╫', 524 | '╪' 525 | ] 526 | }, 527 | toggle: { 528 | interval: 250, 529 | frames: [ 530 | '⊶', 531 | '⊷' 532 | ] 533 | }, 534 | toggle2: { 535 | interval: 80, 536 | frames: [ 537 | '▫', 538 | '▪' 539 | ] 540 | }, 541 | toggle3: { 542 | interval: 120, 543 | frames: [ 544 | '□', 545 | '■' 546 | ] 547 | }, 548 | toggle4: { 549 | interval: 100, 550 | frames: [ 551 | '■', 552 | '□', 553 | '▪', 554 | '▫' 555 | ] 556 | }, 557 | toggle5: { 558 | interval: 100, 559 | frames: [ 560 | '▮', 561 | '▯' 562 | ] 563 | }, 564 | toggle6: { 565 | interval: 300, 566 | frames: [ 567 | 'ဝ', 568 | '၀' 569 | ] 570 | }, 571 | toggle7: { 572 | interval: 80, 573 | frames: [ 574 | '⦾', 575 | '⦿' 576 | ] 577 | }, 578 | toggle8: { 579 | interval: 100, 580 | frames: [ 581 | '◍', 582 | '◌' 583 | ] 584 | }, 585 | toggle9: { 586 | interval: 100, 587 | frames: [ 588 | '◉', 589 | '◎' 590 | ] 591 | }, 592 | toggle10: { 593 | interval: 100, 594 | frames: [ 595 | '㊂', 596 | '㊀', 597 | '㊁' 598 | ] 599 | }, 600 | toggle11: { 601 | interval: 50, 602 | frames: [ 603 | '⧇', 604 | '⧆' 605 | ] 606 | }, 607 | toggle12: { 608 | interval: 120, 609 | frames: [ 610 | '☗', 611 | '☖' 612 | ] 613 | }, 614 | toggle13: { 615 | interval: 80, 616 | frames: [ 617 | '=', 618 | '*', 619 | '-' 620 | ] 621 | }, 622 | arrow: { 623 | interval: 100, 624 | frames: [ 625 | '←', 626 | '↖', 627 | '↑', 628 | '↗', 629 | '→', 630 | '↘', 631 | '↓', 632 | '↙' 633 | ] 634 | }, 635 | arrow2: { 636 | interval: 80, 637 | frames: [ 638 | '⬆️ ', 639 | '↗️ ', 640 | '➡️ ', 641 | '↘️ ', 642 | '⬇️ ', 643 | '↙️ ', 644 | '⬅️ ', 645 | '↖️ ' 646 | ] 647 | }, 648 | arrow3: { 649 | interval: 120, 650 | frames: [ 651 | '▹▹▹▹▹', 652 | '▸▹▹▹▹', 653 | '▹▸▹▹▹', 654 | '▹▹▸▹▹', 655 | '▹▹▹▸▹', 656 | '▹▹▹▹▸' 657 | ] 658 | }, 659 | arrow4: { 660 | interval: 80, 661 | frames: [ 662 | '[> ]', 663 | '[>>> ]', 664 | '[>>>>> ]', 665 | '[>>>>>>> ]', 666 | '[>>>>>>>>> ]', 667 | '[>>>>>>>>>>> ]', 668 | '[>>>>>>>>>>>>>]' 669 | ] 670 | }, 671 | bouncingBar: { 672 | interval: 80, 673 | frames: [ 674 | '[ ]', 675 | '[= ]', 676 | '[== ]', 677 | '[=== ]', 678 | '[ ===]', 679 | '[ ==]', 680 | '[ =]', 681 | '[ ]', 682 | '[ =]', 683 | '[ ==]', 684 | '[ ===]', 685 | '[====]', 686 | '[=== ]', 687 | '[== ]', 688 | '[= ]' 689 | ] 690 | }, 691 | bouncingBall: { 692 | interval: 80, 693 | frames: [ 694 | '( ● )', 695 | '( ● )', 696 | '( ● )', 697 | '( ● )', 698 | '( ●)', 699 | '( ● )', 700 | '( ● )', 701 | '( ● )', 702 | '( ● )', 703 | '(● )' 704 | ] 705 | }, 706 | smiley: { 707 | interval: 200, 708 | frames: [ 709 | '😄 ', 710 | '😝 ' 711 | ] 712 | }, 713 | monkey: { 714 | interval: 300, 715 | frames: [ 716 | '🙈 ', 717 | '🙈 ', 718 | '🙉 ', 719 | '🙊 ' 720 | ] 721 | }, 722 | hearts: { 723 | interval: 100, 724 | frames: [ 725 | '💛 ', 726 | '💙 ', 727 | '💜 ', 728 | '💚 ', 729 | '❤️ ' 730 | ] 731 | }, 732 | clock: { 733 | interval: 100, 734 | frames: [ 735 | '🕛 ', 736 | '🕐 ', 737 | '🕑 ', 738 | '🕒 ', 739 | '🕓 ', 740 | '🕔 ', 741 | '🕕 ', 742 | '🕖 ', 743 | '🕗 ', 744 | '🕘 ', 745 | '🕙 ', 746 | '🕚 ' 747 | ] 748 | }, 749 | earth: { 750 | interval: 180, 751 | frames: [ 752 | '🌍 ', 753 | '🌎 ', 754 | '🌏 ' 755 | ] 756 | }, 757 | moon: { 758 | interval: 80, 759 | frames: [ 760 | '🌑 ', 761 | '🌒 ', 762 | '🌓 ', 763 | '🌔 ', 764 | '🌕 ', 765 | '🌖 ', 766 | '🌗 ', 767 | '🌘 ' 768 | ] 769 | }, 770 | runner: { 771 | interval: 140, 772 | frames: [ 773 | '🚶 ', 774 | '🏃 ' 775 | ] 776 | }, 777 | pong: { 778 | interval: 80, 779 | frames: [ 780 | '▐⠂ ▌', 781 | '▐⠈ ▌', 782 | '▐ ⠂ ▌', 783 | '▐ ⠠ ▌', 784 | '▐ ⡀ ▌', 785 | '▐ ⠠ ▌', 786 | '▐ ⠂ ▌', 787 | '▐ ⠈ ▌', 788 | '▐ ⠂ ▌', 789 | '▐ ⠠ ▌', 790 | '▐ ⡀ ▌', 791 | '▐ ⠠ ▌', 792 | '▐ ⠂ ▌', 793 | '▐ ⠈ ▌', 794 | '▐ ⠂▌', 795 | '▐ ⠠▌', 796 | '▐ ⡀▌', 797 | '▐ ⠠ ▌', 798 | '▐ ⠂ ▌', 799 | '▐ ⠈ ▌', 800 | '▐ ⠂ ▌', 801 | '▐ ⠠ ▌', 802 | '▐ ⡀ ▌', 803 | '▐ ⠠ ▌', 804 | '▐ ⠂ ▌', 805 | '▐ ⠈ ▌', 806 | '▐ ⠂ ▌', 807 | '▐ ⠠ ▌', 808 | '▐ ⡀ ▌', 809 | '▐⠠ ▌' 810 | ] 811 | }, 812 | shark: { 813 | interval: 120, 814 | frames: [ 815 | '▐|\\____________▌', 816 | '▐_|\\___________▌', 817 | '▐__|\\__________▌', 818 | '▐___|\\_________▌', 819 | '▐____|\\________▌', 820 | '▐_____|\\_______▌', 821 | '▐______|\\______▌', 822 | '▐_______|\\_____▌', 823 | '▐________|\\____▌', 824 | '▐_________|\\___▌', 825 | '▐__________|\\__▌', 826 | '▐___________|\\_▌', 827 | '▐____________|\\▌', 828 | '▐____________/|▌', 829 | '▐___________/|_▌', 830 | '▐__________/|__▌', 831 | '▐_________/|___▌', 832 | '▐________/|____▌', 833 | '▐_______/|_____▌', 834 | '▐______/|______▌', 835 | '▐_____/|_______▌', 836 | '▐____/|________▌', 837 | '▐___/|_________▌', 838 | '▐__/|__________▌', 839 | '▐_/|___________▌', 840 | '▐/|____________▌' 841 | ] 842 | }, 843 | dqpb: { 844 | interval: 100, 845 | frames: [ 846 | 'd', 847 | 'q', 848 | 'p', 849 | 'b' 850 | ] 851 | }, 852 | weather: { 853 | interval: 100, 854 | frames: [ 855 | '☀️ ', 856 | '☀️ ', 857 | '☀️ ', 858 | '🌤 ', 859 | '⛅️ ', 860 | '🌥 ', 861 | '☁️ ', 862 | '🌧 ', 863 | '🌨 ', 864 | '🌧 ', 865 | '🌨 ', 866 | '🌧 ', 867 | '🌨 ', 868 | '⛈ ', 869 | '🌨 ', 870 | '🌧 ', 871 | '🌨 ', 872 | '☁️ ', 873 | '🌥 ', 874 | '⛅️ ', 875 | '🌤 ', 876 | '☀️ ', 877 | '☀️ ' 878 | ] 879 | }, 880 | christmas: { 881 | interval: 400, 882 | frames: [ 883 | '🌲', 884 | '🎄' 885 | ] 886 | }, 887 | grenade: { 888 | interval: 80, 889 | frames: [ 890 | '، ', 891 | '′ ', 892 | ' ´ ', 893 | ' ‾ ', 894 | ' ⸌', 895 | ' ⸊', 896 | ' |', 897 | ' ⁎', 898 | ' ⁕', 899 | ' ෴ ', 900 | ' ⁓', 901 | ' ', 902 | ' ', 903 | ' ' 904 | ] 905 | }, 906 | point: { 907 | interval: 125, 908 | frames: [ 909 | '∙∙∙', 910 | '●∙∙', 911 | '∙●∙', 912 | '∙∙●', 913 | '∙∙∙' 914 | ] 915 | }, 916 | layer: { 917 | interval: 150, 918 | frames: [ 919 | '-', 920 | '=', 921 | '≡' 922 | ] 923 | }, 924 | betaWave: { 925 | interval: 80, 926 | frames: [ 927 | 'ρββββββ', 928 | 'βρβββββ', 929 | 'ββρββββ', 930 | 'βββρβββ', 931 | 'ββββρββ', 932 | 'βββββρβ', 933 | 'ββββββρ' 934 | ] 935 | } 936 | } 937 | module.exports = style 938 | --------------------------------------------------------------------------------