├── examples ├── assets │ ├── a.js │ ├── b.js │ ├── c.js │ ├── demo1 │ │ ├── demo1_a.js │ │ ├── demo1_a.md │ │ ├── demo1_b.js │ │ └── demo1_b.md │ ├── demo2 │ │ ├── demo2_a.js │ │ ├── demo2_a.md │ │ ├── demo2_b.js │ │ └── demo2_b.md │ ├── a.md │ ├── b.md │ └── c.md ├── basic │ ├── .gitignore │ ├── src │ │ └── main.ts │ └── package.json ├── suziprc │ ├── package.json │ └── .suziprc.json ├── README.md └── pkg │ └── package.json ├── pnpm-workspace.yaml ├── .eslintignore ├── .npmrc ├── src ├── index.ts ├── y18n.ts ├── cli │ ├── index.ts │ └── zip.ts ├── types.ts ├── util.ts └── archive.ts ├── .gitignore ├── bin └── suzip.js ├── .suziprc.json ├── .vscode ├── settings.json └── i18n-ally-custom-framework.yml ├── .eslintrc ├── .github └── workflows │ ├── push-release.yml │ └── release.yml ├── tsconfig.json ├── LICENSE ├── locales ├── zh_CN.json └── en.json ├── package.json ├── README_ZH.md ├── README.md └── pnpm-lock.yaml /examples/assets/a.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/b.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/c.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo1/demo1_a.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo1/demo1_a.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo1/demo1_b.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo1/demo1_b.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo2/demo2_a.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo2/demo2_a.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo2/demo2_b.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/assets/demo2/demo2_b.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - examples/* 3 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | example 2 | node_modules 3 | .output 4 | dist 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist = true 2 | ignore-workspace-root-check = true -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './archive' 2 | export * from './types' 3 | -------------------------------------------------------------------------------- /examples/basic/.gitignore: -------------------------------------------------------------------------------- 1 | src 2 | !src/main.ts 3 | .output 4 | node_modules 5 | -------------------------------------------------------------------------------- /examples/assets/a.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliuq/suzip/master/examples/assets/a.md -------------------------------------------------------------------------------- /examples/assets/b.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliuq/suzip/master/examples/assets/b.md -------------------------------------------------------------------------------- /examples/assets/c.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliuq/suzip/master/examples/assets/c.md -------------------------------------------------------------------------------- /examples/basic/src/main.ts: -------------------------------------------------------------------------------- 1 | import { zip } from 'suzip' 2 | 3 | zip({ 4 | output: '.output/test.zip', 5 | cwd: '../assets', 6 | }) 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __test__ 2 | test 3 | node_modules 4 | lib 5 | dist 6 | note.md 7 | *.zip 8 | *.tar.gz 9 | *.tar 10 | .output.json 11 | *.log 12 | .output 13 | -------------------------------------------------------------------------------- /bin/suzip.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict' 3 | if (typeof __dirname !== 'undefined') 4 | require('../dist/cli.cjs') 5 | else import('../dist/cli.mjs') 6 | -------------------------------------------------------------------------------- /.suziprc.json: -------------------------------------------------------------------------------- 1 | { 2 | "zip": { 3 | "output": "./.output/source.json", 4 | "cwd": "./", 5 | "ignoreFile": "./.gitignore", 6 | "dot": true 7 | } 8 | } 9 | 10 | -------------------------------------------------------------------------------- /examples/suziprc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "suziprc", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "suzip -h", 7 | "zip": "suzip" 8 | }, 9 | "dependencies": { 10 | "suzip": "workspace:*" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "i18n-ally.localesPaths": [ 3 | "locales" 4 | ], 5 | "i18n-ally.regex.key": ".*?", 6 | "i18n-ally.enabledFrameworks": [ 7 | "custom" 8 | ], 9 | "i18n-ally.keystyle": "flat", 10 | "i18n-ally.sourceLanguage": "zh" 11 | } 12 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@aliuq", 3 | "overrides": [ 4 | { 5 | "files": ["*locales*/*.json"], 6 | "rules": { 7 | "jsonc/sort-keys": ["error", "asc", { 8 | "caseSensitive": true, 9 | "natural": true 10 | }] 11 | } 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /.github/workflows/push-release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: push 4 | 5 | jobs: 6 | release: 7 | runs-on: ubuntu-latest 8 | if: | 9 | contains(github.event.head_commit.message, 'CI: push release') 10 | steps: 11 | - uses: actions/checkout@v2 12 | with: 13 | fetch-depth: 0 14 | - run: npx conventional-github-releaser -p angular 15 | env: 16 | CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{secrets.GITHUB_TOKEN}} 17 | -------------------------------------------------------------------------------- /src/y18n.ts: -------------------------------------------------------------------------------- 1 | import path from 'path' 2 | // @ts-expect-error global 3 | import _y18n from 'y18n' 4 | 5 | export default function y18n(locale?: string) { 6 | return _y18n({ 7 | directory: path.join(__dirname, '../locales'), 8 | updateFiles: false, 9 | locale: locale || getLocale(), 10 | }) 11 | } 12 | 13 | function getLocale() { 14 | const locale = process.env.LC_ALL || process.env.LC_MESSAGES || process.env.LANG || process.env.LANGUAGE || 'en_US' 15 | return locale.replace(/[.:].*/, '') 16 | } 17 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "ESNext", 4 | "target": "es2020", 5 | "lib": [ 6 | "ESNext", 7 | "DOM" 8 | ], 9 | "esModuleInterop": true, 10 | "strict": true, 11 | "strictNullChecks": true, 12 | "moduleResolution": "Node", 13 | "resolveJsonModule": true, 14 | "skipLibCheck": true, 15 | "jsx": "preserve" 16 | }, 17 | "exclude": [ 18 | "**/dist", 19 | "**/node_modules", 20 | "**/test", 21 | "**/.output" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v2 13 | with: 14 | fetch-depth: 0 15 | - uses: actions/setup-node@v2 16 | with: 17 | node-version: '14' 18 | registry-url: https://registry.npmjs.org/ 19 | - run: npm i -g pnpm 20 | - run: pnpm install -F suzip --frozen-lockfile 21 | - run: npm publish --access public 22 | env: 23 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} 24 | - run: npx conventional-github-releaser -p angular 25 | env: 26 | CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{secrets.GITHUB_TOKEN}} 27 | -------------------------------------------------------------------------------- /examples/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "basic", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "suzip -h", 7 | "zip": "suzip -s ../assets -o ./.output/dist.zip", 8 | "tar": "suzip -s ../assets -o ./.output/dist.tar", 9 | "tar:gz": "suzip -s ../assets -o ./.output/dist.tar.gz", 10 | "zip:2": "suzip -s ../assets -p **/*.md -o ./.output/dist_md.zip", 11 | "zip:3": "suzip -s ../assets -i **/*.js -o ./.output/dist_ignore_js.zip", 12 | "zip:4": "cross-env SUZIP_DEBUG=debug esno src/main.ts", 13 | "zip:5": "suzip -s ./ -o ./.output/dist_ignore.zip -I ./.gitignore" 14 | }, 15 | "dependencies": { 16 | "suzip": "workspace:*" 17 | }, 18 | "devDependencies": { 19 | "cross-env": "^7.0.3", 20 | "esno": "^0.14.1" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 liuq 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /locales/zh_CN.json: -------------------------------------------------------------------------------- 1 | { 2 | "Compression files or directories": "压缩文件或目录", 3 | "Debug mode, print more information, modified by process.env.SUZIP_DEBUG environment variable": "调试模式,打印更多日志,由环境变量`process.env.SUZIP_DEBUG`控制", 4 | "Example 1": "1.压缩src目录下的所有文件到.output/dist.zip文件中", 5 | "Example 2": "2.压缩当前目录下所有除了node_modules和dist目录的文件到.output/dist.zip文件中", 6 | "Example 3": "3.指定ignore文件,压缩除匹配到的其他所有文件到.output/dist.zip文件中,注意,ignore文件中的规则需要补全,比如`node_modules`需要调整为`node_modules/**`", 7 | "File path to ignore output": "忽略输出的文件路径", 8 | "Include dot files": "包含以.符号开头的文件", 9 | "Input Sources (only one can be specified)": "输入源(只能指定一个)", 10 | "Only one input source can be specified": "仅支持指定一个输入源", 11 | "Only one output file can be specified": "仅支持指定一个输出文件", 12 | "Output File Path": "输出文件的位置", 13 | "Please specify the input source and output file": "请指定输入源和输出文件路径", 14 | "Regular expression matching input source file": "匹配输入源文件的正则表达式", 15 | "Regular expression to ignore output": "忽略输出文件的正则表达式", 16 | "Show examples": "显示示例", 17 | "Working directory path, default to current directory": "工作目录路径,默认为当前目录", 18 | "Zip option attribute in package-json file": "package.json文件中的zip选项属性" 19 | } 20 | -------------------------------------------------------------------------------- /examples/suziprc/.suziprc.json: -------------------------------------------------------------------------------- 1 | { 2 | "zip": [ 3 | { 4 | "output": "./.output/assets.zip", 5 | "context": "../assets", 6 | "cwd": "." 7 | }, 8 | { 9 | "output": "./.output/dist.zip", 10 | "cwd": "../assets" 11 | }, 12 | { 13 | "output": "./.output/dist.tar", 14 | "cwd": "../assets" 15 | }, 16 | { 17 | "output": "./.output/dist.tar.gz", 18 | "cwd": "../assets" 19 | }, 20 | { 21 | "output": "./.output/dist_separate_md_js.zip", 22 | "sources": [ 23 | { 24 | "cwd": "../assets", 25 | "pattern": "**/*.md", 26 | "prefix": "markdown_file" 27 | }, 28 | { 29 | "cwd": "../assets", 30 | "pattern": "**/*.js", 31 | "prefix": "javascript_file" 32 | } 33 | ] 34 | }, 35 | { 36 | "output": "./.output/dist_separate_a_b.zip", 37 | "sources": [ 38 | { 39 | "cwd": "../assets", 40 | "pattern": "**/*a*.*", 41 | "prefix": "name_a" 42 | }, 43 | { 44 | "cwd": "../assets", 45 | "pattern": "**/b.*", 46 | "prefix": "name_b" 47 | } 48 | ] 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # Examples 2 | 3 | + `assets` is an example of a directory that contains assets. 4 | + `basic` is an example of a directory that contains some basic usage. 5 | + `pkg` is an example of options in package.json file. 6 | + `suziprc` is an example of options in `.suziprc.json` file. 7 | 8 | Basic 9 | 10 | ```json 11 | { 12 | "scripts": { 13 | "dev": "suzip -h", 14 | "zip": "suzip -s ../assets -o ./.output/dist.zip", 15 | "tar": "suzip -s ../assets -o ./.output/dist.tar", 16 | "tar:gz": "suzip -s ../assets -o ./.output/dist.tar.gz", 17 | "zip:2": "suzip -s ../assets -p **/*.md -o ./.output/dist_md.zip", 18 | "zip:3": "suzip -s ../assets -i **/*.js -o ./.output/dist_ignore_js.zip", 19 | "zip:4": "cross-env SUZIP_DEBUG=debug esno src/main.ts", 20 | "zip:5": "suzip -s ./ -o ./.output/dist_ignore.zip -I ./.gitignore" 21 | } 22 | } 23 | ``` 24 | 25 | ```bash 26 | # pnpm -F basic [Script Name] 27 | 28 | pnpm -F basic dev 29 | pnpm -F basic dev --debug 30 | 31 | # For test .gitignore file 'zip:5', you have to create a new file in src directory 32 | # Then 33 | pnpm -F basic zip:5 --debug 34 | ``` 35 | 36 | pkg 37 | 38 | ```bash 39 | pnpm -F pkg zip 40 | ``` 41 | 42 | suziprc 43 | 44 | ```bash 45 | pnpm -F suziprc zip 46 | ``` 47 | -------------------------------------------------------------------------------- /.vscode/i18n-ally-custom-framework.yml: -------------------------------------------------------------------------------- 1 | # .vscode/i18n-ally-custom-framework.yml 2 | 3 | # An array of strings which contain Language Ids defined by VS Code 4 | # You can check avaliable language ids here: https://code.visualstudio.com/docs/languages/overview#_language-id 5 | languageIds: 6 | - javascript 7 | - typescript 8 | - javascriptreact 9 | - typescriptreact 10 | 11 | # An array of RegExes to find the key usage. **The key should be captured in the first match group**. 12 | # You should unescape RegEx strings in order to fit in the YAML file 13 | # To help with this, you can use https://www.freeformatter.com/json-escape.html 14 | usageMatchRegex: 15 | # The following example shows how to detect `t("your.i18n.keys")` 16 | # the `{key}` will be placed by a proper keypath matching regex, 17 | # you can ignore it and use your own matching rules as well 18 | # __`demo` or __('demo') __("demo") 19 | - '__n?\(?[`''"]({key})[`''"]\)?' 20 | 21 | # An array of strings containing refactor templates. 22 | # The "$1" will be replaced by the keypath specified. 23 | # Optional: uncomment the following two lines to use 24 | 25 | # refactorTemplates: 26 | # - i18n.get("$1") 27 | 28 | # If set to true, only enables this custom framework (will disable all built-in frameworks) 29 | monopoly: true 30 | -------------------------------------------------------------------------------- /examples/pkg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pkg", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "suzip -h", 7 | "zip": "suzip" 8 | }, 9 | "suzip": { 10 | "zip": [ 11 | { 12 | "output": "./.output/assets.zip", 13 | "context": "../assets", 14 | "cwd": "." 15 | }, 16 | { 17 | "output": "./.output/dist.zip", 18 | "cwd": "../assets" 19 | }, 20 | { 21 | "output": "./.output/dist.tar", 22 | "cwd": "../assets" 23 | }, 24 | { 25 | "output": "./.output/dist.tar.gz", 26 | "cwd": "../assets" 27 | }, 28 | { 29 | "output": "./.output/dist_separate_md_js.zip", 30 | "sources": [ 31 | { 32 | "cwd": "../assets", 33 | "pattern": "**/*.md", 34 | "prefix": "markdown_file" 35 | }, 36 | { 37 | "cwd": "../assets", 38 | "pattern": "**/*.js", 39 | "prefix": "javascript_file" 40 | } 41 | ] 42 | }, 43 | { 44 | "output": "./.output/dist_separate_a_b.zip", 45 | "sources": [ 46 | { 47 | "cwd": "../assets", 48 | "pattern": "**/*a*.*", 49 | "prefix": "name_a" 50 | }, 51 | { 52 | "cwd": "../assets", 53 | "pattern": "**/b.*", 54 | "prefix": "name_b" 55 | } 56 | ] 57 | } 58 | ] 59 | }, 60 | "dependencies": { 61 | "suzip": "workspace:*" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "suzip", 3 | "version": "0.1.5", 4 | "description": "archive file package", 5 | "keywords": [ 6 | "suzip", 7 | "archive", 8 | "archiver", 9 | "zip", 10 | "gzip" 11 | ], 12 | "license": "MIT", 13 | "author": "liuq", 14 | "repository": "https://github.com/aliuq/suzip.git", 15 | "main": "dist/index.cjs", 16 | "module": "dist/index.mjs", 17 | "types": "dist/index.d.ts", 18 | "files": [ 19 | "locales", 20 | "dist", 21 | "bin", 22 | "*.d.ts" 23 | ], 24 | "bin": { 25 | "suzip": "./bin/suzip.js" 26 | }, 27 | "sideEffects": false, 28 | "scripts": { 29 | "dev": "esno src/index.ts", 30 | "dev:cli": "esno src/cli/index.ts", 31 | "build": "unbuild", 32 | "lint": "eslint .", 33 | "test": "node bin/suzip.js -h", 34 | "prepublishOnly": "npm run build", 35 | "release": "npx bumpp --push --tag --commit" 36 | }, 37 | "dependencies": { 38 | "@aliuq/eslint-config": "^0.0.3", 39 | "archiver": "^5.1.0", 40 | "byte-size": "^8.1.0", 41 | "find-up": "^6.3.0", 42 | "fs-extra": "^9.0.1", 43 | "kolorist": "^1.5.1", 44 | "lodash": "^4.17.20", 45 | "y18n": "^5.0.8", 46 | "yargs": "^17.4.1" 47 | }, 48 | "devDependencies": { 49 | "@types/fs-extra": "^9.0.13", 50 | "@types/glob": "^7.2.0", 51 | "@types/lodash-es": "^4.17.6", 52 | "@types/yargs": "^17.0.10", 53 | "eslint": "^8.14.0", 54 | "esno": "^0.14.1", 55 | "unbuild": "^0.7.4" 56 | }, 57 | "bugs": "https://github.com/aliuq/suzip/issues", 58 | "homepage": "https://github.com/aliuq/suzip", 59 | "engines": { 60 | "node": ">=14.0.0" 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /locales/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "Compression files or directories": "Compression files or directories", 3 | "Debug mode, print more information, modified by process.env.SUZIP_DEBUG environment variable": "Debug mode, print more information, modified by `process.env.SUZIP_DEBUG` environment variable", 4 | "Example 1": "1.Compress all files in the src directory into the .output/dist.zip file", 5 | "Example 2": "2.Compress all files in the current directory except node_modules and dist into a .output/dist.zip file", 6 | "Example 3": "3.Specify the ignore file to compress all files except the matched ones into the .output/dist.zip file, note that the rules in the ignore file need to be completed, for example, `node_modules` needs to be adjusted to `node_modules/**`.", 7 | "File path to ignore output": "File path to ignore output", 8 | "Include dot files": "Include files starting with the . symbol", 9 | "Input Sources (only one can be specified)": "Input Sources (only one can be specified)", 10 | "Only one input source can be specified": "Only supports specifying one input source", 11 | "Only one output file can be specified": "Only one output file can be specified", 12 | "Output File Path": "Output File Path", 13 | "Please specify the input source and output file": "Please specify the input source and output file", 14 | "Regular expression matching input source file": "Regular expression matching input source file", 15 | "Regular expression to ignore output": "Regular expression to ignore output", 16 | "Show examples": "Show examples", 17 | "Working directory path, default to current directory": "Working directory path, default to current directory", 18 | "Zip option attribute in package-json file": "Zip option attribute in package.json file" 19 | } 20 | -------------------------------------------------------------------------------- /src/cli/index.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-unused-expressions */ 2 | import { bold, gray, green, red, reset, underline } from 'kolorist' 3 | import yargs from 'yargs' 4 | import { hideBin } from 'yargs/helpers' 5 | import fs from 'fs-extra' 6 | import y18n from '../y18n' 7 | import { bugs, name, version } from '../../package.json' 8 | import zip from './zip' 9 | 10 | (async () => { 11 | const { __ } = y18n() 12 | let config 13 | let configPath 14 | try { 15 | const { findUp } = await import('find-up') 16 | configPath = await findUp(['.suziprc', '.suziprc.json'], { stopAt: process.cwd() }) 17 | config = configPath ? JSON.parse(await fs.readFile(configPath, 'utf-8')) : {} 18 | } 19 | catch (err: any) { 20 | console.error(`${gray(`[${name.toUpperCase()}]`)} ${bold(red('An internal error occurred.'))}`) 21 | console.error(`${gray(`[${name.toUpperCase()}]`)} Found a config file path at ${green(configPath as string)} but failed to parse it.\n`) 22 | console.error(red(err.message)) 23 | console.error(err) 24 | process.exit(1) 25 | } 26 | 27 | yargs(hideBin(process.argv)) 28 | .scriptName('suzip') 29 | .usage('$0 [command] [option]') 30 | .command(zip) 31 | .command('*', __`Compression files or directories`, zip) 32 | .strict() 33 | .alias('h', 'help') 34 | .version(`v${version}`) 35 | .alias('v', 'version') 36 | .config(config) 37 | .pkgConf('suzip') 38 | .showHelpOnFail(false) 39 | .fail((msg, err, yargs) => { 40 | if (msg) { 41 | console.error(`\n${red(msg)}\n`) 42 | yargs.showHelp() 43 | process.exit(1) 44 | } 45 | else { 46 | console.error(`\n${gray(`[${name.toUpperCase()}]`)} ${bold(red('An internal error occurred.'))}`) 47 | console.error(`${gray(`[${name.toUpperCase()}]`)} ${reset(`Please report an issue, if none already exists: ${underline(bugs)}`)}`) 48 | yargs.exit(1, err) 49 | } 50 | }) 51 | .argv 52 | })() 53 | -------------------------------------------------------------------------------- /README_ZH.md: -------------------------------------------------------------------------------- 1 | 2 |

SUZIP

3 | 4 |

5 | English  |  中文 6 |
7 |
8 | 一个简单好用的文件压缩工具 9 |
10 |
11 | license 12 | build 13 | version 14 | download 15 |

16 | 17 | ## 功能 18 | 19 | + 支持zip、tar、gzip格式 20 | + 提供命令行工具,支持配置文件 21 | 22 | ## 安装 23 | 24 | ```bash 25 | npm install suzip -D 26 | # or 27 | yarn add suzip -D 28 | # or 29 | pnpm add suzip -D 30 | ``` 31 | 32 | ## 使用 33 | 34 | Node 35 | 36 | ```ts 37 | import { zip } from 'suzip' 38 | 39 | zip({ 40 | cwd: './', 41 | output: './.output/dist.zip', 42 | ignore: ['node_modules/**', '.output/**', 'dist/**'], 43 | dot: true, 44 | }) 45 | ``` 46 | 47 | 设置`SUZIP_DEBUG=debug`环境变量以启动调试模式 48 | 49 | Command Line 50 | 51 | ```bash 52 | suzip [command] [option] 53 | 54 | Commands: 55 | suzip zip [options] Compression files or directories 56 | suzip Compression files or directories [default] 57 | 58 | Options: 59 | -s, --cwd Input Sources (only one can be specified) [string] 60 | -c, --context Working directory path, default to current directory[string] 61 | -o, --output Output File Path 62 | -p, --pattern Regular expression matching input source file [string] 63 | -i, --ignore Regular expression to ignore output [array] 64 | -I, --ignoreFile File path to ignore output [string] 65 | --dot Include dot files [boolean] 66 | --zip Zip option attribute in package.json file 67 | --example Show examples [boolean] 68 | -h, --help Show help [boolean] 69 | -v, --version Show version number [boolean] 70 | ``` 71 | 72 | 查看更多示例,参考[examples](./examples/)目录 73 | 74 | ## 选项 75 | 76 | 详细选项类型,参考[源文件](https://github.com/aliuq/suzip/blob/ca4c97e3265a4d3a115460fa8d9ba2f25a66d447/src/types.ts#L96) 77 | 78 | + context: string, 默认为当前目录`process.cwd()`,它会影响其他值为相对路径的选项参数 79 | + output: string, 输出文件路径,默认为当前目录下的dist.zip 80 | + cwd: string, 输入源,只能指定一个 81 | + pattern: string, 正则表达式匹配输入源文件,默认为cwd指定路径下所有文件 82 | + ignore: string | string[], 正则表达式忽略输出,默认为空 83 | + ignoreFile: string | boolean, 指定一个ignore文件,如果为true,则使用cwd目录下的**.gitignore**文件 84 | + prefix: string,输出文件前缀 85 | + dot: boolean,是否包含`·`开头的文件 86 | + globOption: object,glob模块的选项, 更多详情参考[node-readdir-glob](https://github.com/yqnn/node-readdir-glob#options)、[node-glob](https://github.com/isaacs/node-glob#options) 87 | + globEntryData: object,glob模块的输入参数,更多详情参考[node-archiver](https://www.archiverjs.com/docs/archiver#entry-data) 88 | + archiverOption: object,archiver模块的选项,更多详情参考[node-archiver](https://www.archiverjs.com/docs/archiver#options) 89 | + sources: object[],输入源组,每个对象包含cwd、pattern、ignore、ignoreFile、prefix、dot、globOption、globEntryData属性 90 | 91 | ## 关于suzip 92 | 93 | suzip是在原来arch-file的基础上进行了重构和重命名,使用typescript进行类型管理,使用unbuild(rollup + esbuild)进行打包构建,新增了命令行工具,这能让压缩文件操作脱离webpack或vite编译流程,可以直接在命令行中使用,同样,在对应的hooks下,也能很方便的集成。 94 | 95 | ## License 96 | 97 | [MIT](./LICENSE) 98 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import type { ZlibOptions } from 'zlib' 2 | import type { Stats } from 'fs' 3 | import type { IOptions } from 'glob' 4 | 5 | interface EntryData { 6 | /** Sets the entry name including internal path */ 7 | name?: string 8 | /** Sets the entry date */ 9 | date?: Date | string 10 | /** Sets the entry permissions */ 11 | mode?: number 12 | /** 13 | * Sets a path prefix for the entry name. Useful when working with methods like directory or glob 14 | * @link https://www.archiverjs.com/docs/archiver/#directory 15 | * @link https://www.archiverjs.com/docs/archiver/#glob 16 | */ 17 | prefix?: string 18 | /** Sets the stat data for this entry allowing for reduction of fs.stat calls. */ 19 | stats?: Stats 20 | } 21 | 22 | interface EntryZipData { 23 | /** Prepends a forward slash to archive file paths */ 24 | namePrependSlash?: boolean 25 | /** Sets the compression method to STORE */ 26 | store?: boolean 27 | } 28 | 29 | interface ArchiveCoreOptions { 30 | /** 31 | * Sets the number of workers used to process the internal fs stat queue. 32 | * @default 4 33 | */ 34 | statConcurrency?: number 35 | } 36 | 37 | export interface ArchiverZipOptions extends ArchiveCoreOptions { 38 | /** Sets the zip archive comment */ 39 | comment?: string 40 | /** Forces the archive to contain local file times instead of UTC */ 41 | forceLocalTime?: boolean 42 | /** Forces the archive to contain ZIP64 headers */ 43 | forceZip64?: boolean 44 | /** Prepends a forward slash to archive file paths */ 45 | namePrependSlash?: boolean 46 | /** Sets the compression method to STORE */ 47 | store?: boolean 48 | /** 49 | * Passed to zlib to control compression 50 | * @link https://nodejs.org/api/zlib.html#zlib_class_options 51 | */ 52 | zlib?: ZlibOptions 53 | } 54 | 55 | /** 56 | * @link https://www.archiverjs.com/docs/archiver#constructor 57 | * @link https://www.npmjs.com/package/tar-stream 58 | */ 59 | export interface ArchiverTarOptions extends ArchiveCoreOptions { 60 | /** Compress the tar archive using gzip */ 61 | gzip?: boolean 62 | /** Passed to zlib to control compression. */ 63 | gzipOptions?: ZlibOptions 64 | } 65 | 66 | export interface Source { 67 | /** 68 | * The current working directory in which to search 69 | * @default `process.cwd()` 70 | */ 71 | cwd?: string 72 | /** pattern to search for */ 73 | pattern?: string | string[] 74 | /** Add a pattern or an array of glob patterns to exclude matches. */ 75 | ignore?: string | string[] 76 | /** ignore file, likes `.gitignore` */ 77 | ignoreFile?: string | boolean 78 | /** prefix directory to the pattern */ 79 | prefix?: string 80 | /** 81 | * Allow pattern to match filenames starting with a period, 82 | * even if the pattern does not explicitly have a period in that spot. 83 | */ 84 | dot?: boolean 85 | /** 86 | * glob another option 87 | * 88 | * @see node-readdir-glob / https://github.com/yqnn/node-readdir-glob#options 89 | * @see node-glob / https://github.com/isaacs/node-glob#options 90 | */ 91 | globOption?: IOptions | Record 92 | /** The entry data object */ 93 | globEntryData?: EntryData & EntryZipData 94 | } 95 | 96 | export type LogLevel = 'error' | 'warn' | 'info' | 'debug' 97 | 98 | export interface Option extends Source { 99 | context?: string 100 | archiverOption?: ArchiverZipOptions | ArchiverTarOptions 101 | source?: Source 102 | sources?: Source[] 103 | output?: string 104 | } 105 | 106 | export type Format = 'zip' | 'tar' | 'json' 107 | 108 | export interface ArchiveOption { 109 | format: Format 110 | sources: Source[] 111 | path: string 112 | filename: string 113 | archiverOption: ArchiverZipOptions | ArchiverTarOptions 114 | } 115 | -------------------------------------------------------------------------------- /src/util.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | import path from 'path' 3 | import { bgCyan, black, blue, gray, green, lightBlue, lightGray, lightMagenta, lightRed, lightYellow } from 'kolorist' 4 | import pkg from '../package.json' 5 | import type { LogLevel } from './types' 6 | 7 | // Get absolute path 8 | export function getAbsPath(p: string, context: string) { 9 | return slash(path.isAbsolute(p) ? p : path.join(context, p)) 10 | } 11 | 12 | // convert `\/` to `path.sep` 13 | export function slash(p: string) { 14 | return p.replace(/[\/]/g, path.sep) 15 | } 16 | 17 | export function createLogger(level: LogLevel = 'info') { 18 | const levelMaps = { 19 | error: 0, 20 | warn: 1, 21 | info: 2, 22 | debug: 3, 23 | } 24 | const levelInt = typeof levelMaps[level] === 'undefined' ? levelMaps.info : levelMaps[level] 25 | const name = black(bgCyan(` ${pkg.name.toUpperCase()} `)) 26 | const log = (...args: any) => console.log(`${name} ${args}`) 27 | const now = () => gray(new Date().toISOString()) 28 | return { 29 | 30 | debug(message: any) { 31 | if (levelInt >= 3) 32 | log(`${lightBlue('[debug]')} ${now()} ${message}`) 33 | }, 34 | 35 | debugNormal(...message: any) { 36 | if (levelInt >= 3) 37 | console.log(...message) 38 | }, 39 | 40 | info(message: any) { 41 | if (levelInt >= 2) 42 | log(`${lightGray('[info]')} ${now()} ${message}`) 43 | }, 44 | 45 | warn(message: any) { 46 | if (levelInt >= 1) 47 | log(`${lightYellow('[warn]')} ${now()} ${message}`) 48 | }, 49 | 50 | error(message: any) { 51 | if (levelInt >= 0) 52 | log(`${lightRed('[error]')} ${now()} ${message}`) 53 | }, 54 | 55 | table(...message: any) { 56 | if (levelInt >= 3) 57 | console.table(...message) 58 | }, 59 | 60 | pretter(msgs: any, opts: PretterOptions) { 61 | if (levelInt >= 3) 62 | pretterInfo(msgs, opts) 63 | }, 64 | 65 | group(message: any) { 66 | if (levelInt >= 3) 67 | console.group(message) 68 | }, 69 | 70 | groupEnd() { 71 | if (levelInt >= 3) 72 | console.groupEnd() 73 | }, 74 | } 75 | } 76 | 77 | interface PretterOptions { 78 | title: string 79 | root?: boolean 80 | } 81 | 82 | function pretterInfo(data: any, opts: PretterOptions) { 83 | const root = typeof opts.root === 'undefined' ? true : opts.root 84 | opts.title = UpperFirstWord(opts.title) 85 | // Start 86 | if (root) 87 | console.group(`${lightMagenta('Tasks:')} ${green(opts.title)}`) 88 | 89 | // Array 90 | if (Array.isArray(data)) { 91 | const hasObject = data.some(item => typeof item === 'object') 92 | if (!root && hasObject) 93 | console.groupCollapsed(`${gray(opts.title)}:`) 94 | 95 | if (hasObject) { 96 | data.forEach((d, i) => { 97 | pretterInfo(d, { title: `${opts.title} ${i + 1}`, root: false }) 98 | if (i === data.length - 1) 99 | console.groupEnd() 100 | }) 101 | } 102 | else { 103 | console.log(`${gray(opts.title)}: ${data.map(d => blue(d)).join('、')}`) 104 | } 105 | } 106 | // Object 107 | else if (typeof data === 'object') { 108 | const keys = Object.keys(data) 109 | if (!keys.length) { 110 | console.log(`${gray(opts.title)}: ${JSON.stringify(data)}`) 111 | } 112 | else { 113 | if (!root) 114 | console.groupCollapsed(`${gray(opts.title)}:`) 115 | 116 | keys.forEach((key, i) => { 117 | pretterInfo(data[key], { title: key, root: false }) 118 | if (i === keys.length - 1) 119 | console.groupEnd() 120 | }) 121 | } 122 | } 123 | // Other types 124 | else { 125 | console.log(`${gray(opts.title)}: ${green(data)}`) 126 | } 127 | } 128 | 129 | function UpperFirstWord(str: string) { 130 | return str.replace(/^\w/, c => c.toUpperCase()) 131 | } 132 | -------------------------------------------------------------------------------- /src/cli/zip.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Compress a file or a directory. 3 | * 4 | * @examples see {@link generateExamples} 5 | */ 6 | 7 | import type { CommandModule, Options } from 'yargs' 8 | import yargs from 'yargs' 9 | import { pick } from 'lodash' 10 | import { red } from 'kolorist' 11 | import type { Option } from '../types' 12 | import y18n from '../y18n' 13 | import { zip } from '../archive' 14 | 15 | const { __ } = y18n() 16 | 17 | type ZipOption = Pick 18 | 19 | const options: Record<'zip' & 'debug' & 'example' & keyof ZipOption, Options> = { 20 | cwd: { 21 | string: true, 22 | array: false, 23 | type: 'string', 24 | alias: 's', 25 | describe: __`Input Sources (only one can be specified)`, 26 | coerce: (arg: string | string[]) => { 27 | if (Array.isArray(arg) && arg.length > 1) 28 | throw new Error(`[--cwd/-s]: ${__`Only one input source can be specified`}`) 29 | 30 | return arg 31 | }, 32 | }, 33 | context: { 34 | alias: 'c', 35 | describe: __`Working directory path, default to current directory`, 36 | string: true, 37 | }, 38 | output: { 39 | alias: 'o', 40 | describe: __`Output File Path`, 41 | coerce: (arg: string | string[]) => { 42 | if (Array.isArray(arg) && arg.length > 1) 43 | throw new Error(`[--output/-o]: ${__`Only one output file can be specified`}`) 44 | 45 | return arg 46 | }, 47 | }, 48 | pattern: { 49 | alias: 'p', 50 | string: true, 51 | describe: __`Regular expression matching input source file`, 52 | }, 53 | ignore: { 54 | alias: 'i', 55 | describe: __`Regular expression to ignore output`, 56 | array: true, 57 | }, 58 | ignoreFile: { 59 | alias: 'I', 60 | describe: __`File path to ignore output`, 61 | string: true, 62 | }, 63 | dot: { 64 | describe: __`Include dot files`, 65 | boolean: true, 66 | }, 67 | zip: { 68 | describe: __`Zip option attribute in package-json file`, 69 | conflicts: ['cwd', 'context', 'pattern', 'ignore', 'output', 'dot'], 70 | }, 71 | example: { 72 | describe: __`Show examples`, 73 | boolean: true, 74 | }, 75 | debug: { 76 | describe: __`Debug mode, print more information, modified by process.env.SUZIP_DEBUG environment variable`, 77 | boolean: true, 78 | }, 79 | } 80 | 81 | const Zip: CommandModule<{}, ZipOption> = { 82 | command: 'zip [options]', 83 | describe: __`Compression files or directories`, 84 | builder: (yargs) => { 85 | return yargs.options(options) 86 | }, 87 | async handler(argv: any) { 88 | // Show examples 89 | if (argv.example) { 90 | yargs.example(generateExamples() as any).showHelp() 91 | return 92 | } 93 | 94 | if (argv.debug) 95 | process.env.SUZIP_DEBUG = 'debug' 96 | 97 | if (argv.zip) { 98 | await zip(argv.zip) 99 | return 100 | } 101 | 102 | const options: ZipOption = pick(argv, ['context', 'pattern', 'cwd', 'ignore', 'ignoreFile', 'output', 'dot']) 103 | if (options.cwd && options.output) { 104 | await zip(options) 105 | return 106 | } 107 | 108 | console.error(red(`\n[SUZIP]: ${__`Please specify the input source and output file`}\n`)) 109 | yargs.showHelp() 110 | }, 111 | } 112 | 113 | export default Zip 114 | 115 | // Functions 116 | 117 | // Generate examples 118 | function generateExamples(): string[][] { 119 | const _ = (arr: string[]) => `${arr.join('\n\n')}\n` 120 | return [ 121 | [_([ 122 | __`Example 1`, 123 | 'suzip -s ./src -o ./.output/dist.zip'], 124 | )], 125 | [_([ 126 | __`Example 2`, 127 | 'suzip -s ./ -o ./.output/dist.zip -i node_modules/** dist/**', 128 | ])], 129 | [_([ 130 | __`Example 3`, 131 | 'suzip -s ./ -o ./.output/dist.zip -I ./.gitignore --dot', 132 | ])], 133 | ] 134 | } 135 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

SUZIP

3 | 4 |

5 | English  |  中文 6 |
7 |
8 | A simple and easy-to-use file compression tool 9 |
10 |
11 | license 12 | build 13 | version 14 | download 15 |

16 | 17 | ## Features 18 | 19 | + Supports zip, tar, gzip formats 20 | + Provides command line tools and support for configuration files 21 | 22 | ## Installation 23 | 24 | ```bash 25 | npm install suzip -D 26 | # or 27 | yarn add suzip -D 28 | # or 29 | pnpm add suzip -D 30 | ``` 31 | 32 | ## Useage 33 | 34 | Node 35 | 36 | ```ts 37 | import { zip } from 'suzip' 38 | 39 | zip({ 40 | cwd: '. /', 41 | output: '. /.output/dist.zip', 42 | ignore: ['node_modules/**', '.output/**', 'dist/**'], 43 | dot: true, 44 | }) 45 | ``` 46 | 47 | Set `SUZIP_DEBUG=debug` environment variable to start debug mode 48 | 49 | Command Line 50 | 51 | ```bash 52 | suzip [command] [option] 53 | 54 | Commands: 55 | suzip zip [options] Compression files or directories 56 | suzip Compression files or directories [default] 57 | 58 | Options: 59 | -s, --cwd Input Sources (only one can be specified) [string] 60 | -c, --context Working directory path, default to current directory[string] 61 | -o, --output Output File Path 62 | -p, --pattern Regular expression matching input source file [string] 63 | -i, --ignore Regular expression to ignore output [array] 64 | -I, --ignoreFile File path to ignore output [string] 65 | --dot Include files starting with the . symbol [boolean] 66 | --zip Zip option attribute in package.json file 67 | --example Show examples [boolean] 68 | --debug Debug mode, print more information, modified by 69 | `process.env.SUZIP_DEBUG` environment variable [boolean] 70 | -h, --help Show help [boolean] 71 | -v, --version Show version number [boolean] 72 | ``` 73 | 74 | See more [examples](./examples/) 75 | 76 | ## Options 77 | 78 | For detailed option types, refer to [source](https://github.com/aliuq/suzip/blob/ca4c97e3265a4d3a115460fa8d9ba2f25a66d447/src/types.ts#L96) 79 | 80 | + **context**: `{string}`, Default is current directory `process.cwd()`, it affects other option parameters with relative path values 81 | + **output**: `{string}`, output file path, Default is `dist.zip` 82 | + **cwd**: `{string}`, the input source, only one can be specified 83 | + **pattern**: `{string}`, regular expression to match the input source file, Default is `**/*` 84 | + **ignore**: `{string | string[]}`, regular expression ignore output 85 | + **ignoreFile**: `{string | boolean}`, specify an ignore file, if `true`, then use the `.gitignore` file in the cwd directory 86 | + **prefix**: `{string}`, the output file prefix 87 | + **dot**: `{boolean}`, whether to include files starting with `.` 88 | + **globOption**: `{object}`, options for the glob module, see [node-readdir-glob](https://github.com/yqnn/node-readdir-glob#options)、[node-glob](https://github.com/isaacs/node-glob#options) for more details 89 | + **globEntryData**: `{object}`, input parameter for glob module, see [node-archiver](https://www.archiverjs.com/docs/archiver#entry-data) for more details 90 | + **archiverOption**: `{object}`, the options for the archiver module, see [node-archiver](https://www.archiverjs.com/docs/archiver#options) for more details 91 | + **sources**: `{object[]}`, input source group, each object contains `cwd, pattern, ignore, ignoreFile, prefix, dot, globOption, globEntryData` attributes 92 | 93 | ## About suzip 94 | 95 | suzip is based on the original `arch-file` refactoring and renaming, using typescript for type management, using unbuild (rollup + esbuild) for packaging build, new command line tools, which can make the compressed file operation out of the webpack or vite compilation process, can be directly in the command line, It is also easy to integrate with the corresponding hooks. 96 | 97 | ## License 98 | 99 | [MIT](./LICENSE) 100 | -------------------------------------------------------------------------------- /src/archive.ts: -------------------------------------------------------------------------------- 1 | import path from 'path' 2 | import { performance } from 'perf_hooks' 3 | import fs from 'fs-extra' 4 | import { merge, pick } from 'lodash' 5 | // @ts-expect-error No type declaration 6 | import archiver from 'archiver' 7 | // @ts-expect-error No type declaration 8 | import byteSize from 'byte-size' 9 | import { cyan, dim, green } from 'kolorist' 10 | 11 | import type { ArchiveOption, ArchiverTarOptions, ArchiverZipOptions, Format, LogLevel, Option, Source } from './types' 12 | 13 | import { createLogger, getAbsPath, slash } from './util' 14 | 15 | let logger = createLogger(process.env.SUZIP_DEBUG as LogLevel) 16 | 17 | // Execute archive action 18 | export async function zip(options: Option | Option[]) { 19 | logger = createLogger(process.env.SUZIP_DEBUG as LogLevel) 20 | globalThis.__start_time = performance.now() 21 | const archiveOptions = await resolveOptions(options) 22 | logger.pretter(archiveOptions, { title: 'Task' }) 23 | for await (const option of archiveOptions) 24 | await archive(option) 25 | 26 | const time = Math.round(performance.now() - globalThis.__start_time) 27 | logger.debugNormal() 28 | logger.debug(`Total used ${cyan(`${time}ms`)}`) 29 | } 30 | 31 | // Archive function 32 | async function archive(option: ArchiveOption) { 33 | // eslint-disable-next-line no-async-promise-executor 34 | return new Promise(async (resolve, reject) => { 35 | globalThis.__start_once_time = performance.now() 36 | const { format, path: outputPath, filename, sources, archiverOption } = option 37 | // Check output path 38 | await fs.ensureDir(outputPath) 39 | const dest = path.join(outputPath, filename) 40 | // Write stream file. [see all](http://nodejs.cn/api/fs.html#fs_fs_createwritestream_path_options) 41 | const output = fs.createWriteStream(dest) 42 | const archive = archiver(format, archiverOption) 43 | const files: any = [] 44 | 45 | output.on('open', () => { 46 | logger.debugNormal() 47 | logger.debugNormal() 48 | logger.group(cyan(`Archiving ${option.filename}`)) 49 | }) 50 | 51 | output.on('close', () => { 52 | const time = Math.round(performance.now() - globalThis.__start_once_time) 53 | const size = byteSize(archive.pointer()) 54 | logger.groupEnd() 55 | logger.debugNormal() 56 | logger.info(`Saved in ${green(dest)} / ${green(files.length)} files / ${green(size)} / ${green(`${time}ms`)}`) 57 | resolve(dest) 58 | }) 59 | 60 | archive.on('entry', (entry: Record) => { 61 | files.push({ 62 | name: slash(entry.name), 63 | source: slash(entry.sourcePath), 64 | size: entry.stats.size, 65 | }) 66 | }) 67 | 68 | archive.on('progress', async (entry: Record) => { 69 | const currIndex = entry.entries.processed - 1 70 | const file = files[currIndex] 71 | const size = byteSize(file.size) 72 | logger.debugNormal(`${dim(currIndex + 1)} ${green(file.source)} [${dim(size.value + size.unit)}] ${dim(file.name)}`) 73 | }) 74 | 75 | archive.on('error', (err: Error) => { 76 | logger.error(err.message) 77 | reject(err) 78 | }) 79 | 80 | archive.on('warning', (err: Error) => { 81 | logger.warn(err.message) 82 | }) 83 | 84 | archive.pipe(output) 85 | 86 | await Promise.all(sources.map(async (source: Source) => { 87 | const { pattern, globOption, globEntryData } = source 88 | const [defaultPattern, anotherPattern] = pattern as string[] 89 | // eslint-disable-next-line @typescript-eslint/no-unused-vars 90 | const { ignore, ...anotherGlobOption } = globOption as Record 91 | await archive.glob(defaultPattern, globOption, globEntryData) 92 | anotherPattern && await archive.glob(anotherPattern, anotherGlobOption, globEntryData) 93 | })) 94 | 95 | await archive.finalize() 96 | }) 97 | } 98 | 99 | function resolveOptions(options: Option | Option[]): Promise { 100 | options = Array.isArray(options) ? options : [options] 101 | logger.debug(`Get ${green(options.length)} task`) 102 | const sourceAttr = ['pattern', 'cwd', 'ignore', 'ignoreFile', 'prefix', 'dot', 'globOption', 'globEntryData'] 103 | // Priority: In Source > Out Source > Default 104 | // Iterate over the options and rebuild the options 105 | return Promise.all(options.map(async (option: Option) => { 106 | const { source = {}, sources = [] } = option 107 | // Root for resolve output path 108 | const context = getAbsPath(option.context || process.cwd(), process.cwd()) 109 | /** 110 | * Resolve output path 111 | * 1. './dist.zip' 112 | * 2. 'd:/xxx/dist.zip' 113 | * 3. undefined 114 | */ 115 | let output = option.output || './dist.zip' 116 | output = path.extname(output) ? output : path.join(output, 'dist.zip') 117 | const _path = getAbsPath(path.dirname(output), context) 118 | const filename = path.basename(output) 119 | // Through file name to get the format and default archiver option 120 | const { format, archiverOption } = resolveFormat(filename) 121 | const outSource = pick(option, sourceAttr) 122 | const mergeSources: Source[] = await Promise.all((sources.length ? sources : [source]).map(async (inSource = {}) => { 123 | const mergeSource = merge({ 124 | pattern: '**/*', 125 | cwd: __dirname, 126 | ignore: '', 127 | prefix: '/', 128 | globOption: {}, 129 | globEntryData: {}, 130 | }, outSource, inSource) 131 | // Absolute cwd path 132 | mergeSource.cwd = getAbsPath(mergeSource.cwd, context) 133 | const { ignore, pattern } = await resolveIgnore(mergeSource, { path: _path, filename }) 134 | return { 135 | pattern: pattern.length ? [mergeSource.pattern, pattern] : [mergeSource.pattern], 136 | globOption: { 137 | ...mergeSource.globOption, 138 | ignore: ignore as string[], 139 | cwd: mergeSource.cwd, 140 | dot: mergeSource.dot, 141 | }, 142 | globEntryData: { 143 | ...mergeSource.globEntryData, 144 | prefix: mergeSource.prefix, 145 | }, 146 | } 147 | })) 148 | 149 | return { 150 | format, 151 | path: _path, 152 | filename, 153 | sources: mergeSources, 154 | archiverOption: Object.assign(archiverOption, option.archiverOption || {}), 155 | } 156 | })) 157 | } 158 | 159 | function resolveFormat(filename: string) { 160 | let format: Format = 'zip' 161 | let archiverOption: ArchiverZipOptions | ArchiverTarOptions = {} 162 | if (filename.match(/\.zip$/)) { 163 | format = 'zip' 164 | archiverOption = { zlib: { level: 9 } } 165 | } 166 | else if (filename.match(/\.json$/)) { 167 | format = 'json' 168 | } 169 | else if (filename.match(/\.tar\.gz$/)) { 170 | format = 'tar' 171 | archiverOption = { 172 | gzip: true, 173 | gzipOptions: { 174 | level: 9, 175 | }, 176 | } 177 | } 178 | else if (filename.match(/\.tar$/)) { 179 | format = 'tar' 180 | } 181 | return { format, archiverOption } 182 | } 183 | 184 | /** 185 | * Resolved ignore file, returned as an array 186 | * 1. ignore - string | string[] 187 | * 2. ignoreFile - string | boolean, if got boolean, will use default `.gitignore` file related with `cwd` 188 | */ 189 | async function resolveIgnore(source: Source, option: { path: string; filename: string }) { 190 | const { path: outputPath, filename } = option 191 | const { cwd, ignore, ignoreFile, dot } = source 192 | 193 | const dest = slash(path.join(outputPath, filename)) 194 | 195 | let _ignore = (Array.isArray(ignore) ? ignore : [ignore]).filter(ig => !!ig) 196 | let bPattern = [] 197 | 198 | if (dot) 199 | _ignore.push('.git/**') 200 | 201 | if (typeof ignoreFile !== 'undefined' && ignoreFile) { 202 | const ignoreFilePath = getAbsPath( 203 | typeof ignoreFile === 'string' ? ignoreFile : '.gitignore', 204 | cwd as string, 205 | ) 206 | const exist = await fs.pathExists(ignoreFilePath) 207 | if (exist) { 208 | const ignoreFileContent = await fs.readFile(ignoreFilePath, 'utf-8') 209 | const ignoreFile = ignoreFileContent.split(/\r?\n/) 210 | const ignoreFileGlob = gitignoreToGlob(ignoreFile) 211 | const [_bPattern, bIgnore] = bifurcate(ignoreFileGlob, (ig: string) => ig.startsWith('!')) 212 | bPattern = _bPattern.map((p: string) => p.substring(1)) 213 | _ignore = _ignore.concat(bIgnore) 214 | } 215 | } 216 | 217 | // Auto complete '**' in prefix and suffix 218 | // _ignore = gitignoreToGlob(_ignore as string[]) 219 | 220 | if (dest.startsWith(cwd as string)) 221 | _ignore = _ignore.concat((dest.split(cwd as string))[1]) 222 | 223 | // const [bPatter, bIgnore] = bifurcate(_ignore, (ig: string) => ig.startsWith('!')) 224 | 225 | return { 226 | ignore: _ignore, 227 | pattern: bPattern, 228 | } 229 | } 230 | 231 | function gitignoreToGlob(ignorePathArray: string[]) { 232 | return Array.from(new Set(ignorePathArray 233 | // Filter out empty lines and comments. 234 | .filter(pattern => !!pattern && pattern[0] !== '#') 235 | // Split '!' and pattern. 236 | .map(pattern => pattern[0] === '!' ? ['!', pattern.substring(1)] : ['', pattern]) 237 | // Add prefix '**' to every valid pattern. 238 | .map((patternPair) => { 239 | const pattern = patternPair[1] 240 | if (pattern[0] !== '/') { 241 | return [ 242 | patternPair[0], 243 | pattern.startsWith('**') ? pattern : `**/${pattern}`, 244 | ] 245 | } 246 | return [patternPair[0], pattern.substring(1)] 247 | }) 248 | // Add suffix '**' to every valid pattern. 249 | .reduce((result, patternPair) => { 250 | const pattern = patternPair.join('') 251 | result.push(pattern) 252 | result.push(pattern.endsWith('*') ? pattern : `${pattern}/**`) 253 | return result 254 | }, []))) 255 | } 256 | 257 | function bifurcate(arr: any[], filter: Function) { 258 | return arr.reduce((acc, val, i) => { 259 | acc[filter(val, i) ? 0 : 1].push(val) 260 | return acc 261 | }, [[], []]) 262 | } 263 | 264 | declare global { 265 | // eslint-disable-next-line vars-on-top, no-var 266 | var __start_time: number 267 | // eslint-disable-next-line vars-on-top, no-var 268 | var __start_once_time: number 269 | } 270 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | importers: 4 | 5 | .: 6 | specifiers: 7 | '@aliuq/eslint-config': ^0.0.3 8 | '@types/fs-extra': ^9.0.13 9 | '@types/glob': ^7.2.0 10 | '@types/lodash-es': ^4.17.6 11 | '@types/yargs': ^17.0.10 12 | archiver: ^5.1.0 13 | byte-size: ^8.1.0 14 | eslint: ^8.14.0 15 | esno: ^0.14.1 16 | find-up: ^6.3.0 17 | fs-extra: ^9.0.1 18 | kolorist: ^1.5.1 19 | lodash: ^4.17.20 20 | unbuild: ^0.7.4 21 | y18n: ^5.0.8 22 | yargs: ^17.4.1 23 | dependencies: 24 | '@aliuq/eslint-config': 0.0.3_eslint@8.14.0 25 | archiver: 5.3.1 26 | byte-size: 8.1.0 27 | find-up: 6.3.0 28 | fs-extra: 9.1.0 29 | kolorist: 1.5.1 30 | lodash: 4.17.21 31 | y18n: 5.0.8 32 | yargs: 17.4.1 33 | devDependencies: 34 | '@types/fs-extra': 9.0.13 35 | '@types/glob': 7.2.0 36 | '@types/lodash-es': 4.17.6 37 | '@types/yargs': 17.0.10 38 | eslint: 8.14.0 39 | esno: 0.14.1 40 | unbuild: 0.7.4 41 | 42 | examples/basic: 43 | specifiers: 44 | cross-env: ^7.0.3 45 | esno: ^0.14.1 46 | suzip: workspace:* 47 | dependencies: 48 | suzip: link:../.. 49 | devDependencies: 50 | cross-env: 7.0.3 51 | esno: 0.14.1 52 | 53 | examples/pkg: 54 | specifiers: 55 | suzip: workspace:* 56 | dependencies: 57 | suzip: link:../.. 58 | 59 | examples/suziprc: 60 | specifiers: 61 | suzip: workspace:* 62 | dependencies: 63 | suzip: link:../.. 64 | 65 | packages: 66 | 67 | /@aliuq/eslint-config-ts/0.0.3_eslint@8.14.0: 68 | resolution: {integrity: sha512-5ZKWiuXMCtqApv0EllSW8cNlmJ1eaSpQoA0Oh/c3Z1r4ZDOS8lNmtOqICNqxRhfJKlpJ0XHnU0zpE40AxBkZ7w==} 69 | peerDependencies: 70 | eslint: '>=8.13.0' 71 | typescript: '>=4.6' 72 | dependencies: 73 | '@antfu/eslint-config-basic': 0.21.0_eslint@8.14.0 74 | '@typescript-eslint/eslint-plugin': 5.20.0_10f1225cae0df3f21a1124c66f13148b 75 | '@typescript-eslint/parser': 5.20.0_eslint@8.14.0 76 | eslint: 8.14.0 77 | jsonc-eslint-parser: 2.1.0 78 | transitivePeerDependencies: 79 | - supports-color 80 | dev: false 81 | 82 | /@aliuq/eslint-config-vue/0.0.3_eslint@8.14.0: 83 | resolution: {integrity: sha512-l3vuB0AtwHmF25dMiOvBvl30+8Mfdfff/N+IayywsQBeZu6S9Uzf3eQRzPR5eLhyfZDiAH/RlWUN2IhSuAmJjg==} 84 | peerDependencies: 85 | eslint: '>=7.4.0' 86 | dependencies: 87 | '@aliuq/eslint-config-ts': 0.0.3_eslint@8.14.0 88 | eslint: 8.14.0 89 | eslint-plugin-vue: 8.7.1_eslint@8.14.0 90 | transitivePeerDependencies: 91 | - supports-color 92 | - typescript 93 | dev: false 94 | 95 | /@aliuq/eslint-config/0.0.3_eslint@8.14.0: 96 | resolution: {integrity: sha512-t7d3FfC+HPR2al0YyreVhsQNzz2hpqOwTNCeSggZeH6G5q1AM8g2FLlLGTn3MNS8nN7Kt/OtiRITJrgbACjIMQ==} 97 | peerDependencies: 98 | eslint: '>=7.4.0' 99 | dependencies: 100 | '@aliuq/eslint-config-vue': 0.0.3_eslint@8.14.0 101 | eslint: 8.14.0 102 | transitivePeerDependencies: 103 | - supports-color 104 | - typescript 105 | dev: false 106 | 107 | /@ampproject/remapping/2.1.2: 108 | resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==} 109 | engines: {node: '>=6.0.0'} 110 | dependencies: 111 | '@jridgewell/trace-mapping': 0.3.9 112 | dev: true 113 | 114 | /@antfu/eslint-config-basic/0.21.0_eslint@8.14.0: 115 | resolution: {integrity: sha512-XstvwcVGwrbk5IXvDQK+49K9tZLJX5D+ahX4bOHTO45zs204nKHCbhoWjD7WFzSviwjmGYNRvIk1Gj8ys0oOig==} 116 | peerDependencies: 117 | eslint: '>=7.4.0' 118 | dependencies: 119 | eslint: 8.14.0 120 | eslint-plugin-antfu: 0.21.0_eslint@8.14.0 121 | eslint-plugin-eslint-comments: 3.2.0_eslint@8.14.0 122 | eslint-plugin-html: 6.2.0 123 | eslint-plugin-import: 2.26.0_eslint@8.14.0 124 | eslint-plugin-jsonc: 2.2.1_eslint@8.14.0 125 | eslint-plugin-markdown: 2.2.1_eslint@8.14.0 126 | eslint-plugin-n: 15.2.0_eslint@8.14.0 127 | eslint-plugin-promise: 6.0.0_eslint@8.14.0 128 | eslint-plugin-unicorn: 42.0.0_eslint@8.14.0 129 | eslint-plugin-yml: 0.14.0_eslint@8.14.0 130 | jsonc-eslint-parser: 2.1.0 131 | yaml-eslint-parser: 0.5.0 132 | transitivePeerDependencies: 133 | - supports-color 134 | - typescript 135 | dev: false 136 | 137 | /@babel/code-frame/7.16.7: 138 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 139 | engines: {node: '>=6.9.0'} 140 | dependencies: 141 | '@babel/highlight': 7.17.9 142 | 143 | /@babel/compat-data/7.17.7: 144 | resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==} 145 | engines: {node: '>=6.9.0'} 146 | dev: true 147 | 148 | /@babel/core/7.17.9: 149 | resolution: {integrity: sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==} 150 | engines: {node: '>=6.9.0'} 151 | dependencies: 152 | '@ampproject/remapping': 2.1.2 153 | '@babel/code-frame': 7.16.7 154 | '@babel/generator': 7.17.9 155 | '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9 156 | '@babel/helper-module-transforms': 7.17.7 157 | '@babel/helpers': 7.17.9 158 | '@babel/parser': 7.17.9 159 | '@babel/template': 7.16.7 160 | '@babel/traverse': 7.17.9 161 | '@babel/types': 7.17.0 162 | convert-source-map: 1.8.0 163 | debug: 4.3.4 164 | gensync: 1.0.0-beta.2 165 | json5: 2.2.1 166 | semver: 6.3.0 167 | transitivePeerDependencies: 168 | - supports-color 169 | dev: true 170 | 171 | /@babel/generator/7.17.9: 172 | resolution: {integrity: sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==} 173 | engines: {node: '>=6.9.0'} 174 | dependencies: 175 | '@babel/types': 7.17.0 176 | jsesc: 2.5.2 177 | source-map: 0.5.7 178 | dev: true 179 | 180 | /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.9: 181 | resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==} 182 | engines: {node: '>=6.9.0'} 183 | peerDependencies: 184 | '@babel/core': ^7.0.0 185 | dependencies: 186 | '@babel/compat-data': 7.17.7 187 | '@babel/core': 7.17.9 188 | '@babel/helper-validator-option': 7.16.7 189 | browserslist: 4.20.3 190 | semver: 6.3.0 191 | dev: true 192 | 193 | /@babel/helper-environment-visitor/7.16.7: 194 | resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} 195 | engines: {node: '>=6.9.0'} 196 | dependencies: 197 | '@babel/types': 7.17.0 198 | dev: true 199 | 200 | /@babel/helper-function-name/7.17.9: 201 | resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} 202 | engines: {node: '>=6.9.0'} 203 | dependencies: 204 | '@babel/template': 7.16.7 205 | '@babel/types': 7.17.0 206 | dev: true 207 | 208 | /@babel/helper-hoist-variables/7.16.7: 209 | resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} 210 | engines: {node: '>=6.9.0'} 211 | dependencies: 212 | '@babel/types': 7.17.0 213 | dev: true 214 | 215 | /@babel/helper-module-imports/7.16.7: 216 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} 217 | engines: {node: '>=6.9.0'} 218 | dependencies: 219 | '@babel/types': 7.17.0 220 | dev: true 221 | 222 | /@babel/helper-module-transforms/7.17.7: 223 | resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==} 224 | engines: {node: '>=6.9.0'} 225 | dependencies: 226 | '@babel/helper-environment-visitor': 7.16.7 227 | '@babel/helper-module-imports': 7.16.7 228 | '@babel/helper-simple-access': 7.17.7 229 | '@babel/helper-split-export-declaration': 7.16.7 230 | '@babel/helper-validator-identifier': 7.16.7 231 | '@babel/template': 7.16.7 232 | '@babel/traverse': 7.17.9 233 | '@babel/types': 7.17.0 234 | transitivePeerDependencies: 235 | - supports-color 236 | dev: true 237 | 238 | /@babel/helper-simple-access/7.17.7: 239 | resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==} 240 | engines: {node: '>=6.9.0'} 241 | dependencies: 242 | '@babel/types': 7.17.0 243 | dev: true 244 | 245 | /@babel/helper-split-export-declaration/7.16.7: 246 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} 247 | engines: {node: '>=6.9.0'} 248 | dependencies: 249 | '@babel/types': 7.17.0 250 | dev: true 251 | 252 | /@babel/helper-validator-identifier/7.16.7: 253 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 254 | engines: {node: '>=6.9.0'} 255 | 256 | /@babel/helper-validator-option/7.16.7: 257 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} 258 | engines: {node: '>=6.9.0'} 259 | dev: true 260 | 261 | /@babel/helpers/7.17.9: 262 | resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==} 263 | engines: {node: '>=6.9.0'} 264 | dependencies: 265 | '@babel/template': 7.16.7 266 | '@babel/traverse': 7.17.9 267 | '@babel/types': 7.17.0 268 | transitivePeerDependencies: 269 | - supports-color 270 | dev: true 271 | 272 | /@babel/highlight/7.17.9: 273 | resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} 274 | engines: {node: '>=6.9.0'} 275 | dependencies: 276 | '@babel/helper-validator-identifier': 7.16.7 277 | chalk: 2.4.2 278 | js-tokens: 4.0.0 279 | 280 | /@babel/parser/7.17.9: 281 | resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==} 282 | engines: {node: '>=6.0.0'} 283 | hasBin: true 284 | dev: true 285 | 286 | /@babel/standalone/7.17.9: 287 | resolution: {integrity: sha512-9wL9AtDlga8avxUrBvQJmhUtJWrelsUL0uV+TcP+49Sb6Pj8/bNIzQzU4dDp0NAPOvnZR/7msFIKsKoCl/W1/w==} 288 | engines: {node: '>=6.9.0'} 289 | dev: true 290 | 291 | /@babel/template/7.16.7: 292 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} 293 | engines: {node: '>=6.9.0'} 294 | dependencies: 295 | '@babel/code-frame': 7.16.7 296 | '@babel/parser': 7.17.9 297 | '@babel/types': 7.17.0 298 | dev: true 299 | 300 | /@babel/traverse/7.17.9: 301 | resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==} 302 | engines: {node: '>=6.9.0'} 303 | dependencies: 304 | '@babel/code-frame': 7.16.7 305 | '@babel/generator': 7.17.9 306 | '@babel/helper-environment-visitor': 7.16.7 307 | '@babel/helper-function-name': 7.17.9 308 | '@babel/helper-hoist-variables': 7.16.7 309 | '@babel/helper-split-export-declaration': 7.16.7 310 | '@babel/parser': 7.17.9 311 | '@babel/types': 7.17.0 312 | debug: 4.3.4 313 | globals: 11.12.0 314 | transitivePeerDependencies: 315 | - supports-color 316 | dev: true 317 | 318 | /@babel/types/7.17.0: 319 | resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} 320 | engines: {node: '>=6.9.0'} 321 | dependencies: 322 | '@babel/helper-validator-identifier': 7.16.7 323 | to-fast-properties: 2.0.0 324 | dev: true 325 | 326 | /@eslint/eslintrc/1.2.2: 327 | resolution: {integrity: sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==} 328 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 329 | dependencies: 330 | ajv: 6.12.6 331 | debug: 4.3.4 332 | espree: 9.3.1 333 | globals: 13.13.0 334 | ignore: 5.2.0 335 | import-fresh: 3.3.0 336 | js-yaml: 4.1.0 337 | minimatch: 3.1.2 338 | strip-json-comments: 3.1.1 339 | transitivePeerDependencies: 340 | - supports-color 341 | dev: true 342 | 343 | /@humanwhocodes/config-array/0.9.5: 344 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 345 | engines: {node: '>=10.10.0'} 346 | dependencies: 347 | '@humanwhocodes/object-schema': 1.2.1 348 | debug: 4.3.4 349 | minimatch: 3.1.2 350 | transitivePeerDependencies: 351 | - supports-color 352 | dev: true 353 | 354 | /@humanwhocodes/object-schema/1.2.1: 355 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 356 | dev: true 357 | 358 | /@jridgewell/resolve-uri/3.0.6: 359 | resolution: {integrity: sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==} 360 | engines: {node: '>=6.0.0'} 361 | dev: true 362 | 363 | /@jridgewell/sourcemap-codec/1.4.11: 364 | resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==} 365 | dev: true 366 | 367 | /@jridgewell/trace-mapping/0.3.9: 368 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 369 | dependencies: 370 | '@jridgewell/resolve-uri': 3.0.6 371 | '@jridgewell/sourcemap-codec': 1.4.11 372 | dev: true 373 | 374 | /@nodelib/fs.scandir/2.1.5: 375 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 376 | engines: {node: '>= 8'} 377 | dependencies: 378 | '@nodelib/fs.stat': 2.0.5 379 | run-parallel: 1.2.0 380 | 381 | /@nodelib/fs.stat/2.0.5: 382 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 383 | engines: {node: '>= 8'} 384 | 385 | /@nodelib/fs.walk/1.2.8: 386 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 387 | engines: {node: '>= 8'} 388 | dependencies: 389 | '@nodelib/fs.scandir': 2.1.5 390 | fastq: 1.13.0 391 | 392 | /@rollup/plugin-alias/3.1.9_rollup@2.70.2: 393 | resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} 394 | engines: {node: '>=8.0.0'} 395 | peerDependencies: 396 | rollup: ^1.20.0||^2.0.0 397 | dependencies: 398 | rollup: 2.70.2 399 | slash: 3.0.0 400 | dev: true 401 | 402 | /@rollup/plugin-commonjs/21.1.0_rollup@2.70.2: 403 | resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==} 404 | engines: {node: '>= 8.0.0'} 405 | peerDependencies: 406 | rollup: ^2.38.3 407 | dependencies: 408 | '@rollup/pluginutils': 3.1.0_rollup@2.70.2 409 | commondir: 1.0.1 410 | estree-walker: 2.0.2 411 | glob: 7.2.0 412 | is-reference: 1.2.1 413 | magic-string: 0.25.9 414 | resolve: 1.22.0 415 | rollup: 2.70.2 416 | dev: true 417 | 418 | /@rollup/plugin-json/4.1.0_rollup@2.70.2: 419 | resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} 420 | peerDependencies: 421 | rollup: ^1.20.0 || ^2.0.0 422 | dependencies: 423 | '@rollup/pluginutils': 3.1.0_rollup@2.70.2 424 | rollup: 2.70.2 425 | dev: true 426 | 427 | /@rollup/plugin-node-resolve/13.2.1_rollup@2.70.2: 428 | resolution: {integrity: sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==} 429 | engines: {node: '>= 10.0.0'} 430 | peerDependencies: 431 | rollup: ^2.42.0 432 | dependencies: 433 | '@rollup/pluginutils': 3.1.0_rollup@2.70.2 434 | '@types/resolve': 1.17.1 435 | builtin-modules: 3.2.0 436 | deepmerge: 4.2.2 437 | is-module: 1.0.0 438 | resolve: 1.22.0 439 | rollup: 2.70.2 440 | dev: true 441 | 442 | /@rollup/plugin-replace/4.0.0_rollup@2.70.2: 443 | resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} 444 | peerDependencies: 445 | rollup: ^1.20.0 || ^2.0.0 446 | dependencies: 447 | '@rollup/pluginutils': 3.1.0_rollup@2.70.2 448 | magic-string: 0.25.9 449 | rollup: 2.70.2 450 | dev: true 451 | 452 | /@rollup/pluginutils/3.1.0_rollup@2.70.2: 453 | resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} 454 | engines: {node: '>= 8.0.0'} 455 | peerDependencies: 456 | rollup: ^1.20.0||^2.0.0 457 | dependencies: 458 | '@types/estree': 0.0.39 459 | estree-walker: 1.0.1 460 | picomatch: 2.3.1 461 | rollup: 2.70.2 462 | dev: true 463 | 464 | /@rollup/pluginutils/4.2.1: 465 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 466 | engines: {node: '>= 8.0.0'} 467 | dependencies: 468 | estree-walker: 2.0.2 469 | picomatch: 2.3.1 470 | dev: true 471 | 472 | /@types/estree/0.0.39: 473 | resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} 474 | dev: true 475 | 476 | /@types/estree/0.0.51: 477 | resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} 478 | dev: true 479 | 480 | /@types/fs-extra/9.0.13: 481 | resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} 482 | dependencies: 483 | '@types/node': 17.0.25 484 | dev: true 485 | 486 | /@types/glob/7.2.0: 487 | resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} 488 | dependencies: 489 | '@types/minimatch': 3.0.5 490 | '@types/node': 17.0.25 491 | dev: true 492 | 493 | /@types/json-schema/7.0.11: 494 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 495 | dev: false 496 | 497 | /@types/json5/0.0.29: 498 | resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} 499 | dev: false 500 | 501 | /@types/lodash-es/4.17.6: 502 | resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==} 503 | dependencies: 504 | '@types/lodash': 4.14.182 505 | dev: true 506 | 507 | /@types/lodash/4.14.182: 508 | resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==} 509 | dev: true 510 | 511 | /@types/mdast/3.0.10: 512 | resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} 513 | dependencies: 514 | '@types/unist': 2.0.6 515 | dev: false 516 | 517 | /@types/minimatch/3.0.5: 518 | resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} 519 | dev: true 520 | 521 | /@types/node/17.0.25: 522 | resolution: {integrity: sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==} 523 | dev: true 524 | 525 | /@types/normalize-package-data/2.4.1: 526 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 527 | dev: false 528 | 529 | /@types/resolve/1.17.1: 530 | resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} 531 | dependencies: 532 | '@types/node': 17.0.25 533 | dev: true 534 | 535 | /@types/unist/2.0.6: 536 | resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} 537 | dev: false 538 | 539 | /@types/yargs-parser/21.0.0: 540 | resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} 541 | dev: true 542 | 543 | /@types/yargs/17.0.10: 544 | resolution: {integrity: sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==} 545 | dependencies: 546 | '@types/yargs-parser': 21.0.0 547 | dev: true 548 | 549 | /@typescript-eslint/eslint-plugin/5.20.0_10f1225cae0df3f21a1124c66f13148b: 550 | resolution: {integrity: sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==} 551 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 552 | peerDependencies: 553 | '@typescript-eslint/parser': ^5.0.0 554 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 555 | typescript: '*' 556 | peerDependenciesMeta: 557 | typescript: 558 | optional: true 559 | dependencies: 560 | '@typescript-eslint/parser': 5.20.0_eslint@8.14.0 561 | '@typescript-eslint/scope-manager': 5.20.0 562 | '@typescript-eslint/type-utils': 5.20.0_eslint@8.14.0 563 | '@typescript-eslint/utils': 5.20.0_eslint@8.14.0 564 | debug: 4.3.4 565 | eslint: 8.14.0 566 | functional-red-black-tree: 1.0.1 567 | ignore: 5.2.0 568 | regexpp: 3.2.0 569 | semver: 7.3.7 570 | tsutils: 3.21.0 571 | transitivePeerDependencies: 572 | - supports-color 573 | dev: false 574 | 575 | /@typescript-eslint/parser/5.20.0_eslint@8.14.0: 576 | resolution: {integrity: sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==} 577 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 578 | peerDependencies: 579 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 580 | typescript: '*' 581 | peerDependenciesMeta: 582 | typescript: 583 | optional: true 584 | dependencies: 585 | '@typescript-eslint/scope-manager': 5.20.0 586 | '@typescript-eslint/types': 5.20.0 587 | '@typescript-eslint/typescript-estree': 5.20.0 588 | debug: 4.3.4 589 | eslint: 8.14.0 590 | transitivePeerDependencies: 591 | - supports-color 592 | dev: false 593 | 594 | /@typescript-eslint/scope-manager/5.20.0: 595 | resolution: {integrity: sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==} 596 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 597 | dependencies: 598 | '@typescript-eslint/types': 5.20.0 599 | '@typescript-eslint/visitor-keys': 5.20.0 600 | dev: false 601 | 602 | /@typescript-eslint/type-utils/5.20.0_eslint@8.14.0: 603 | resolution: {integrity: sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==} 604 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 605 | peerDependencies: 606 | eslint: '*' 607 | typescript: '*' 608 | peerDependenciesMeta: 609 | typescript: 610 | optional: true 611 | dependencies: 612 | '@typescript-eslint/utils': 5.20.0_eslint@8.14.0 613 | debug: 4.3.4 614 | eslint: 8.14.0 615 | tsutils: 3.21.0 616 | transitivePeerDependencies: 617 | - supports-color 618 | dev: false 619 | 620 | /@typescript-eslint/types/5.20.0: 621 | resolution: {integrity: sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==} 622 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 623 | dev: false 624 | 625 | /@typescript-eslint/typescript-estree/5.20.0: 626 | resolution: {integrity: sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==} 627 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 628 | peerDependencies: 629 | typescript: '*' 630 | peerDependenciesMeta: 631 | typescript: 632 | optional: true 633 | dependencies: 634 | '@typescript-eslint/types': 5.20.0 635 | '@typescript-eslint/visitor-keys': 5.20.0 636 | debug: 4.3.4 637 | globby: 11.1.0 638 | is-glob: 4.0.3 639 | semver: 7.3.7 640 | tsutils: 3.21.0 641 | transitivePeerDependencies: 642 | - supports-color 643 | dev: false 644 | 645 | /@typescript-eslint/utils/5.20.0_eslint@8.14.0: 646 | resolution: {integrity: sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==} 647 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 648 | peerDependencies: 649 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 650 | dependencies: 651 | '@types/json-schema': 7.0.11 652 | '@typescript-eslint/scope-manager': 5.20.0 653 | '@typescript-eslint/types': 5.20.0 654 | '@typescript-eslint/typescript-estree': 5.20.0 655 | eslint: 8.14.0 656 | eslint-scope: 5.1.1 657 | eslint-utils: 3.0.0_eslint@8.14.0 658 | transitivePeerDependencies: 659 | - supports-color 660 | - typescript 661 | dev: false 662 | 663 | /@typescript-eslint/visitor-keys/5.20.0: 664 | resolution: {integrity: sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==} 665 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 666 | dependencies: 667 | '@typescript-eslint/types': 5.20.0 668 | eslint-visitor-keys: 3.3.0 669 | dev: false 670 | 671 | /acorn-jsx/5.3.2_acorn@8.7.0: 672 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 673 | peerDependencies: 674 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 675 | dependencies: 676 | acorn: 8.7.0 677 | 678 | /acorn/8.7.0: 679 | resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} 680 | engines: {node: '>=0.4.0'} 681 | hasBin: true 682 | 683 | /ajv/6.12.6: 684 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 685 | dependencies: 686 | fast-deep-equal: 3.1.3 687 | fast-json-stable-stringify: 2.1.0 688 | json-schema-traverse: 0.4.1 689 | uri-js: 4.4.1 690 | dev: true 691 | 692 | /ansi-regex/5.0.1: 693 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 694 | engines: {node: '>=8'} 695 | 696 | /ansi-styles/3.2.1: 697 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 698 | engines: {node: '>=4'} 699 | dependencies: 700 | color-convert: 1.9.3 701 | 702 | /ansi-styles/4.3.0: 703 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 704 | engines: {node: '>=8'} 705 | dependencies: 706 | color-convert: 2.0.1 707 | 708 | /archiver-utils/2.1.0: 709 | resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} 710 | engines: {node: '>= 6'} 711 | dependencies: 712 | glob: 7.2.0 713 | graceful-fs: 4.2.10 714 | lazystream: 1.0.1 715 | lodash.defaults: 4.2.0 716 | lodash.difference: 4.5.0 717 | lodash.flatten: 4.4.0 718 | lodash.isplainobject: 4.0.6 719 | lodash.union: 4.6.0 720 | normalize-path: 3.0.0 721 | readable-stream: 2.3.7 722 | dev: false 723 | 724 | /archiver/5.3.1: 725 | resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==} 726 | engines: {node: '>= 10'} 727 | dependencies: 728 | archiver-utils: 2.1.0 729 | async: 3.2.3 730 | buffer-crc32: 0.2.13 731 | readable-stream: 3.6.0 732 | readdir-glob: 1.1.1 733 | tar-stream: 2.2.0 734 | zip-stream: 4.1.0 735 | dev: false 736 | 737 | /argparse/2.0.1: 738 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 739 | dev: true 740 | 741 | /array-includes/3.1.4: 742 | resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} 743 | engines: {node: '>= 0.4'} 744 | dependencies: 745 | call-bind: 1.0.2 746 | define-properties: 1.1.4 747 | es-abstract: 1.19.5 748 | get-intrinsic: 1.1.1 749 | is-string: 1.0.7 750 | dev: false 751 | 752 | /array-union/2.1.0: 753 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 754 | engines: {node: '>=8'} 755 | 756 | /array.prototype.flat/1.3.0: 757 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 758 | engines: {node: '>= 0.4'} 759 | dependencies: 760 | call-bind: 1.0.2 761 | define-properties: 1.1.4 762 | es-abstract: 1.19.5 763 | es-shim-unscopables: 1.0.0 764 | dev: false 765 | 766 | /async/3.2.3: 767 | resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} 768 | dev: false 769 | 770 | /at-least-node/1.0.0: 771 | resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} 772 | engines: {node: '>= 4.0.0'} 773 | dev: false 774 | 775 | /balanced-match/1.0.2: 776 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 777 | 778 | /base64-js/1.5.1: 779 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 780 | dev: false 781 | 782 | /bl/4.1.0: 783 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 784 | dependencies: 785 | buffer: 5.7.1 786 | inherits: 2.0.4 787 | readable-stream: 3.6.0 788 | dev: false 789 | 790 | /boolbase/1.0.0: 791 | resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} 792 | dev: false 793 | 794 | /brace-expansion/1.1.11: 795 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 796 | dependencies: 797 | balanced-match: 1.0.2 798 | concat-map: 0.0.1 799 | 800 | /braces/3.0.2: 801 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 802 | engines: {node: '>=8'} 803 | dependencies: 804 | fill-range: 7.0.1 805 | 806 | /browserslist/4.20.3: 807 | resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==} 808 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 809 | hasBin: true 810 | dependencies: 811 | caniuse-lite: 1.0.30001332 812 | electron-to-chromium: 1.4.118 813 | escalade: 3.1.1 814 | node-releases: 2.0.3 815 | picocolors: 1.0.0 816 | dev: true 817 | 818 | /buffer-crc32/0.2.13: 819 | resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} 820 | dev: false 821 | 822 | /buffer/5.7.1: 823 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 824 | dependencies: 825 | base64-js: 1.5.1 826 | ieee754: 1.2.1 827 | dev: false 828 | 829 | /builtin-modules/3.2.0: 830 | resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} 831 | engines: {node: '>=6'} 832 | 833 | /builtins/4.1.0: 834 | resolution: {integrity: sha512-1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==} 835 | dependencies: 836 | semver: 7.3.7 837 | 838 | /byte-size/8.1.0: 839 | resolution: {integrity: sha512-FkgMTAg44I0JtEaUAvuZTtU2a2YDmBRbQxdsQNSMtLCjhG0hMcF5b1IMN9UjSCJaU4nvlj/GER7B9sI4nKdCgA==} 840 | engines: {node: '>=12.17'} 841 | dev: false 842 | 843 | /call-bind/1.0.2: 844 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 845 | dependencies: 846 | function-bind: 1.1.1 847 | get-intrinsic: 1.1.1 848 | dev: false 849 | 850 | /callsites/3.1.0: 851 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 852 | engines: {node: '>=6'} 853 | dev: true 854 | 855 | /caniuse-lite/1.0.30001332: 856 | resolution: {integrity: sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==} 857 | dev: true 858 | 859 | /chalk/2.4.2: 860 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 861 | engines: {node: '>=4'} 862 | dependencies: 863 | ansi-styles: 3.2.1 864 | escape-string-regexp: 1.0.5 865 | supports-color: 5.5.0 866 | 867 | /chalk/4.1.2: 868 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 869 | engines: {node: '>=10'} 870 | dependencies: 871 | ansi-styles: 4.3.0 872 | supports-color: 7.2.0 873 | dev: true 874 | 875 | /chalk/5.0.1: 876 | resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} 877 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 878 | dev: true 879 | 880 | /character-entities-legacy/1.1.4: 881 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} 882 | dev: false 883 | 884 | /character-entities/1.2.4: 885 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} 886 | dev: false 887 | 888 | /character-reference-invalid/1.1.4: 889 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} 890 | dev: false 891 | 892 | /ci-info/3.3.0: 893 | resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} 894 | dev: false 895 | 896 | /clean-regexp/1.0.0: 897 | resolution: {integrity: sha1-jffHquUf02h06PjQW5GAvBGj/tc=} 898 | engines: {node: '>=4'} 899 | dependencies: 900 | escape-string-regexp: 1.0.5 901 | dev: false 902 | 903 | /cliui/7.0.4: 904 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 905 | dependencies: 906 | string-width: 4.2.3 907 | strip-ansi: 6.0.1 908 | wrap-ansi: 7.0.0 909 | dev: false 910 | 911 | /color-convert/1.9.3: 912 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 913 | dependencies: 914 | color-name: 1.1.3 915 | 916 | /color-convert/2.0.1: 917 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 918 | engines: {node: '>=7.0.0'} 919 | dependencies: 920 | color-name: 1.1.4 921 | 922 | /color-name/1.1.3: 923 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} 924 | 925 | /color-name/1.1.4: 926 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 927 | 928 | /commondir/1.0.1: 929 | resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} 930 | dev: true 931 | 932 | /compress-commons/4.1.1: 933 | resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==} 934 | engines: {node: '>= 10'} 935 | dependencies: 936 | buffer-crc32: 0.2.13 937 | crc32-stream: 4.0.2 938 | normalize-path: 3.0.0 939 | readable-stream: 3.6.0 940 | dev: false 941 | 942 | /concat-map/0.0.1: 943 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 944 | 945 | /consola/2.15.3: 946 | resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} 947 | dev: true 948 | 949 | /convert-source-map/1.8.0: 950 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 951 | dependencies: 952 | safe-buffer: 5.1.2 953 | dev: true 954 | 955 | /core-util-is/1.0.3: 956 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 957 | dev: false 958 | 959 | /crc-32/1.2.2: 960 | resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} 961 | engines: {node: '>=0.8'} 962 | hasBin: true 963 | dev: false 964 | 965 | /crc32-stream/4.0.2: 966 | resolution: {integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==} 967 | engines: {node: '>= 10'} 968 | dependencies: 969 | crc-32: 1.2.2 970 | readable-stream: 3.6.0 971 | dev: false 972 | 973 | /cross-env/7.0.3: 974 | resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} 975 | engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} 976 | hasBin: true 977 | dependencies: 978 | cross-spawn: 7.0.3 979 | dev: true 980 | 981 | /cross-spawn/7.0.3: 982 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 983 | engines: {node: '>= 8'} 984 | dependencies: 985 | path-key: 3.1.1 986 | shebang-command: 2.0.0 987 | which: 2.0.2 988 | dev: true 989 | 990 | /cssesc/3.0.0: 991 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 992 | engines: {node: '>=4'} 993 | hasBin: true 994 | dev: false 995 | 996 | /debug/2.6.9: 997 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 998 | dependencies: 999 | ms: 2.0.0 1000 | dev: false 1001 | 1002 | /debug/3.2.7: 1003 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1004 | dependencies: 1005 | ms: 2.1.3 1006 | dev: false 1007 | 1008 | /debug/4.3.4: 1009 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1010 | engines: {node: '>=6.0'} 1011 | peerDependencies: 1012 | supports-color: '*' 1013 | peerDependenciesMeta: 1014 | supports-color: 1015 | optional: true 1016 | dependencies: 1017 | ms: 2.1.2 1018 | 1019 | /deep-is/0.1.4: 1020 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1021 | dev: true 1022 | 1023 | /deepmerge/4.2.2: 1024 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} 1025 | engines: {node: '>=0.10.0'} 1026 | dev: true 1027 | 1028 | /define-properties/1.1.4: 1029 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 1030 | engines: {node: '>= 0.4'} 1031 | dependencies: 1032 | has-property-descriptors: 1.0.0 1033 | object-keys: 1.1.1 1034 | dev: false 1035 | 1036 | /defu/5.0.1: 1037 | resolution: {integrity: sha512-EPS1carKg+dkEVy3qNTqIdp2qV7mUP08nIsupfwQpz++slCVRw7qbQyWvSTig+kFPwz2XXp5/kIIkH+CwrJKkQ==} 1038 | dev: true 1039 | 1040 | /defu/6.0.0: 1041 | resolution: {integrity: sha512-t2MZGLf1V2rV4VBZbWIaXKdX/mUcYW0n2znQZoADBkGGxYL8EWqCuCZBmJPJ/Yy9fofJkyuuSuo5GSwo0XdEgw==} 1042 | dev: true 1043 | 1044 | /dir-glob/3.0.1: 1045 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1046 | engines: {node: '>=8'} 1047 | dependencies: 1048 | path-type: 4.0.0 1049 | 1050 | /doctrine/2.1.0: 1051 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1052 | engines: {node: '>=0.10.0'} 1053 | dependencies: 1054 | esutils: 2.0.3 1055 | dev: false 1056 | 1057 | /doctrine/3.0.0: 1058 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1059 | engines: {node: '>=6.0.0'} 1060 | dependencies: 1061 | esutils: 2.0.3 1062 | dev: true 1063 | 1064 | /dom-serializer/1.4.1: 1065 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} 1066 | dependencies: 1067 | domelementtype: 2.3.0 1068 | domhandler: 4.3.1 1069 | entities: 2.2.0 1070 | dev: false 1071 | 1072 | /domelementtype/2.3.0: 1073 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 1074 | dev: false 1075 | 1076 | /domhandler/4.3.1: 1077 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} 1078 | engines: {node: '>= 4'} 1079 | dependencies: 1080 | domelementtype: 2.3.0 1081 | dev: false 1082 | 1083 | /domutils/2.8.0: 1084 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} 1085 | dependencies: 1086 | dom-serializer: 1.4.1 1087 | domelementtype: 2.3.0 1088 | domhandler: 4.3.1 1089 | dev: false 1090 | 1091 | /electron-to-chromium/1.4.118: 1092 | resolution: {integrity: sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==} 1093 | dev: true 1094 | 1095 | /emoji-regex/8.0.0: 1096 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1097 | dev: false 1098 | 1099 | /end-of-stream/1.4.4: 1100 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 1101 | dependencies: 1102 | once: 1.4.0 1103 | dev: false 1104 | 1105 | /entities/2.2.0: 1106 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} 1107 | dev: false 1108 | 1109 | /entities/3.0.1: 1110 | resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} 1111 | engines: {node: '>=0.12'} 1112 | dev: false 1113 | 1114 | /error-ex/1.3.2: 1115 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1116 | dependencies: 1117 | is-arrayish: 0.2.1 1118 | dev: false 1119 | 1120 | /es-abstract/1.19.5: 1121 | resolution: {integrity: sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==} 1122 | engines: {node: '>= 0.4'} 1123 | dependencies: 1124 | call-bind: 1.0.2 1125 | es-to-primitive: 1.2.1 1126 | function-bind: 1.1.1 1127 | get-intrinsic: 1.1.1 1128 | get-symbol-description: 1.0.0 1129 | has: 1.0.3 1130 | has-symbols: 1.0.3 1131 | internal-slot: 1.0.3 1132 | is-callable: 1.2.4 1133 | is-negative-zero: 2.0.2 1134 | is-regex: 1.1.4 1135 | is-shared-array-buffer: 1.0.2 1136 | is-string: 1.0.7 1137 | is-weakref: 1.0.2 1138 | object-inspect: 1.12.0 1139 | object-keys: 1.1.1 1140 | object.assign: 4.1.2 1141 | string.prototype.trimend: 1.0.4 1142 | string.prototype.trimstart: 1.0.4 1143 | unbox-primitive: 1.0.2 1144 | dev: false 1145 | 1146 | /es-module-lexer/0.9.3: 1147 | resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} 1148 | dev: true 1149 | 1150 | /es-shim-unscopables/1.0.0: 1151 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1152 | dependencies: 1153 | has: 1.0.3 1154 | dev: false 1155 | 1156 | /es-to-primitive/1.2.1: 1157 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1158 | engines: {node: '>= 0.4'} 1159 | dependencies: 1160 | is-callable: 1.2.4 1161 | is-date-object: 1.0.5 1162 | is-symbol: 1.0.4 1163 | dev: false 1164 | 1165 | /esbuild-android-64/0.14.38: 1166 | resolution: {integrity: sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==} 1167 | engines: {node: '>=12'} 1168 | cpu: [x64] 1169 | os: [android] 1170 | requiresBuild: true 1171 | dev: true 1172 | optional: true 1173 | 1174 | /esbuild-android-arm64/0.13.15: 1175 | resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} 1176 | cpu: [arm64] 1177 | os: [android] 1178 | requiresBuild: true 1179 | dev: true 1180 | optional: true 1181 | 1182 | /esbuild-android-arm64/0.14.38: 1183 | resolution: {integrity: sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==} 1184 | engines: {node: '>=12'} 1185 | cpu: [arm64] 1186 | os: [android] 1187 | requiresBuild: true 1188 | dev: true 1189 | optional: true 1190 | 1191 | /esbuild-darwin-64/0.13.15: 1192 | resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} 1193 | cpu: [x64] 1194 | os: [darwin] 1195 | requiresBuild: true 1196 | dev: true 1197 | optional: true 1198 | 1199 | /esbuild-darwin-64/0.14.38: 1200 | resolution: {integrity: sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==} 1201 | engines: {node: '>=12'} 1202 | cpu: [x64] 1203 | os: [darwin] 1204 | requiresBuild: true 1205 | dev: true 1206 | optional: true 1207 | 1208 | /esbuild-darwin-arm64/0.13.15: 1209 | resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} 1210 | cpu: [arm64] 1211 | os: [darwin] 1212 | requiresBuild: true 1213 | dev: true 1214 | optional: true 1215 | 1216 | /esbuild-darwin-arm64/0.14.38: 1217 | resolution: {integrity: sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==} 1218 | engines: {node: '>=12'} 1219 | cpu: [arm64] 1220 | os: [darwin] 1221 | requiresBuild: true 1222 | dev: true 1223 | optional: true 1224 | 1225 | /esbuild-freebsd-64/0.13.15: 1226 | resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} 1227 | cpu: [x64] 1228 | os: [freebsd] 1229 | requiresBuild: true 1230 | dev: true 1231 | optional: true 1232 | 1233 | /esbuild-freebsd-64/0.14.38: 1234 | resolution: {integrity: sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==} 1235 | engines: {node: '>=12'} 1236 | cpu: [x64] 1237 | os: [freebsd] 1238 | requiresBuild: true 1239 | dev: true 1240 | optional: true 1241 | 1242 | /esbuild-freebsd-arm64/0.13.15: 1243 | resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} 1244 | cpu: [arm64] 1245 | os: [freebsd] 1246 | requiresBuild: true 1247 | dev: true 1248 | optional: true 1249 | 1250 | /esbuild-freebsd-arm64/0.14.38: 1251 | resolution: {integrity: sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==} 1252 | engines: {node: '>=12'} 1253 | cpu: [arm64] 1254 | os: [freebsd] 1255 | requiresBuild: true 1256 | dev: true 1257 | optional: true 1258 | 1259 | /esbuild-linux-32/0.13.15: 1260 | resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} 1261 | cpu: [ia32] 1262 | os: [linux] 1263 | requiresBuild: true 1264 | dev: true 1265 | optional: true 1266 | 1267 | /esbuild-linux-32/0.14.38: 1268 | resolution: {integrity: sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==} 1269 | engines: {node: '>=12'} 1270 | cpu: [ia32] 1271 | os: [linux] 1272 | requiresBuild: true 1273 | dev: true 1274 | optional: true 1275 | 1276 | /esbuild-linux-64/0.13.15: 1277 | resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} 1278 | cpu: [x64] 1279 | os: [linux] 1280 | requiresBuild: true 1281 | dev: true 1282 | optional: true 1283 | 1284 | /esbuild-linux-64/0.14.38: 1285 | resolution: {integrity: sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==} 1286 | engines: {node: '>=12'} 1287 | cpu: [x64] 1288 | os: [linux] 1289 | requiresBuild: true 1290 | dev: true 1291 | optional: true 1292 | 1293 | /esbuild-linux-arm/0.13.15: 1294 | resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} 1295 | cpu: [arm] 1296 | os: [linux] 1297 | requiresBuild: true 1298 | dev: true 1299 | optional: true 1300 | 1301 | /esbuild-linux-arm/0.14.38: 1302 | resolution: {integrity: sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==} 1303 | engines: {node: '>=12'} 1304 | cpu: [arm] 1305 | os: [linux] 1306 | requiresBuild: true 1307 | dev: true 1308 | optional: true 1309 | 1310 | /esbuild-linux-arm64/0.13.15: 1311 | resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} 1312 | cpu: [arm64] 1313 | os: [linux] 1314 | requiresBuild: true 1315 | dev: true 1316 | optional: true 1317 | 1318 | /esbuild-linux-arm64/0.14.38: 1319 | resolution: {integrity: sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==} 1320 | engines: {node: '>=12'} 1321 | cpu: [arm64] 1322 | os: [linux] 1323 | requiresBuild: true 1324 | dev: true 1325 | optional: true 1326 | 1327 | /esbuild-linux-mips64le/0.13.15: 1328 | resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} 1329 | cpu: [mips64el] 1330 | os: [linux] 1331 | requiresBuild: true 1332 | dev: true 1333 | optional: true 1334 | 1335 | /esbuild-linux-mips64le/0.14.38: 1336 | resolution: {integrity: sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==} 1337 | engines: {node: '>=12'} 1338 | cpu: [mips64el] 1339 | os: [linux] 1340 | requiresBuild: true 1341 | dev: true 1342 | optional: true 1343 | 1344 | /esbuild-linux-ppc64le/0.13.15: 1345 | resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} 1346 | cpu: [ppc64] 1347 | os: [linux] 1348 | requiresBuild: true 1349 | dev: true 1350 | optional: true 1351 | 1352 | /esbuild-linux-ppc64le/0.14.38: 1353 | resolution: {integrity: sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==} 1354 | engines: {node: '>=12'} 1355 | cpu: [ppc64] 1356 | os: [linux] 1357 | requiresBuild: true 1358 | dev: true 1359 | optional: true 1360 | 1361 | /esbuild-linux-riscv64/0.14.38: 1362 | resolution: {integrity: sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==} 1363 | engines: {node: '>=12'} 1364 | cpu: [riscv64] 1365 | os: [linux] 1366 | requiresBuild: true 1367 | dev: true 1368 | optional: true 1369 | 1370 | /esbuild-linux-s390x/0.14.38: 1371 | resolution: {integrity: sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==} 1372 | engines: {node: '>=12'} 1373 | cpu: [s390x] 1374 | os: [linux] 1375 | requiresBuild: true 1376 | dev: true 1377 | optional: true 1378 | 1379 | /esbuild-netbsd-64/0.13.15: 1380 | resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} 1381 | cpu: [x64] 1382 | os: [netbsd] 1383 | requiresBuild: true 1384 | dev: true 1385 | optional: true 1386 | 1387 | /esbuild-netbsd-64/0.14.38: 1388 | resolution: {integrity: sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==} 1389 | engines: {node: '>=12'} 1390 | cpu: [x64] 1391 | os: [netbsd] 1392 | requiresBuild: true 1393 | dev: true 1394 | optional: true 1395 | 1396 | /esbuild-node-loader/0.6.5: 1397 | resolution: {integrity: sha512-uPP+dllWm38cFvDysdocutN3lfe5pTIbddAHp1ENyLzpHYqE2r+3Wo+pfg9X3p8DFWwzIisft5YkeBIthIcixw==} 1398 | dependencies: 1399 | esbuild: 0.14.38 1400 | dev: true 1401 | 1402 | /esbuild-openbsd-64/0.13.15: 1403 | resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} 1404 | cpu: [x64] 1405 | os: [openbsd] 1406 | requiresBuild: true 1407 | dev: true 1408 | optional: true 1409 | 1410 | /esbuild-openbsd-64/0.14.38: 1411 | resolution: {integrity: sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==} 1412 | engines: {node: '>=12'} 1413 | cpu: [x64] 1414 | os: [openbsd] 1415 | requiresBuild: true 1416 | dev: true 1417 | optional: true 1418 | 1419 | /esbuild-register/3.3.2_esbuild@0.14.38: 1420 | resolution: {integrity: sha512-jceAtTO6zxPmCfSD5cBb3rgIK1vmuqCKYwgylHiS1BF4pq0jJiJb4K2QMuqF4BEw7XDBRatYzip0upyTzfkgsQ==} 1421 | peerDependencies: 1422 | esbuild: '>=0.12 <1' 1423 | dependencies: 1424 | esbuild: 0.14.38 1425 | dev: true 1426 | 1427 | /esbuild-sunos-64/0.13.15: 1428 | resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} 1429 | cpu: [x64] 1430 | os: [sunos] 1431 | requiresBuild: true 1432 | dev: true 1433 | optional: true 1434 | 1435 | /esbuild-sunos-64/0.14.38: 1436 | resolution: {integrity: sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==} 1437 | engines: {node: '>=12'} 1438 | cpu: [x64] 1439 | os: [sunos] 1440 | requiresBuild: true 1441 | dev: true 1442 | optional: true 1443 | 1444 | /esbuild-windows-32/0.13.15: 1445 | resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} 1446 | cpu: [ia32] 1447 | os: [win32] 1448 | requiresBuild: true 1449 | dev: true 1450 | optional: true 1451 | 1452 | /esbuild-windows-32/0.14.38: 1453 | resolution: {integrity: sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==} 1454 | engines: {node: '>=12'} 1455 | cpu: [ia32] 1456 | os: [win32] 1457 | requiresBuild: true 1458 | dev: true 1459 | optional: true 1460 | 1461 | /esbuild-windows-64/0.13.15: 1462 | resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} 1463 | cpu: [x64] 1464 | os: [win32] 1465 | requiresBuild: true 1466 | dev: true 1467 | optional: true 1468 | 1469 | /esbuild-windows-64/0.14.38: 1470 | resolution: {integrity: sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==} 1471 | engines: {node: '>=12'} 1472 | cpu: [x64] 1473 | os: [win32] 1474 | requiresBuild: true 1475 | dev: true 1476 | optional: true 1477 | 1478 | /esbuild-windows-arm64/0.13.15: 1479 | resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} 1480 | cpu: [arm64] 1481 | os: [win32] 1482 | requiresBuild: true 1483 | dev: true 1484 | optional: true 1485 | 1486 | /esbuild-windows-arm64/0.14.38: 1487 | resolution: {integrity: sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==} 1488 | engines: {node: '>=12'} 1489 | cpu: [arm64] 1490 | os: [win32] 1491 | requiresBuild: true 1492 | dev: true 1493 | optional: true 1494 | 1495 | /esbuild/0.13.15: 1496 | resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} 1497 | hasBin: true 1498 | requiresBuild: true 1499 | optionalDependencies: 1500 | esbuild-android-arm64: 0.13.15 1501 | esbuild-darwin-64: 0.13.15 1502 | esbuild-darwin-arm64: 0.13.15 1503 | esbuild-freebsd-64: 0.13.15 1504 | esbuild-freebsd-arm64: 0.13.15 1505 | esbuild-linux-32: 0.13.15 1506 | esbuild-linux-64: 0.13.15 1507 | esbuild-linux-arm: 0.13.15 1508 | esbuild-linux-arm64: 0.13.15 1509 | esbuild-linux-mips64le: 0.13.15 1510 | esbuild-linux-ppc64le: 0.13.15 1511 | esbuild-netbsd-64: 0.13.15 1512 | esbuild-openbsd-64: 0.13.15 1513 | esbuild-sunos-64: 0.13.15 1514 | esbuild-windows-32: 0.13.15 1515 | esbuild-windows-64: 0.13.15 1516 | esbuild-windows-arm64: 0.13.15 1517 | dev: true 1518 | 1519 | /esbuild/0.14.38: 1520 | resolution: {integrity: sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==} 1521 | engines: {node: '>=12'} 1522 | hasBin: true 1523 | requiresBuild: true 1524 | optionalDependencies: 1525 | esbuild-android-64: 0.14.38 1526 | esbuild-android-arm64: 0.14.38 1527 | esbuild-darwin-64: 0.14.38 1528 | esbuild-darwin-arm64: 0.14.38 1529 | esbuild-freebsd-64: 0.14.38 1530 | esbuild-freebsd-arm64: 0.14.38 1531 | esbuild-linux-32: 0.14.38 1532 | esbuild-linux-64: 0.14.38 1533 | esbuild-linux-arm: 0.14.38 1534 | esbuild-linux-arm64: 0.14.38 1535 | esbuild-linux-mips64le: 0.14.38 1536 | esbuild-linux-ppc64le: 0.14.38 1537 | esbuild-linux-riscv64: 0.14.38 1538 | esbuild-linux-s390x: 0.14.38 1539 | esbuild-netbsd-64: 0.14.38 1540 | esbuild-openbsd-64: 0.14.38 1541 | esbuild-sunos-64: 0.14.38 1542 | esbuild-windows-32: 0.14.38 1543 | esbuild-windows-64: 0.14.38 1544 | esbuild-windows-arm64: 0.14.38 1545 | dev: true 1546 | 1547 | /escalade/3.1.1: 1548 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1549 | engines: {node: '>=6'} 1550 | 1551 | /escape-string-regexp/1.0.5: 1552 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} 1553 | engines: {node: '>=0.8.0'} 1554 | 1555 | /escape-string-regexp/4.0.0: 1556 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1557 | engines: {node: '>=10'} 1558 | dev: true 1559 | 1560 | /eslint-import-resolver-node/0.3.6: 1561 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 1562 | dependencies: 1563 | debug: 3.2.7 1564 | resolve: 1.22.0 1565 | dev: false 1566 | 1567 | /eslint-module-utils/2.7.3: 1568 | resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} 1569 | engines: {node: '>=4'} 1570 | dependencies: 1571 | debug: 3.2.7 1572 | find-up: 2.1.0 1573 | dev: false 1574 | 1575 | /eslint-plugin-antfu/0.21.0_eslint@8.14.0: 1576 | resolution: {integrity: sha512-EtN5CgvpfPU4DP721PLqnfHXZk/bV4L8s/B5wmEoKT0JsJLaPPMroG2eVeMEvKGAKJwIQr4rOh/4F6VF5zd2vA==} 1577 | dependencies: 1578 | '@typescript-eslint/utils': 5.20.0_eslint@8.14.0 1579 | transitivePeerDependencies: 1580 | - eslint 1581 | - supports-color 1582 | - typescript 1583 | dev: false 1584 | 1585 | /eslint-plugin-es/4.1.0_eslint@8.14.0: 1586 | resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} 1587 | engines: {node: '>=8.10.0'} 1588 | peerDependencies: 1589 | eslint: '>=4.19.1' 1590 | dependencies: 1591 | eslint: 8.14.0 1592 | eslint-utils: 2.1.0 1593 | regexpp: 3.2.0 1594 | dev: false 1595 | 1596 | /eslint-plugin-eslint-comments/3.2.0_eslint@8.14.0: 1597 | resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} 1598 | engines: {node: '>=6.5.0'} 1599 | peerDependencies: 1600 | eslint: '>=4.19.1' 1601 | dependencies: 1602 | escape-string-regexp: 1.0.5 1603 | eslint: 8.14.0 1604 | ignore: 5.2.0 1605 | dev: false 1606 | 1607 | /eslint-plugin-html/6.2.0: 1608 | resolution: {integrity: sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==} 1609 | dependencies: 1610 | htmlparser2: 7.2.0 1611 | dev: false 1612 | 1613 | /eslint-plugin-import/2.26.0_eslint@8.14.0: 1614 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 1615 | engines: {node: '>=4'} 1616 | peerDependencies: 1617 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1618 | dependencies: 1619 | array-includes: 3.1.4 1620 | array.prototype.flat: 1.3.0 1621 | debug: 2.6.9 1622 | doctrine: 2.1.0 1623 | eslint: 8.14.0 1624 | eslint-import-resolver-node: 0.3.6 1625 | eslint-module-utils: 2.7.3 1626 | has: 1.0.3 1627 | is-core-module: 2.9.0 1628 | is-glob: 4.0.3 1629 | minimatch: 3.1.2 1630 | object.values: 1.1.5 1631 | resolve: 1.22.0 1632 | tsconfig-paths: 3.14.1 1633 | dev: false 1634 | 1635 | /eslint-plugin-jsonc/2.2.1_eslint@8.14.0: 1636 | resolution: {integrity: sha512-ozGjWXhxF3ZfITHmRLuUL6zORh5Dzo0ymwVdxhfFaa4LEtU2S88JIwDYCWAifQLG92x7chqcnZlGUggaPSlfIQ==} 1637 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1638 | peerDependencies: 1639 | eslint: '>=6.0.0' 1640 | dependencies: 1641 | eslint: 8.14.0 1642 | eslint-utils: 3.0.0_eslint@8.14.0 1643 | jsonc-eslint-parser: 2.1.0 1644 | natural-compare: 1.4.0 1645 | dev: false 1646 | 1647 | /eslint-plugin-markdown/2.2.1_eslint@8.14.0: 1648 | resolution: {integrity: sha512-FgWp4iyYvTFxPwfbxofTvXxgzPsDuSKHQy2S+a8Ve6savbujey+lgrFFbXQA0HPygISpRYWYBjooPzhYSF81iA==} 1649 | engines: {node: ^8.10.0 || ^10.12.0 || >= 12.0.0} 1650 | peerDependencies: 1651 | eslint: '>=6.0.0' 1652 | dependencies: 1653 | eslint: 8.14.0 1654 | mdast-util-from-markdown: 0.8.5 1655 | transitivePeerDependencies: 1656 | - supports-color 1657 | dev: false 1658 | 1659 | /eslint-plugin-n/15.2.0_eslint@8.14.0: 1660 | resolution: {integrity: sha512-lWLg++jGwC88GDGGBX3CMkk0GIWq0y41aH51lavWApOKcMQcYoL3Ayd0lEdtD3SnQtR+3qBvWQS3qGbR2BxRWg==} 1661 | engines: {node: '>=12.22.0'} 1662 | peerDependencies: 1663 | eslint: '>=7.0.0' 1664 | dependencies: 1665 | builtins: 4.1.0 1666 | eslint: 8.14.0 1667 | eslint-plugin-es: 4.1.0_eslint@8.14.0 1668 | eslint-utils: 3.0.0_eslint@8.14.0 1669 | ignore: 5.2.0 1670 | is-core-module: 2.9.0 1671 | minimatch: 3.1.2 1672 | resolve: 1.22.0 1673 | semver: 6.3.0 1674 | dev: false 1675 | 1676 | /eslint-plugin-promise/6.0.0_eslint@8.14.0: 1677 | resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} 1678 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1679 | peerDependencies: 1680 | eslint: ^7.0.0 || ^8.0.0 1681 | dependencies: 1682 | eslint: 8.14.0 1683 | dev: false 1684 | 1685 | /eslint-plugin-unicorn/42.0.0_eslint@8.14.0: 1686 | resolution: {integrity: sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==} 1687 | engines: {node: '>=12'} 1688 | peerDependencies: 1689 | eslint: '>=8.8.0' 1690 | dependencies: 1691 | '@babel/helper-validator-identifier': 7.16.7 1692 | ci-info: 3.3.0 1693 | clean-regexp: 1.0.0 1694 | eslint: 8.14.0 1695 | eslint-utils: 3.0.0_eslint@8.14.0 1696 | esquery: 1.4.0 1697 | indent-string: 4.0.0 1698 | is-builtin-module: 3.1.0 1699 | lodash: 4.17.21 1700 | pluralize: 8.0.0 1701 | read-pkg-up: 7.0.1 1702 | regexp-tree: 0.1.24 1703 | safe-regex: 2.1.1 1704 | semver: 7.3.7 1705 | strip-indent: 3.0.0 1706 | dev: false 1707 | 1708 | /eslint-plugin-vue/8.7.1_eslint@8.14.0: 1709 | resolution: {integrity: sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==} 1710 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1711 | peerDependencies: 1712 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 1713 | dependencies: 1714 | eslint: 8.14.0 1715 | eslint-utils: 3.0.0_eslint@8.14.0 1716 | natural-compare: 1.4.0 1717 | nth-check: 2.0.1 1718 | postcss-selector-parser: 6.0.10 1719 | semver: 7.3.7 1720 | vue-eslint-parser: 8.3.0_eslint@8.14.0 1721 | transitivePeerDependencies: 1722 | - supports-color 1723 | dev: false 1724 | 1725 | /eslint-plugin-yml/0.14.0_eslint@8.14.0: 1726 | resolution: {integrity: sha512-+0+bBV/07txENbxfrHF9olGoLCHez64vmnOmjWOoLwmXOwfdaSRleBSPIi4nWQs7WwX8lm/fSLadOjbVEcsXQQ==} 1727 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1728 | peerDependencies: 1729 | eslint: '>=6.0.0' 1730 | dependencies: 1731 | debug: 4.3.4 1732 | eslint: 8.14.0 1733 | lodash: 4.17.21 1734 | natural-compare: 1.4.0 1735 | yaml-eslint-parser: 0.5.0 1736 | transitivePeerDependencies: 1737 | - supports-color 1738 | dev: false 1739 | 1740 | /eslint-scope/5.1.1: 1741 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1742 | engines: {node: '>=8.0.0'} 1743 | dependencies: 1744 | esrecurse: 4.3.0 1745 | estraverse: 4.3.0 1746 | dev: false 1747 | 1748 | /eslint-scope/7.1.1: 1749 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1750 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1751 | dependencies: 1752 | esrecurse: 4.3.0 1753 | estraverse: 5.3.0 1754 | 1755 | /eslint-utils/2.1.0: 1756 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 1757 | engines: {node: '>=6'} 1758 | dependencies: 1759 | eslint-visitor-keys: 1.3.0 1760 | dev: false 1761 | 1762 | /eslint-utils/3.0.0_eslint@8.14.0: 1763 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1764 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1765 | peerDependencies: 1766 | eslint: '>=5' 1767 | dependencies: 1768 | eslint: 8.14.0 1769 | eslint-visitor-keys: 2.1.0 1770 | 1771 | /eslint-visitor-keys/1.3.0: 1772 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 1773 | engines: {node: '>=4'} 1774 | dev: false 1775 | 1776 | /eslint-visitor-keys/2.1.0: 1777 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1778 | engines: {node: '>=10'} 1779 | 1780 | /eslint-visitor-keys/3.3.0: 1781 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1782 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1783 | 1784 | /eslint/8.14.0: 1785 | resolution: {integrity: sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==} 1786 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1787 | hasBin: true 1788 | dependencies: 1789 | '@eslint/eslintrc': 1.2.2 1790 | '@humanwhocodes/config-array': 0.9.5 1791 | ajv: 6.12.6 1792 | chalk: 4.1.2 1793 | cross-spawn: 7.0.3 1794 | debug: 4.3.4 1795 | doctrine: 3.0.0 1796 | escape-string-regexp: 4.0.0 1797 | eslint-scope: 7.1.1 1798 | eslint-utils: 3.0.0_eslint@8.14.0 1799 | eslint-visitor-keys: 3.3.0 1800 | espree: 9.3.1 1801 | esquery: 1.4.0 1802 | esutils: 2.0.3 1803 | fast-deep-equal: 3.1.3 1804 | file-entry-cache: 6.0.1 1805 | functional-red-black-tree: 1.0.1 1806 | glob-parent: 6.0.2 1807 | globals: 13.13.0 1808 | ignore: 5.2.0 1809 | import-fresh: 3.3.0 1810 | imurmurhash: 0.1.4 1811 | is-glob: 4.0.3 1812 | js-yaml: 4.1.0 1813 | json-stable-stringify-without-jsonify: 1.0.1 1814 | levn: 0.4.1 1815 | lodash.merge: 4.6.2 1816 | minimatch: 3.1.2 1817 | natural-compare: 1.4.0 1818 | optionator: 0.9.1 1819 | regexpp: 3.2.0 1820 | strip-ansi: 6.0.1 1821 | strip-json-comments: 3.1.1 1822 | text-table: 0.2.0 1823 | v8-compile-cache: 2.3.0 1824 | transitivePeerDependencies: 1825 | - supports-color 1826 | dev: true 1827 | 1828 | /esno/0.14.1: 1829 | resolution: {integrity: sha512-yDFYw6dGUjCT1qKsdG7WOc/RzIh/qwxUEVZ+ohCltaxBxEFMNqeqbQL9xjRl6Yvdwrfc5OCjUA9JbFmuu/8BKg==} 1830 | hasBin: true 1831 | dependencies: 1832 | cross-spawn: 7.0.3 1833 | esbuild: 0.14.38 1834 | esbuild-node-loader: 0.6.5 1835 | esbuild-register: 3.3.2_esbuild@0.14.38 1836 | import-meta-resolve: 1.1.1 1837 | dev: true 1838 | 1839 | /espree/9.3.1: 1840 | resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} 1841 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1842 | dependencies: 1843 | acorn: 8.7.0 1844 | acorn-jsx: 5.3.2_acorn@8.7.0 1845 | eslint-visitor-keys: 3.3.0 1846 | 1847 | /esquery/1.4.0: 1848 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1849 | engines: {node: '>=0.10'} 1850 | dependencies: 1851 | estraverse: 5.3.0 1852 | 1853 | /esrecurse/4.3.0: 1854 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1855 | engines: {node: '>=4.0'} 1856 | dependencies: 1857 | estraverse: 5.3.0 1858 | 1859 | /estraverse/4.3.0: 1860 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1861 | engines: {node: '>=4.0'} 1862 | dev: false 1863 | 1864 | /estraverse/5.3.0: 1865 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1866 | engines: {node: '>=4.0'} 1867 | 1868 | /estree-walker/1.0.1: 1869 | resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} 1870 | dev: true 1871 | 1872 | /estree-walker/2.0.2: 1873 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1874 | dev: true 1875 | 1876 | /esutils/2.0.3: 1877 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1878 | engines: {node: '>=0.10.0'} 1879 | 1880 | /fast-deep-equal/3.1.3: 1881 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1882 | dev: true 1883 | 1884 | /fast-glob/3.2.11: 1885 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1886 | engines: {node: '>=8.6.0'} 1887 | dependencies: 1888 | '@nodelib/fs.stat': 2.0.5 1889 | '@nodelib/fs.walk': 1.2.8 1890 | glob-parent: 5.1.2 1891 | merge2: 1.4.1 1892 | micromatch: 4.0.5 1893 | 1894 | /fast-json-stable-stringify/2.1.0: 1895 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1896 | dev: true 1897 | 1898 | /fast-levenshtein/2.0.6: 1899 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} 1900 | dev: true 1901 | 1902 | /fastq/1.13.0: 1903 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1904 | dependencies: 1905 | reusify: 1.0.4 1906 | 1907 | /file-entry-cache/6.0.1: 1908 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1909 | engines: {node: ^10.12.0 || >=12.0.0} 1910 | dependencies: 1911 | flat-cache: 3.0.4 1912 | dev: true 1913 | 1914 | /fill-range/7.0.1: 1915 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1916 | engines: {node: '>=8'} 1917 | dependencies: 1918 | to-regex-range: 5.0.1 1919 | 1920 | /find-up/2.1.0: 1921 | resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} 1922 | engines: {node: '>=4'} 1923 | dependencies: 1924 | locate-path: 2.0.0 1925 | dev: false 1926 | 1927 | /find-up/4.1.0: 1928 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1929 | engines: {node: '>=8'} 1930 | dependencies: 1931 | locate-path: 5.0.0 1932 | path-exists: 4.0.0 1933 | dev: false 1934 | 1935 | /find-up/6.3.0: 1936 | resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} 1937 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1938 | dependencies: 1939 | locate-path: 7.1.0 1940 | path-exists: 5.0.0 1941 | dev: false 1942 | 1943 | /flat-cache/3.0.4: 1944 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1945 | engines: {node: ^10.12.0 || >=12.0.0} 1946 | dependencies: 1947 | flatted: 3.2.5 1948 | rimraf: 3.0.2 1949 | dev: true 1950 | 1951 | /flatted/3.2.5: 1952 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} 1953 | dev: true 1954 | 1955 | /fs-constants/1.0.0: 1956 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 1957 | dev: false 1958 | 1959 | /fs-extra/10.1.0: 1960 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 1961 | engines: {node: '>=12'} 1962 | dependencies: 1963 | graceful-fs: 4.2.10 1964 | jsonfile: 6.1.0 1965 | universalify: 2.0.0 1966 | dev: true 1967 | 1968 | /fs-extra/9.1.0: 1969 | resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} 1970 | engines: {node: '>=10'} 1971 | dependencies: 1972 | at-least-node: 1.0.0 1973 | graceful-fs: 4.2.10 1974 | jsonfile: 6.1.0 1975 | universalify: 2.0.0 1976 | dev: false 1977 | 1978 | /fs.realpath/1.0.0: 1979 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 1980 | 1981 | /fsevents/2.3.2: 1982 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1983 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1984 | os: [darwin] 1985 | requiresBuild: true 1986 | dev: true 1987 | optional: true 1988 | 1989 | /function-bind/1.1.1: 1990 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1991 | 1992 | /functional-red-black-tree/1.0.1: 1993 | resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} 1994 | 1995 | /gensync/1.0.0-beta.2: 1996 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1997 | engines: {node: '>=6.9.0'} 1998 | dev: true 1999 | 2000 | /get-caller-file/2.0.5: 2001 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 2002 | engines: {node: 6.* || 8.* || >= 10.*} 2003 | dev: false 2004 | 2005 | /get-intrinsic/1.1.1: 2006 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} 2007 | dependencies: 2008 | function-bind: 1.1.1 2009 | has: 1.0.3 2010 | has-symbols: 1.0.3 2011 | dev: false 2012 | 2013 | /get-symbol-description/1.0.0: 2014 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 2015 | engines: {node: '>= 0.4'} 2016 | dependencies: 2017 | call-bind: 1.0.2 2018 | get-intrinsic: 1.1.1 2019 | dev: false 2020 | 2021 | /glob-parent/5.1.2: 2022 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2023 | engines: {node: '>= 6'} 2024 | dependencies: 2025 | is-glob: 4.0.3 2026 | 2027 | /glob-parent/6.0.2: 2028 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 2029 | engines: {node: '>=10.13.0'} 2030 | dependencies: 2031 | is-glob: 4.0.3 2032 | dev: true 2033 | 2034 | /glob/7.2.0: 2035 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 2036 | dependencies: 2037 | fs.realpath: 1.0.0 2038 | inflight: 1.0.6 2039 | inherits: 2.0.4 2040 | minimatch: 3.1.2 2041 | once: 1.4.0 2042 | path-is-absolute: 1.0.1 2043 | 2044 | /globals/11.12.0: 2045 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2046 | engines: {node: '>=4'} 2047 | dev: true 2048 | 2049 | /globals/13.13.0: 2050 | resolution: {integrity: sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==} 2051 | engines: {node: '>=8'} 2052 | dependencies: 2053 | type-fest: 0.20.2 2054 | dev: true 2055 | 2056 | /globby/11.1.0: 2057 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 2058 | engines: {node: '>=10'} 2059 | dependencies: 2060 | array-union: 2.1.0 2061 | dir-glob: 3.0.1 2062 | fast-glob: 3.2.11 2063 | ignore: 5.2.0 2064 | merge2: 1.4.1 2065 | slash: 3.0.0 2066 | 2067 | /graceful-fs/4.2.10: 2068 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 2069 | 2070 | /has-bigints/1.0.2: 2071 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 2072 | dev: false 2073 | 2074 | /has-flag/3.0.0: 2075 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} 2076 | engines: {node: '>=4'} 2077 | 2078 | /has-flag/4.0.0: 2079 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2080 | engines: {node: '>=8'} 2081 | dev: true 2082 | 2083 | /has-property-descriptors/1.0.0: 2084 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 2085 | dependencies: 2086 | get-intrinsic: 1.1.1 2087 | dev: false 2088 | 2089 | /has-symbols/1.0.3: 2090 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2091 | engines: {node: '>= 0.4'} 2092 | dev: false 2093 | 2094 | /has-tostringtag/1.0.0: 2095 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 2096 | engines: {node: '>= 0.4'} 2097 | dependencies: 2098 | has-symbols: 1.0.3 2099 | dev: false 2100 | 2101 | /has/1.0.3: 2102 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 2103 | engines: {node: '>= 0.4.0'} 2104 | dependencies: 2105 | function-bind: 1.1.1 2106 | 2107 | /hookable/5.1.1: 2108 | resolution: {integrity: sha512-7qam9XBFb+DijNBthaL1k/7lHU2TEMZkWSyuqmU3sCQze1wFm5w9AlEx30PD7a+QVAjOy6Ec2goFwe1YVyk2uA==} 2109 | dev: true 2110 | 2111 | /hosted-git-info/2.8.9: 2112 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 2113 | dev: false 2114 | 2115 | /htmlparser2/7.2.0: 2116 | resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} 2117 | dependencies: 2118 | domelementtype: 2.3.0 2119 | domhandler: 4.3.1 2120 | domutils: 2.8.0 2121 | entities: 3.0.1 2122 | dev: false 2123 | 2124 | /ieee754/1.2.1: 2125 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 2126 | dev: false 2127 | 2128 | /ignore/5.2.0: 2129 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 2130 | engines: {node: '>= 4'} 2131 | 2132 | /import-fresh/3.3.0: 2133 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2134 | engines: {node: '>=6'} 2135 | dependencies: 2136 | parent-module: 1.0.1 2137 | resolve-from: 4.0.0 2138 | dev: true 2139 | 2140 | /import-meta-resolve/1.1.1: 2141 | resolution: {integrity: sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A==} 2142 | dependencies: 2143 | builtins: 4.1.0 2144 | dev: true 2145 | 2146 | /imurmurhash/0.1.4: 2147 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} 2148 | engines: {node: '>=0.8.19'} 2149 | dev: true 2150 | 2151 | /indent-string/4.0.0: 2152 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 2153 | engines: {node: '>=8'} 2154 | dev: false 2155 | 2156 | /inflight/1.0.6: 2157 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 2158 | dependencies: 2159 | once: 1.4.0 2160 | wrappy: 1.0.2 2161 | 2162 | /inherits/2.0.4: 2163 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2164 | 2165 | /internal-slot/1.0.3: 2166 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 2167 | engines: {node: '>= 0.4'} 2168 | dependencies: 2169 | get-intrinsic: 1.1.1 2170 | has: 1.0.3 2171 | side-channel: 1.0.4 2172 | dev: false 2173 | 2174 | /is-alphabetical/1.0.4: 2175 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} 2176 | dev: false 2177 | 2178 | /is-alphanumerical/1.0.4: 2179 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} 2180 | dependencies: 2181 | is-alphabetical: 1.0.4 2182 | is-decimal: 1.0.4 2183 | dev: false 2184 | 2185 | /is-arrayish/0.2.1: 2186 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} 2187 | dev: false 2188 | 2189 | /is-bigint/1.0.4: 2190 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 2191 | dependencies: 2192 | has-bigints: 1.0.2 2193 | dev: false 2194 | 2195 | /is-boolean-object/1.1.2: 2196 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 2197 | engines: {node: '>= 0.4'} 2198 | dependencies: 2199 | call-bind: 1.0.2 2200 | has-tostringtag: 1.0.0 2201 | dev: false 2202 | 2203 | /is-builtin-module/3.1.0: 2204 | resolution: {integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==} 2205 | engines: {node: '>=6'} 2206 | dependencies: 2207 | builtin-modules: 3.2.0 2208 | dev: false 2209 | 2210 | /is-callable/1.2.4: 2211 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 2212 | engines: {node: '>= 0.4'} 2213 | dev: false 2214 | 2215 | /is-core-module/2.9.0: 2216 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 2217 | dependencies: 2218 | has: 1.0.3 2219 | 2220 | /is-date-object/1.0.5: 2221 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 2222 | engines: {node: '>= 0.4'} 2223 | dependencies: 2224 | has-tostringtag: 1.0.0 2225 | dev: false 2226 | 2227 | /is-decimal/1.0.4: 2228 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} 2229 | dev: false 2230 | 2231 | /is-extglob/2.1.1: 2232 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} 2233 | engines: {node: '>=0.10.0'} 2234 | 2235 | /is-fullwidth-code-point/3.0.0: 2236 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2237 | engines: {node: '>=8'} 2238 | dev: false 2239 | 2240 | /is-glob/4.0.3: 2241 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2242 | engines: {node: '>=0.10.0'} 2243 | dependencies: 2244 | is-extglob: 2.1.1 2245 | 2246 | /is-hexadecimal/1.0.4: 2247 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} 2248 | dev: false 2249 | 2250 | /is-module/1.0.0: 2251 | resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} 2252 | dev: true 2253 | 2254 | /is-negative-zero/2.0.2: 2255 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 2256 | engines: {node: '>= 0.4'} 2257 | dev: false 2258 | 2259 | /is-number-object/1.0.7: 2260 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 2261 | engines: {node: '>= 0.4'} 2262 | dependencies: 2263 | has-tostringtag: 1.0.0 2264 | dev: false 2265 | 2266 | /is-number/7.0.0: 2267 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2268 | engines: {node: '>=0.12.0'} 2269 | 2270 | /is-reference/1.2.1: 2271 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 2272 | dependencies: 2273 | '@types/estree': 0.0.51 2274 | dev: true 2275 | 2276 | /is-regex/1.1.4: 2277 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 2278 | engines: {node: '>= 0.4'} 2279 | dependencies: 2280 | call-bind: 1.0.2 2281 | has-tostringtag: 1.0.0 2282 | dev: false 2283 | 2284 | /is-shared-array-buffer/1.0.2: 2285 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 2286 | dependencies: 2287 | call-bind: 1.0.2 2288 | dev: false 2289 | 2290 | /is-string/1.0.7: 2291 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2292 | engines: {node: '>= 0.4'} 2293 | dependencies: 2294 | has-tostringtag: 1.0.0 2295 | dev: false 2296 | 2297 | /is-symbol/1.0.4: 2298 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 2299 | engines: {node: '>= 0.4'} 2300 | dependencies: 2301 | has-symbols: 1.0.3 2302 | dev: false 2303 | 2304 | /is-weakref/1.0.2: 2305 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2306 | dependencies: 2307 | call-bind: 1.0.2 2308 | dev: false 2309 | 2310 | /isarray/1.0.0: 2311 | resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} 2312 | dev: false 2313 | 2314 | /isexe/2.0.0: 2315 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 2316 | dev: true 2317 | 2318 | /jiti/1.13.0: 2319 | resolution: {integrity: sha512-/n9mNxZj/HDSrincJ6RP+L+yXbpnB8FybySBa+IjIaoH9FIxBbrbRT5XUbe8R7zuVM2AQqNMNDDqz0bzx3znOQ==} 2320 | hasBin: true 2321 | dev: true 2322 | 2323 | /joycon/3.1.1: 2324 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 2325 | engines: {node: '>=10'} 2326 | dev: true 2327 | 2328 | /js-tokens/4.0.0: 2329 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2330 | 2331 | /js-yaml/4.1.0: 2332 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2333 | hasBin: true 2334 | dependencies: 2335 | argparse: 2.0.1 2336 | dev: true 2337 | 2338 | /jsesc/2.5.2: 2339 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2340 | engines: {node: '>=4'} 2341 | hasBin: true 2342 | dev: true 2343 | 2344 | /json-parse-even-better-errors/2.3.1: 2345 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2346 | dev: false 2347 | 2348 | /json-schema-traverse/0.4.1: 2349 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2350 | dev: true 2351 | 2352 | /json-stable-stringify-without-jsonify/1.0.1: 2353 | resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} 2354 | dev: true 2355 | 2356 | /json5/1.0.1: 2357 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 2358 | hasBin: true 2359 | dependencies: 2360 | minimist: 1.2.6 2361 | dev: false 2362 | 2363 | /json5/2.2.1: 2364 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 2365 | engines: {node: '>=6'} 2366 | hasBin: true 2367 | dev: true 2368 | 2369 | /jsonc-eslint-parser/2.1.0: 2370 | resolution: {integrity: sha512-qCRJWlbP2v6HbmKW7R3lFbeiVWHo+oMJ0j+MizwvauqnCV/EvtAeEeuCgoc/ErtsuoKgYB8U4Ih8AxJbXoE6/g==} 2371 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2372 | dependencies: 2373 | acorn: 8.7.0 2374 | eslint-visitor-keys: 3.3.0 2375 | espree: 9.3.1 2376 | semver: 7.3.7 2377 | dev: false 2378 | 2379 | /jsonc-parser/3.0.0: 2380 | resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==} 2381 | dev: true 2382 | 2383 | /jsonfile/6.1.0: 2384 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 2385 | dependencies: 2386 | universalify: 2.0.0 2387 | optionalDependencies: 2388 | graceful-fs: 4.2.10 2389 | 2390 | /kolorist/1.5.1: 2391 | resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==} 2392 | dev: false 2393 | 2394 | /lazystream/1.0.1: 2395 | resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} 2396 | engines: {node: '>= 0.6.3'} 2397 | dependencies: 2398 | readable-stream: 2.3.7 2399 | dev: false 2400 | 2401 | /levn/0.4.1: 2402 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2403 | engines: {node: '>= 0.8.0'} 2404 | dependencies: 2405 | prelude-ls: 1.2.1 2406 | type-check: 0.4.0 2407 | dev: true 2408 | 2409 | /lines-and-columns/1.2.4: 2410 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2411 | dev: false 2412 | 2413 | /locate-path/2.0.0: 2414 | resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} 2415 | engines: {node: '>=4'} 2416 | dependencies: 2417 | p-locate: 2.0.0 2418 | path-exists: 3.0.0 2419 | dev: false 2420 | 2421 | /locate-path/5.0.0: 2422 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2423 | engines: {node: '>=8'} 2424 | dependencies: 2425 | p-locate: 4.1.0 2426 | dev: false 2427 | 2428 | /locate-path/7.1.0: 2429 | resolution: {integrity: sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==} 2430 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2431 | dependencies: 2432 | p-locate: 6.0.0 2433 | dev: false 2434 | 2435 | /lodash.defaults/4.2.0: 2436 | resolution: {integrity: sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=} 2437 | dev: false 2438 | 2439 | /lodash.difference/4.5.0: 2440 | resolution: {integrity: sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=} 2441 | dev: false 2442 | 2443 | /lodash.flatten/4.4.0: 2444 | resolution: {integrity: sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=} 2445 | dev: false 2446 | 2447 | /lodash.isplainobject/4.0.6: 2448 | resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} 2449 | dev: false 2450 | 2451 | /lodash.merge/4.6.2: 2452 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2453 | dev: true 2454 | 2455 | /lodash.union/4.6.0: 2456 | resolution: {integrity: sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=} 2457 | dev: false 2458 | 2459 | /lodash/4.17.21: 2460 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2461 | dev: false 2462 | 2463 | /lru-cache/6.0.0: 2464 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2465 | engines: {node: '>=10'} 2466 | dependencies: 2467 | yallist: 4.0.0 2468 | 2469 | /magic-string/0.25.9: 2470 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 2471 | dependencies: 2472 | sourcemap-codec: 1.4.8 2473 | dev: true 2474 | 2475 | /magic-string/0.26.1: 2476 | resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==} 2477 | engines: {node: '>=12'} 2478 | dependencies: 2479 | sourcemap-codec: 1.4.8 2480 | dev: true 2481 | 2482 | /mdast-util-from-markdown/0.8.5: 2483 | resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} 2484 | dependencies: 2485 | '@types/mdast': 3.0.10 2486 | mdast-util-to-string: 2.0.0 2487 | micromark: 2.11.4 2488 | parse-entities: 2.0.0 2489 | unist-util-stringify-position: 2.0.3 2490 | transitivePeerDependencies: 2491 | - supports-color 2492 | dev: false 2493 | 2494 | /mdast-util-to-string/2.0.0: 2495 | resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} 2496 | dev: false 2497 | 2498 | /merge2/1.4.1: 2499 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2500 | engines: {node: '>= 8'} 2501 | 2502 | /micromark/2.11.4: 2503 | resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} 2504 | dependencies: 2505 | debug: 4.3.4 2506 | parse-entities: 2.0.0 2507 | transitivePeerDependencies: 2508 | - supports-color 2509 | dev: false 2510 | 2511 | /micromatch/4.0.5: 2512 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2513 | engines: {node: '>=8.6'} 2514 | dependencies: 2515 | braces: 3.0.2 2516 | picomatch: 2.3.1 2517 | 2518 | /min-indent/1.0.1: 2519 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 2520 | engines: {node: '>=4'} 2521 | dev: false 2522 | 2523 | /minimatch/3.1.2: 2524 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2525 | dependencies: 2526 | brace-expansion: 1.1.11 2527 | 2528 | /minimist/1.2.6: 2529 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2530 | dev: false 2531 | 2532 | /mkdirp/1.0.4: 2533 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 2534 | engines: {node: '>=10'} 2535 | hasBin: true 2536 | dev: true 2537 | 2538 | /mkdist/0.3.10_typescript@4.6.3: 2539 | resolution: {integrity: sha512-Aoc6hjILr2JPUJU2OUvBiD5sZ/CG1FeiXwk6KKPqE0iSTjBCrjrVK/fP5ig+TB3AKHvh2aA2QXXGeXVCJBdSwg==} 2540 | hasBin: true 2541 | peerDependencies: 2542 | typescript: '>=3.7' 2543 | peerDependenciesMeta: 2544 | typescript: 2545 | optional: true 2546 | dependencies: 2547 | defu: 5.0.1 2548 | esbuild: 0.13.15 2549 | fs-extra: 10.1.0 2550 | globby: 11.1.0 2551 | jiti: 1.13.0 2552 | mri: 1.2.0 2553 | pathe: 0.2.0 2554 | typescript: 4.6.3 2555 | dev: true 2556 | 2557 | /mlly/0.3.19: 2558 | resolution: {integrity: sha512-zMq5n3cOf4fOzA4WoeulxagbAgMChdev3MgP6K51k7M0u2whTXxupfIY4VVzws4vxkiWhwH1rVQcsw7zDGfRhA==} 2559 | dev: true 2560 | 2561 | /mlly/0.5.2: 2562 | resolution: {integrity: sha512-4GTELSSErv6ZZJYU98fZNuIBJcXSz+ktHdRrCYEqU1m6ZlebOCG0jwZ+IEd9vOrbpYsVBBMC5OTrEyLnKRcauQ==} 2563 | dependencies: 2564 | pathe: 0.2.0 2565 | pkg-types: 0.3.2 2566 | dev: true 2567 | 2568 | /mri/1.2.0: 2569 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 2570 | engines: {node: '>=4'} 2571 | dev: true 2572 | 2573 | /ms/2.0.0: 2574 | resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} 2575 | dev: false 2576 | 2577 | /ms/2.1.2: 2578 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2579 | 2580 | /ms/2.1.3: 2581 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2582 | dev: false 2583 | 2584 | /natural-compare/1.4.0: 2585 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} 2586 | 2587 | /node-releases/2.0.3: 2588 | resolution: {integrity: sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==} 2589 | dev: true 2590 | 2591 | /normalize-package-data/2.5.0: 2592 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 2593 | dependencies: 2594 | hosted-git-info: 2.8.9 2595 | resolve: 1.22.0 2596 | semver: 5.7.1 2597 | validate-npm-package-license: 3.0.4 2598 | dev: false 2599 | 2600 | /normalize-path/3.0.0: 2601 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2602 | engines: {node: '>=0.10.0'} 2603 | dev: false 2604 | 2605 | /nth-check/2.0.1: 2606 | resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} 2607 | dependencies: 2608 | boolbase: 1.0.0 2609 | dev: false 2610 | 2611 | /object-inspect/1.12.0: 2612 | resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} 2613 | dev: false 2614 | 2615 | /object-keys/1.1.1: 2616 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2617 | engines: {node: '>= 0.4'} 2618 | dev: false 2619 | 2620 | /object.assign/4.1.2: 2621 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 2622 | engines: {node: '>= 0.4'} 2623 | dependencies: 2624 | call-bind: 1.0.2 2625 | define-properties: 1.1.4 2626 | has-symbols: 1.0.3 2627 | object-keys: 1.1.1 2628 | dev: false 2629 | 2630 | /object.values/1.1.5: 2631 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 2632 | engines: {node: '>= 0.4'} 2633 | dependencies: 2634 | call-bind: 1.0.2 2635 | define-properties: 1.1.4 2636 | es-abstract: 1.19.5 2637 | dev: false 2638 | 2639 | /once/1.4.0: 2640 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 2641 | dependencies: 2642 | wrappy: 1.0.2 2643 | 2644 | /optionator/0.9.1: 2645 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2646 | engines: {node: '>= 0.8.0'} 2647 | dependencies: 2648 | deep-is: 0.1.4 2649 | fast-levenshtein: 2.0.6 2650 | levn: 0.4.1 2651 | prelude-ls: 1.2.1 2652 | type-check: 0.4.0 2653 | word-wrap: 1.2.3 2654 | dev: true 2655 | 2656 | /p-limit/1.3.0: 2657 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 2658 | engines: {node: '>=4'} 2659 | dependencies: 2660 | p-try: 1.0.0 2661 | dev: false 2662 | 2663 | /p-limit/2.3.0: 2664 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2665 | engines: {node: '>=6'} 2666 | dependencies: 2667 | p-try: 2.2.0 2668 | dev: false 2669 | 2670 | /p-limit/4.0.0: 2671 | resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} 2672 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2673 | dependencies: 2674 | yocto-queue: 1.0.0 2675 | dev: false 2676 | 2677 | /p-locate/2.0.0: 2678 | resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} 2679 | engines: {node: '>=4'} 2680 | dependencies: 2681 | p-limit: 1.3.0 2682 | dev: false 2683 | 2684 | /p-locate/4.1.0: 2685 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2686 | engines: {node: '>=8'} 2687 | dependencies: 2688 | p-limit: 2.3.0 2689 | dev: false 2690 | 2691 | /p-locate/6.0.0: 2692 | resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} 2693 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2694 | dependencies: 2695 | p-limit: 4.0.0 2696 | dev: false 2697 | 2698 | /p-try/1.0.0: 2699 | resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} 2700 | engines: {node: '>=4'} 2701 | dev: false 2702 | 2703 | /p-try/2.2.0: 2704 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2705 | engines: {node: '>=6'} 2706 | dev: false 2707 | 2708 | /parent-module/1.0.1: 2709 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2710 | engines: {node: '>=6'} 2711 | dependencies: 2712 | callsites: 3.1.0 2713 | dev: true 2714 | 2715 | /parse-entities/2.0.0: 2716 | resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} 2717 | dependencies: 2718 | character-entities: 1.2.4 2719 | character-entities-legacy: 1.1.4 2720 | character-reference-invalid: 1.1.4 2721 | is-alphanumerical: 1.0.4 2722 | is-decimal: 1.0.4 2723 | is-hexadecimal: 1.0.4 2724 | dev: false 2725 | 2726 | /parse-json/5.2.0: 2727 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2728 | engines: {node: '>=8'} 2729 | dependencies: 2730 | '@babel/code-frame': 7.16.7 2731 | error-ex: 1.3.2 2732 | json-parse-even-better-errors: 2.3.1 2733 | lines-and-columns: 1.2.4 2734 | dev: false 2735 | 2736 | /path-exists/3.0.0: 2737 | resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} 2738 | engines: {node: '>=4'} 2739 | dev: false 2740 | 2741 | /path-exists/4.0.0: 2742 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2743 | engines: {node: '>=8'} 2744 | dev: false 2745 | 2746 | /path-exists/5.0.0: 2747 | resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} 2748 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2749 | dev: false 2750 | 2751 | /path-is-absolute/1.0.1: 2752 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 2753 | engines: {node: '>=0.10.0'} 2754 | 2755 | /path-key/3.1.1: 2756 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2757 | engines: {node: '>=8'} 2758 | dev: true 2759 | 2760 | /path-parse/1.0.7: 2761 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2762 | 2763 | /path-type/4.0.0: 2764 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2765 | engines: {node: '>=8'} 2766 | 2767 | /pathe/0.2.0: 2768 | resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} 2769 | dev: true 2770 | 2771 | /picocolors/1.0.0: 2772 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2773 | dev: true 2774 | 2775 | /picomatch/2.3.1: 2776 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2777 | engines: {node: '>=8.6'} 2778 | 2779 | /pkg-types/0.3.2: 2780 | resolution: {integrity: sha512-eBYzX/7NYsQEOR2alWY4rnQB49G62oHzFpoi9Som56aUr8vB8UGcmcIia9v8fpBeuhH3Ltentuk2OGpp4IQV3Q==} 2781 | dependencies: 2782 | jsonc-parser: 3.0.0 2783 | mlly: 0.3.19 2784 | pathe: 0.2.0 2785 | dev: true 2786 | 2787 | /pluralize/8.0.0: 2788 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 2789 | engines: {node: '>=4'} 2790 | dev: false 2791 | 2792 | /postcss-selector-parser/6.0.10: 2793 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} 2794 | engines: {node: '>=4'} 2795 | dependencies: 2796 | cssesc: 3.0.0 2797 | util-deprecate: 1.0.2 2798 | dev: false 2799 | 2800 | /prelude-ls/1.2.1: 2801 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2802 | engines: {node: '>= 0.8.0'} 2803 | dev: true 2804 | 2805 | /pretty-bytes/6.0.0: 2806 | resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} 2807 | engines: {node: ^14.13.1 || >=16.0.0} 2808 | dev: true 2809 | 2810 | /process-nextick-args/2.0.1: 2811 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 2812 | dev: false 2813 | 2814 | /punycode/2.1.1: 2815 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2816 | engines: {node: '>=6'} 2817 | dev: true 2818 | 2819 | /queue-microtask/1.2.3: 2820 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2821 | 2822 | /read-pkg-up/7.0.1: 2823 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2824 | engines: {node: '>=8'} 2825 | dependencies: 2826 | find-up: 4.1.0 2827 | read-pkg: 5.2.0 2828 | type-fest: 0.8.1 2829 | dev: false 2830 | 2831 | /read-pkg/5.2.0: 2832 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2833 | engines: {node: '>=8'} 2834 | dependencies: 2835 | '@types/normalize-package-data': 2.4.1 2836 | normalize-package-data: 2.5.0 2837 | parse-json: 5.2.0 2838 | type-fest: 0.6.0 2839 | dev: false 2840 | 2841 | /readable-stream/2.3.7: 2842 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} 2843 | dependencies: 2844 | core-util-is: 1.0.3 2845 | inherits: 2.0.4 2846 | isarray: 1.0.0 2847 | process-nextick-args: 2.0.1 2848 | safe-buffer: 5.1.2 2849 | string_decoder: 1.1.1 2850 | util-deprecate: 1.0.2 2851 | dev: false 2852 | 2853 | /readable-stream/3.6.0: 2854 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 2855 | engines: {node: '>= 6'} 2856 | dependencies: 2857 | inherits: 2.0.4 2858 | string_decoder: 1.3.0 2859 | util-deprecate: 1.0.2 2860 | dev: false 2861 | 2862 | /readdir-glob/1.1.1: 2863 | resolution: {integrity: sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==} 2864 | dependencies: 2865 | minimatch: 3.1.2 2866 | dev: false 2867 | 2868 | /regexp-tree/0.1.24: 2869 | resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} 2870 | hasBin: true 2871 | dev: false 2872 | 2873 | /regexpp/3.2.0: 2874 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2875 | engines: {node: '>=8'} 2876 | 2877 | /require-directory/2.1.1: 2878 | resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} 2879 | engines: {node: '>=0.10.0'} 2880 | dev: false 2881 | 2882 | /resolve-from/4.0.0: 2883 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2884 | engines: {node: '>=4'} 2885 | dev: true 2886 | 2887 | /resolve/1.22.0: 2888 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 2889 | hasBin: true 2890 | dependencies: 2891 | is-core-module: 2.9.0 2892 | path-parse: 1.0.7 2893 | supports-preserve-symlinks-flag: 1.0.0 2894 | 2895 | /reusify/1.0.4: 2896 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2897 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2898 | 2899 | /rimraf/3.0.2: 2900 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2901 | hasBin: true 2902 | dependencies: 2903 | glob: 7.2.0 2904 | dev: true 2905 | 2906 | /rollup-plugin-dts/4.2.1_rollup@2.70.2+typescript@4.6.3: 2907 | resolution: {integrity: sha512-eaxQZNUJ5iQcxNGlpJ1CUgG4OSVqWjDZ3nNSWBIoGrpcote2aNphSe1RJOaSYkb8dwn3o+rYm1vvld/5z3EGSQ==} 2908 | engines: {node: '>=v12.22.11'} 2909 | peerDependencies: 2910 | rollup: ^2.70 2911 | typescript: ^4.6 2912 | dependencies: 2913 | magic-string: 0.26.1 2914 | rollup: 2.70.2 2915 | typescript: 4.6.3 2916 | optionalDependencies: 2917 | '@babel/code-frame': 7.16.7 2918 | dev: true 2919 | 2920 | /rollup-plugin-esbuild/4.9.1_esbuild@0.14.38+rollup@2.70.2: 2921 | resolution: {integrity: sha512-qn/x7Wz9p3Xnva99qcb+nopH0d2VJwVnsxJTGEg+Sh2Z3tqQl33MhOwzekVo1YTKgv+yAmosjcBRJygMfGrtLw==} 2922 | engines: {node: '>=12'} 2923 | peerDependencies: 2924 | esbuild: '>=0.10.1' 2925 | rollup: ^1.20.0 || ^2.0.0 2926 | dependencies: 2927 | '@rollup/pluginutils': 4.2.1 2928 | debug: 4.3.4 2929 | es-module-lexer: 0.9.3 2930 | esbuild: 0.14.38 2931 | joycon: 3.1.1 2932 | jsonc-parser: 3.0.0 2933 | rollup: 2.70.2 2934 | transitivePeerDependencies: 2935 | - supports-color 2936 | dev: true 2937 | 2938 | /rollup/2.70.2: 2939 | resolution: {integrity: sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==} 2940 | engines: {node: '>=10.0.0'} 2941 | hasBin: true 2942 | optionalDependencies: 2943 | fsevents: 2.3.2 2944 | dev: true 2945 | 2946 | /run-parallel/1.2.0: 2947 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2948 | dependencies: 2949 | queue-microtask: 1.2.3 2950 | 2951 | /safe-buffer/5.1.2: 2952 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2953 | 2954 | /safe-buffer/5.2.1: 2955 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2956 | dev: false 2957 | 2958 | /safe-regex/2.1.1: 2959 | resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} 2960 | dependencies: 2961 | regexp-tree: 0.1.24 2962 | dev: false 2963 | 2964 | /scule/0.2.1: 2965 | resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==} 2966 | dev: true 2967 | 2968 | /semver/5.7.1: 2969 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2970 | hasBin: true 2971 | dev: false 2972 | 2973 | /semver/6.3.0: 2974 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2975 | hasBin: true 2976 | 2977 | /semver/7.3.7: 2978 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 2979 | engines: {node: '>=10'} 2980 | hasBin: true 2981 | dependencies: 2982 | lru-cache: 6.0.0 2983 | 2984 | /shebang-command/2.0.0: 2985 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2986 | engines: {node: '>=8'} 2987 | dependencies: 2988 | shebang-regex: 3.0.0 2989 | dev: true 2990 | 2991 | /shebang-regex/3.0.0: 2992 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2993 | engines: {node: '>=8'} 2994 | dev: true 2995 | 2996 | /side-channel/1.0.4: 2997 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2998 | dependencies: 2999 | call-bind: 1.0.2 3000 | get-intrinsic: 1.1.1 3001 | object-inspect: 1.12.0 3002 | dev: false 3003 | 3004 | /slash/3.0.0: 3005 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3006 | engines: {node: '>=8'} 3007 | 3008 | /source-map/0.5.7: 3009 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} 3010 | engines: {node: '>=0.10.0'} 3011 | dev: true 3012 | 3013 | /sourcemap-codec/1.4.8: 3014 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 3015 | dev: true 3016 | 3017 | /spdx-correct/3.1.1: 3018 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 3019 | dependencies: 3020 | spdx-expression-parse: 3.0.1 3021 | spdx-license-ids: 3.0.11 3022 | dev: false 3023 | 3024 | /spdx-exceptions/2.3.0: 3025 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 3026 | dev: false 3027 | 3028 | /spdx-expression-parse/3.0.1: 3029 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 3030 | dependencies: 3031 | spdx-exceptions: 2.3.0 3032 | spdx-license-ids: 3.0.11 3033 | dev: false 3034 | 3035 | /spdx-license-ids/3.0.11: 3036 | resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} 3037 | dev: false 3038 | 3039 | /string-width/4.2.3: 3040 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3041 | engines: {node: '>=8'} 3042 | dependencies: 3043 | emoji-regex: 8.0.0 3044 | is-fullwidth-code-point: 3.0.0 3045 | strip-ansi: 6.0.1 3046 | dev: false 3047 | 3048 | /string.prototype.trimend/1.0.4: 3049 | resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} 3050 | dependencies: 3051 | call-bind: 1.0.2 3052 | define-properties: 1.1.4 3053 | dev: false 3054 | 3055 | /string.prototype.trimstart/1.0.4: 3056 | resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} 3057 | dependencies: 3058 | call-bind: 1.0.2 3059 | define-properties: 1.1.4 3060 | dev: false 3061 | 3062 | /string_decoder/1.1.1: 3063 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 3064 | dependencies: 3065 | safe-buffer: 5.1.2 3066 | dev: false 3067 | 3068 | /string_decoder/1.3.0: 3069 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 3070 | dependencies: 3071 | safe-buffer: 5.2.1 3072 | dev: false 3073 | 3074 | /strip-ansi/6.0.1: 3075 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3076 | engines: {node: '>=8'} 3077 | dependencies: 3078 | ansi-regex: 5.0.1 3079 | 3080 | /strip-bom/3.0.0: 3081 | resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} 3082 | engines: {node: '>=4'} 3083 | dev: false 3084 | 3085 | /strip-indent/3.0.0: 3086 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 3087 | engines: {node: '>=8'} 3088 | dependencies: 3089 | min-indent: 1.0.1 3090 | dev: false 3091 | 3092 | /strip-json-comments/3.1.1: 3093 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3094 | engines: {node: '>=8'} 3095 | dev: true 3096 | 3097 | /supports-color/5.5.0: 3098 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3099 | engines: {node: '>=4'} 3100 | dependencies: 3101 | has-flag: 3.0.0 3102 | 3103 | /supports-color/7.2.0: 3104 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3105 | engines: {node: '>=8'} 3106 | dependencies: 3107 | has-flag: 4.0.0 3108 | dev: true 3109 | 3110 | /supports-preserve-symlinks-flag/1.0.0: 3111 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3112 | engines: {node: '>= 0.4'} 3113 | 3114 | /tar-stream/2.2.0: 3115 | resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 3116 | engines: {node: '>=6'} 3117 | dependencies: 3118 | bl: 4.1.0 3119 | end-of-stream: 1.4.4 3120 | fs-constants: 1.0.0 3121 | inherits: 2.0.4 3122 | readable-stream: 3.6.0 3123 | dev: false 3124 | 3125 | /text-table/0.2.0: 3126 | resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} 3127 | dev: true 3128 | 3129 | /to-fast-properties/2.0.0: 3130 | resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} 3131 | engines: {node: '>=4'} 3132 | dev: true 3133 | 3134 | /to-regex-range/5.0.1: 3135 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3136 | engines: {node: '>=8.0'} 3137 | dependencies: 3138 | is-number: 7.0.0 3139 | 3140 | /tsconfig-paths/3.14.1: 3141 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 3142 | dependencies: 3143 | '@types/json5': 0.0.29 3144 | json5: 1.0.1 3145 | minimist: 1.2.6 3146 | strip-bom: 3.0.0 3147 | dev: false 3148 | 3149 | /tslib/1.14.1: 3150 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3151 | dev: false 3152 | 3153 | /tsutils/3.21.0: 3154 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3155 | engines: {node: '>= 6'} 3156 | peerDependencies: 3157 | 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' 3158 | dependencies: 3159 | tslib: 1.14.1 3160 | dev: false 3161 | 3162 | /type-check/0.4.0: 3163 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3164 | engines: {node: '>= 0.8.0'} 3165 | dependencies: 3166 | prelude-ls: 1.2.1 3167 | dev: true 3168 | 3169 | /type-fest/0.20.2: 3170 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3171 | engines: {node: '>=10'} 3172 | dev: true 3173 | 3174 | /type-fest/0.6.0: 3175 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 3176 | engines: {node: '>=8'} 3177 | dev: false 3178 | 3179 | /type-fest/0.8.1: 3180 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 3181 | engines: {node: '>=8'} 3182 | dev: false 3183 | 3184 | /typescript/4.6.3: 3185 | resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} 3186 | engines: {node: '>=4.2.0'} 3187 | hasBin: true 3188 | dev: true 3189 | 3190 | /unbox-primitive/1.0.2: 3191 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3192 | dependencies: 3193 | call-bind: 1.0.2 3194 | has-bigints: 1.0.2 3195 | has-symbols: 1.0.3 3196 | which-boxed-primitive: 1.0.2 3197 | dev: false 3198 | 3199 | /unbuild/0.7.4: 3200 | resolution: {integrity: sha512-gJvfMw4h5Q7xieMCeW/d3wtNKZDpFyDR9651s8kL+AGp95sMNhAFRLxy24AUKC3b5EQbB74vaDoU5R+XwsZC6A==} 3201 | hasBin: true 3202 | dependencies: 3203 | '@rollup/plugin-alias': 3.1.9_rollup@2.70.2 3204 | '@rollup/plugin-commonjs': 21.1.0_rollup@2.70.2 3205 | '@rollup/plugin-json': 4.1.0_rollup@2.70.2 3206 | '@rollup/plugin-node-resolve': 13.2.1_rollup@2.70.2 3207 | '@rollup/plugin-replace': 4.0.0_rollup@2.70.2 3208 | '@rollup/pluginutils': 4.2.1 3209 | chalk: 5.0.1 3210 | consola: 2.15.3 3211 | defu: 6.0.0 3212 | esbuild: 0.14.38 3213 | hookable: 5.1.1 3214 | jiti: 1.13.0 3215 | magic-string: 0.26.1 3216 | mkdirp: 1.0.4 3217 | mkdist: 0.3.10_typescript@4.6.3 3218 | mlly: 0.5.2 3219 | mri: 1.2.0 3220 | pathe: 0.2.0 3221 | pkg-types: 0.3.2 3222 | pretty-bytes: 6.0.0 3223 | rimraf: 3.0.2 3224 | rollup: 2.70.2 3225 | rollup-plugin-dts: 4.2.1_rollup@2.70.2+typescript@4.6.3 3226 | rollup-plugin-esbuild: 4.9.1_esbuild@0.14.38+rollup@2.70.2 3227 | scule: 0.2.1 3228 | typescript: 4.6.3 3229 | untyped: 0.4.4 3230 | transitivePeerDependencies: 3231 | - supports-color 3232 | dev: true 3233 | 3234 | /unist-util-stringify-position/2.0.3: 3235 | resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} 3236 | dependencies: 3237 | '@types/unist': 2.0.6 3238 | dev: false 3239 | 3240 | /universalify/2.0.0: 3241 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 3242 | engines: {node: '>= 10.0.0'} 3243 | 3244 | /untyped/0.4.4: 3245 | resolution: {integrity: sha512-sY6u8RedwfLfBis0copfU/fzROieyAndqPs8Kn2PfyzTjtA88vCk81J1b5z+8/VJc+cwfGy23/AqOCpvAbkNVw==} 3246 | dependencies: 3247 | '@babel/core': 7.17.9 3248 | '@babel/standalone': 7.17.9 3249 | '@babel/types': 7.17.0 3250 | scule: 0.2.1 3251 | transitivePeerDependencies: 3252 | - supports-color 3253 | dev: true 3254 | 3255 | /uri-js/4.4.1: 3256 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3257 | dependencies: 3258 | punycode: 2.1.1 3259 | dev: true 3260 | 3261 | /util-deprecate/1.0.2: 3262 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} 3263 | dev: false 3264 | 3265 | /v8-compile-cache/2.3.0: 3266 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 3267 | dev: true 3268 | 3269 | /validate-npm-package-license/3.0.4: 3270 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 3271 | dependencies: 3272 | spdx-correct: 3.1.1 3273 | spdx-expression-parse: 3.0.1 3274 | dev: false 3275 | 3276 | /vue-eslint-parser/8.3.0_eslint@8.14.0: 3277 | resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==} 3278 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 3279 | peerDependencies: 3280 | eslint: '>=6.0.0' 3281 | dependencies: 3282 | debug: 4.3.4 3283 | eslint: 8.14.0 3284 | eslint-scope: 7.1.1 3285 | eslint-visitor-keys: 3.3.0 3286 | espree: 9.3.1 3287 | esquery: 1.4.0 3288 | lodash: 4.17.21 3289 | semver: 7.3.7 3290 | transitivePeerDependencies: 3291 | - supports-color 3292 | dev: false 3293 | 3294 | /which-boxed-primitive/1.0.2: 3295 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3296 | dependencies: 3297 | is-bigint: 1.0.4 3298 | is-boolean-object: 1.1.2 3299 | is-number-object: 1.0.7 3300 | is-string: 1.0.7 3301 | is-symbol: 1.0.4 3302 | dev: false 3303 | 3304 | /which/2.0.2: 3305 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3306 | engines: {node: '>= 8'} 3307 | hasBin: true 3308 | dependencies: 3309 | isexe: 2.0.0 3310 | dev: true 3311 | 3312 | /word-wrap/1.2.3: 3313 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3314 | engines: {node: '>=0.10.0'} 3315 | dev: true 3316 | 3317 | /wrap-ansi/7.0.0: 3318 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3319 | engines: {node: '>=10'} 3320 | dependencies: 3321 | ansi-styles: 4.3.0 3322 | string-width: 4.2.3 3323 | strip-ansi: 6.0.1 3324 | dev: false 3325 | 3326 | /wrappy/1.0.2: 3327 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 3328 | 3329 | /y18n/5.0.8: 3330 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3331 | engines: {node: '>=10'} 3332 | dev: false 3333 | 3334 | /yallist/4.0.0: 3335 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3336 | 3337 | /yaml-eslint-parser/0.5.0: 3338 | resolution: {integrity: sha512-nJeyLA3YHAzhBTZbRAbu3W6xrSCucyxExmA+ZDtEdUFpGllxAZpto2Zxo2IG0r0eiuEiBM4e+wiAdxTziTq94g==} 3339 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 3340 | dependencies: 3341 | eslint-visitor-keys: 3.3.0 3342 | lodash: 4.17.21 3343 | yaml: 1.10.2 3344 | dev: false 3345 | 3346 | /yaml/1.10.2: 3347 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3348 | engines: {node: '>= 6'} 3349 | dev: false 3350 | 3351 | /yargs-parser/21.0.1: 3352 | resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} 3353 | engines: {node: '>=12'} 3354 | dev: false 3355 | 3356 | /yargs/17.4.1: 3357 | resolution: {integrity: sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==} 3358 | engines: {node: '>=12'} 3359 | dependencies: 3360 | cliui: 7.0.4 3361 | escalade: 3.1.1 3362 | get-caller-file: 2.0.5 3363 | require-directory: 2.1.1 3364 | string-width: 4.2.3 3365 | y18n: 5.0.8 3366 | yargs-parser: 21.0.1 3367 | dev: false 3368 | 3369 | /yocto-queue/1.0.0: 3370 | resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} 3371 | engines: {node: '>=12.20'} 3372 | dev: false 3373 | 3374 | /zip-stream/4.1.0: 3375 | resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==} 3376 | engines: {node: '>= 10'} 3377 | dependencies: 3378 | archiver-utils: 2.1.0 3379 | compress-commons: 4.1.1 3380 | readable-stream: 3.6.0 3381 | dev: false 3382 | --------------------------------------------------------------------------------