├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ └── codeql.yml ├── .gitignore ├── .idea ├── $CACHE_FILE$ ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── inspectionProfiles │ └── Project_Default.xml ├── jsLibraryMappings.xml ├── misc.xml ├── modules.xml ├── s3-deploy.iml └── vcs.xml ├── .prettierrc.json ├── LICENSE ├── README.md ├── action.yml ├── deploy.js ├── dist └── index.js ├── index.js ├── package-lock.json └── package.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 2 9 | indent_style = space 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "env": { 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true 7 | }, 8 | "extends": "eslint:recommended", 9 | "globals": { 10 | "Atomics": "readonly", 11 | "SharedArrayBuffer": "readonly" 12 | }, 13 | "parserOptions": { 14 | "ecmaVersion": 2018 15 | }, 16 | "rules": {} 17 | } 18 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: "/" 5 | schedule: 6 | interval: monthly 7 | versioning-strategy: increase 8 | - package-ecosystem: github-actions 9 | directory: "/" 10 | schedule: 11 | interval: weekly 12 | -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL" 2 | 3 | on: 4 | schedule: 5 | - cron: "0 0 1 * *" 6 | workflow_dispatch: 7 | 8 | permissions: 9 | contents: read 10 | 11 | jobs: 12 | analyze: 13 | name: Analyze 14 | runs-on: ubuntu-latest 15 | if: ${{ github.actor != 'dependabot[bot]' }} 16 | permissions: 17 | actions: read 18 | contents: read 19 | security-events: write 20 | 21 | steps: 22 | - name: Checkout repository 23 | uses: actions/checkout@v4 24 | 25 | - name: Initialize CodeQL 26 | uses: github/codeql-action/init@v3 27 | with: 28 | languages: "javascript" 29 | queries: +security-and-quality 30 | 31 | - name: Perform CodeQL Analysis 32 | uses: github/codeql-action/analyze@v3 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | 3 | # Editors 4 | .vscode 5 | 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Other Dependency directories 41 | jspm_packages/ 42 | 43 | # TypeScript v1 declaration files 44 | typings/ 45 | 46 | # Optional npm cache directory 47 | .npm 48 | 49 | # Optional eslint cache 50 | .eslintcache 51 | 52 | # Optional REPL history 53 | .node_repl_history 54 | 55 | # Output of 'npm pack' 56 | *.tgz 57 | 58 | # Yarn Integrity file 59 | .yarn-integrity 60 | 61 | # dotenv environment variables file 62 | .env 63 | 64 | # next.js build output 65 | .next 66 | 67 | build 68 | -------------------------------------------------------------------------------- /.idea/$CACHE_FILE$: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 21 | 22 | 29 | 30 | 37 | 38 | 39 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | -------------------------------------------------------------------------------- /.idea/jsLibraryMappings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/s3-deploy.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "printWidth": 120 4 | } 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Nicola Reggiani 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AWS S3 Deploy GitHub Action 2 | 3 | **Easily deploy a static website to AWS S3 and invalidate CloudFront distribution** 4 | 5 | This action is based on the work done by import-io on [s3-deploy](https://www.npmjs.com/package/s3-deploy). 6 | 7 | ## Usage 8 | 9 | You can use this action by referencing the v4 branch 10 | 11 | ```yaml 12 | uses: reggionick/s3-deploy@v4 13 | with: 14 | folder: build 15 | bucket: ${{ secrets.S3_BUCKET }} 16 | bucket-region: us-east-1 17 | ``` 18 | 19 | ## Arguments 20 | 21 | S3 Deploy's Action supports inputs from the user listed in the table below: 22 | 23 | | Input | Type | Required | Default | Description | 24 | | ------------------ | ---------------- | -------- | --------- | ------------------------------------------------------------------------------------------ | 25 | | `folder` | string | Yes | | The folder to upload | 26 | | `bucket` | string | Yes | | The destination bucket | 27 | | `bucket-region` | string | Yes | | The destination bucket region | 28 | | `dist-id` | string | No | undefined | The CloudFront Distribution ID to invalidate | 29 | | `invalidation` | string | No | '/' | The CloudFront Distribution path(s) to invalidate | 30 | | `delete-removed` | boolean / string | No | false | Removes files in S3, that are not available in the local copy of the directory | 31 | | `no-cache` | boolean | No | false | Use this parameter to specify `Cache-Control: no-cache, no-store, must-revalidate` header | 32 | | `private` | boolean | No | false | Upload files with private ACL, needed for S3 static website hosting | 33 | | `cache` | string | No | | Sets the Cache-Control: max-age=X header | 34 | | `immutable` | boolean | No | false | Sets the Cache-Control header to 'immutable' | 35 | | `cache-control` | string | No | | Sets the Cache-Control: X header | 36 | | `files-to-include` | string | No | "\*\*" | Allows for a comma delineated glob pattern that matches files to include in the deployment | 37 | 38 | ### Example `workflow.yml` with S3 Deploy Action 39 | 40 | ```yaml 41 | name: Example workflow for S3 Deploy 42 | on: [push] 43 | jobs: 44 | run: 45 | runs-on: ubuntu-latest 46 | env: 47 | AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} 48 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 49 | steps: 50 | - uses: actions/checkout@v3 51 | 52 | - name: Install dependencies 53 | run: yarn 54 | 55 | - name: Build 56 | run: yarn build 57 | 58 | - name: Deploy 59 | uses: reggionick/s3-deploy@v4 60 | with: 61 | folder: build 62 | bucket: ${{ secrets.S3_BUCKET }} 63 | bucket-region: ${{ secrets.S3_BUCKET_REGION }} 64 | dist-id: ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }} 65 | invalidation: / 66 | delete-removed: true 67 | no-cache: true 68 | private: true 69 | files-to-include: '{.*/**,**}' 70 | ``` 71 | 72 | ### Minimum IAM Policy 73 | 74 | ```json 75 | { 76 | "Version": "2012-10-17", 77 | "Statement": [ 78 | { 79 | "Sid": "AllowS3BucketManipulation", 80 | "Effect": "Allow", 81 | "Action": [ 82 | "s3:PutObject", 83 | "s3:GetObject", 84 | "s3:DeleteObject", 85 | "s3:ListMultipartUploadParts", 86 | "s3:AbortMultipartUpload", 87 | "s3:ListBucket" 88 | ], 89 | "Resource": "arn:aws:s3:::/*" 90 | }, 91 | { 92 | "Sid": "AllowS3BucketListing", 93 | "Effect": "Allow", 94 | "Action": [ 95 | "s3:ListBucket" 96 | ], 97 | "Resource": "arn:aws:s3:::" 98 | }, 99 | { 100 | "Sid": "CFInvalidation", 101 | "Effect": "Allow", 102 | "Action": "cloudfront:CreateInvalidation", 103 | "Resource": "arn:aws:cloudfront:::distribution/" 104 | } 105 | ] 106 | } 107 | ``` 108 | 109 | ## License 110 | 111 | The code in this project is released under the [MIT License](LICENSE). 112 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: 'S3 Deploy' 2 | description: 'Deploy a static website to AWS S3 and invalidate CloudFront distribution' 3 | inputs: 4 | folder: 5 | description: 'Directory to deploy' 6 | required: true 7 | bucket: 8 | description: 'Name of AWS Bucket' 9 | required: true 10 | bucket-region: 11 | description: 'The destination bucket region' 12 | required: true 13 | dist-id: 14 | description: 'AWS CloudFront distribution ID' 15 | required: false 16 | invalidation: 17 | description: 'AWS CloudFront invalidation path(s)' 18 | required: false 19 | delete-removed: 20 | description: 'Removes files in S3 that are not available in the local copy of the directory' 21 | required: false 22 | no-cache: 23 | description: 'Use this parameter to specify Cache-Control: no-cache, no-store, must-revalidate header' 24 | required: false 25 | private: 26 | description: 'Upload files with private ACL, needed for S3 static website hosting' 27 | required: false 28 | cache: 29 | description: 'Sets the Cache-Control: max-age=X header' 30 | required: false 31 | immutable: 32 | description: 'Sets the Cache-Control header to immutable' 33 | required: false 34 | cache-control: 35 | description: 'Sets the Cache-Control: X header' 36 | required: false 37 | files-to-include: 38 | description: 'Allows for a comma delineated Regex String that matches files to include in the deployment' 39 | required: false 40 | runs: 41 | using: 'node20' 42 | main: 'dist/index.js' 43 | branding: 44 | icon: 'upload-cloud' 45 | color: 'orange' 46 | -------------------------------------------------------------------------------- /deploy.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const exec = require('@actions/exec'); 3 | 4 | let deploy = function (params) { 5 | return new Promise((resolve, reject) => { 6 | const { 7 | folder, 8 | bucket, 9 | bucketRegion, 10 | distId, 11 | invalidation, 12 | deleteRemoved, 13 | noCache, 14 | private, 15 | cache, 16 | immutable, 17 | cacheControl, 18 | filesToInclude, 19 | } = params; 20 | 21 | const distIdArg = distId ? `--distId ${distId}` : ''; 22 | const invalidationArg = distId ? `--invalidate "${invalidation}"` : ''; 23 | const deleteRemovedArg = 24 | deleteRemoved && !/false/i.test(deleteRemoved) 25 | ? /true/i.test(deleteRemoved) 26 | ? `--deleteRemoved` 27 | : `--deleteRemoved ${deleteRemoved}` 28 | : ''; 29 | const noCacheArg = noCache ? '--noCache' : ''; 30 | const immutableArg = immutable ? '--immutable' : ''; 31 | const cacheControlArg = cacheControl ? `--cacheControl ${cacheControl}` : ''; 32 | const privateArg = private ? '--private' : ''; 33 | const cacheFlag = cache ? `--cache ${cache}` : ''; 34 | const filesRegex = filesToInclude ? filesToInclude : '**'; 35 | 36 | try { 37 | const command = `npx s3-deploy@1.4.0 ./${filesRegex} \ 38 | --bucket ${bucket} \ 39 | --region ${bucketRegion} \ 40 | --cwd ./ \ 41 | ${distIdArg} \ 42 | --etag \ 43 | --gzip xml,html,htm,js,css,ttf,otf,svg,txt \ 44 | ${cacheFlag} \ 45 | ${invalidationArg} \ 46 | ${deleteRemovedArg} \ 47 | ${noCacheArg} \ 48 | ${immutableArg} \ 49 | ${cacheControlArg} \ 50 | ${privateArg} `; 51 | 52 | const cwd = path.resolve(folder); 53 | exec.exec(command, [], { cwd }).then(resolve).catch(reject); 54 | } catch (e) { 55 | reject(e); 56 | } 57 | }); 58 | }; 59 | 60 | module.exports = deploy; 61 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const core = require('@actions/core'); 2 | const deploy = require('./deploy'); 3 | 4 | function getBooleanInput(name) { 5 | return core.getInput(name).toLowerCase() === 'true'; 6 | } 7 | 8 | async function run() { 9 | try { 10 | const folder = core.getInput('folder'); 11 | const bucket = core.getInput('bucket'); 12 | const bucketRegion = core.getInput('bucket-region'); 13 | const distId = core.getInput('dist-id'); 14 | const invalidation = core.getInput('invalidation') || '/'; 15 | const deleteRemoved = core.getInput('delete-removed') || false; 16 | const noCache = getBooleanInput('no-cache'); 17 | const private = getBooleanInput('private'); 18 | const immutable = getBooleanInput('immutable'); 19 | 20 | const cacheControl = core.getInput('cacheControl'); 21 | const cache = core.getInput('cache') || null; 22 | const filesToInclude = core.getInput('files-to-include') || null; 23 | 24 | await deploy({ 25 | folder, 26 | bucket, 27 | bucketRegion, 28 | distId, 29 | invalidation, 30 | deleteRemoved, 31 | noCache, 32 | private, 33 | cache, 34 | immutable, 35 | cacheControl, 36 | filesToInclude, 37 | }); 38 | } catch (error) { 39 | core.setFailed(error.message); 40 | } 41 | } 42 | 43 | run(); 44 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "github-action-s3-deploy", 3 | "version": "4.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "github-action-s3-deploy", 9 | "version": "4.0.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@actions/core": "^1.11.1", 13 | "@actions/exec": "^1.1.1" 14 | }, 15 | "devDependencies": { 16 | "@vercel/ncc": "^0.38.1", 17 | "env-cmd": "^10.1.0", 18 | "eslint": "^8.57.1", 19 | "prettier": "3.3.2" 20 | } 21 | }, 22 | "node_modules/@aashutoshrathi/word-wrap": { 23 | "version": "1.2.6", 24 | "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", 25 | "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", 26 | "dev": true, 27 | "engines": { 28 | "node": ">=0.10.0" 29 | } 30 | }, 31 | "node_modules/@actions/core": { 32 | "version": "1.11.1", 33 | "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", 34 | "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", 35 | "dependencies": { 36 | "@actions/exec": "^1.1.1", 37 | "@actions/http-client": "^2.0.1" 38 | } 39 | }, 40 | "node_modules/@actions/exec": { 41 | "version": "1.1.1", 42 | "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", 43 | "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", 44 | "dependencies": { 45 | "@actions/io": "^1.0.1" 46 | } 47 | }, 48 | "node_modules/@actions/http-client": { 49 | "version": "2.0.1", 50 | "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", 51 | "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", 52 | "dependencies": { 53 | "tunnel": "^0.0.6" 54 | } 55 | }, 56 | "node_modules/@actions/io": { 57 | "version": "1.1.2", 58 | "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz", 59 | "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==" 60 | }, 61 | "node_modules/@eslint-community/eslint-utils": { 62 | "version": "4.2.0", 63 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz", 64 | "integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==", 65 | "dev": true, 66 | "dependencies": { 67 | "eslint-visitor-keys": "^3.3.0" 68 | }, 69 | "engines": { 70 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 71 | }, 72 | "peerDependencies": { 73 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 74 | } 75 | }, 76 | "node_modules/@eslint-community/regexpp": { 77 | "version": "4.8.0", 78 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", 79 | "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", 80 | "dev": true, 81 | "engines": { 82 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 83 | } 84 | }, 85 | "node_modules/@eslint/eslintrc": { 86 | "version": "2.1.4", 87 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", 88 | "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", 89 | "dev": true, 90 | "dependencies": { 91 | "ajv": "^6.12.4", 92 | "debug": "^4.3.2", 93 | "espree": "^9.6.0", 94 | "globals": "^13.19.0", 95 | "ignore": "^5.2.0", 96 | "import-fresh": "^3.2.1", 97 | "js-yaml": "^4.1.0", 98 | "minimatch": "^3.1.2", 99 | "strip-json-comments": "^3.1.1" 100 | }, 101 | "engines": { 102 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 103 | }, 104 | "funding": { 105 | "url": "https://opencollective.com/eslint" 106 | } 107 | }, 108 | "node_modules/@eslint/js": { 109 | "version": "8.57.1", 110 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", 111 | "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", 112 | "dev": true, 113 | "engines": { 114 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 115 | } 116 | }, 117 | "node_modules/@humanwhocodes/config-array": { 118 | "version": "0.13.0", 119 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", 120 | "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", 121 | "deprecated": "Use @eslint/config-array instead", 122 | "dev": true, 123 | "dependencies": { 124 | "@humanwhocodes/object-schema": "^2.0.3", 125 | "debug": "^4.3.1", 126 | "minimatch": "^3.0.5" 127 | }, 128 | "engines": { 129 | "node": ">=10.10.0" 130 | } 131 | }, 132 | "node_modules/@humanwhocodes/module-importer": { 133 | "version": "1.0.1", 134 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 135 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 136 | "dev": true, 137 | "engines": { 138 | "node": ">=12.22" 139 | }, 140 | "funding": { 141 | "type": "github", 142 | "url": "https://github.com/sponsors/nzakas" 143 | } 144 | }, 145 | "node_modules/@humanwhocodes/object-schema": { 146 | "version": "2.0.3", 147 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", 148 | "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", 149 | "deprecated": "Use @eslint/object-schema instead", 150 | "dev": true 151 | }, 152 | "node_modules/@nodelib/fs.scandir": { 153 | "version": "2.1.5", 154 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 155 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 156 | "dev": true, 157 | "dependencies": { 158 | "@nodelib/fs.stat": "2.0.5", 159 | "run-parallel": "^1.1.9" 160 | }, 161 | "engines": { 162 | "node": ">= 8" 163 | } 164 | }, 165 | "node_modules/@nodelib/fs.stat": { 166 | "version": "2.0.5", 167 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 168 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 169 | "dev": true, 170 | "engines": { 171 | "node": ">= 8" 172 | } 173 | }, 174 | "node_modules/@nodelib/fs.walk": { 175 | "version": "1.2.8", 176 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 177 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 178 | "dev": true, 179 | "dependencies": { 180 | "@nodelib/fs.scandir": "2.1.5", 181 | "fastq": "^1.6.0" 182 | }, 183 | "engines": { 184 | "node": ">= 8" 185 | } 186 | }, 187 | "node_modules/@ungap/structured-clone": { 188 | "version": "1.2.0", 189 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 190 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", 191 | "dev": true 192 | }, 193 | "node_modules/@vercel/ncc": { 194 | "version": "0.38.1", 195 | "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.1.tgz", 196 | "integrity": "sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==", 197 | "dev": true, 198 | "bin": { 199 | "ncc": "dist/ncc/cli.js" 200 | } 201 | }, 202 | "node_modules/acorn": { 203 | "version": "8.11.3", 204 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 205 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 206 | "dev": true, 207 | "bin": { 208 | "acorn": "bin/acorn" 209 | }, 210 | "engines": { 211 | "node": ">=0.4.0" 212 | } 213 | }, 214 | "node_modules/acorn-jsx": { 215 | "version": "5.3.2", 216 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 217 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 218 | "dev": true, 219 | "peerDependencies": { 220 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 221 | } 222 | }, 223 | "node_modules/ajv": { 224 | "version": "6.12.6", 225 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 226 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 227 | "dev": true, 228 | "dependencies": { 229 | "fast-deep-equal": "^3.1.1", 230 | "fast-json-stable-stringify": "^2.0.0", 231 | "json-schema-traverse": "^0.4.1", 232 | "uri-js": "^4.2.2" 233 | }, 234 | "funding": { 235 | "type": "github", 236 | "url": "https://github.com/sponsors/epoberezkin" 237 | } 238 | }, 239 | "node_modules/ansi-regex": { 240 | "version": "5.0.1", 241 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 242 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 243 | "dev": true, 244 | "engines": { 245 | "node": ">=8" 246 | } 247 | }, 248 | "node_modules/ansi-styles": { 249 | "version": "4.3.0", 250 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 251 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 252 | "dev": true, 253 | "dependencies": { 254 | "color-convert": "^2.0.1" 255 | }, 256 | "engines": { 257 | "node": ">=8" 258 | }, 259 | "funding": { 260 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 261 | } 262 | }, 263 | "node_modules/argparse": { 264 | "version": "2.0.1", 265 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 266 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 267 | "dev": true 268 | }, 269 | "node_modules/balanced-match": { 270 | "version": "1.0.2", 271 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 272 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 273 | "dev": true 274 | }, 275 | "node_modules/brace-expansion": { 276 | "version": "1.1.11", 277 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 278 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 279 | "dev": true, 280 | "dependencies": { 281 | "balanced-match": "^1.0.0", 282 | "concat-map": "0.0.1" 283 | } 284 | }, 285 | "node_modules/callsites": { 286 | "version": "3.1.0", 287 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 288 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 289 | "dev": true, 290 | "engines": { 291 | "node": ">=6" 292 | } 293 | }, 294 | "node_modules/chalk": { 295 | "version": "4.1.2", 296 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 297 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 298 | "dev": true, 299 | "dependencies": { 300 | "ansi-styles": "^4.1.0", 301 | "supports-color": "^7.1.0" 302 | }, 303 | "engines": { 304 | "node": ">=10" 305 | }, 306 | "funding": { 307 | "url": "https://github.com/chalk/chalk?sponsor=1" 308 | } 309 | }, 310 | "node_modules/color-convert": { 311 | "version": "2.0.1", 312 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 313 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 314 | "dev": true, 315 | "dependencies": { 316 | "color-name": "~1.1.4" 317 | }, 318 | "engines": { 319 | "node": ">=7.0.0" 320 | } 321 | }, 322 | "node_modules/color-name": { 323 | "version": "1.1.4", 324 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 325 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 326 | "dev": true 327 | }, 328 | "node_modules/commander": { 329 | "version": "4.1.1", 330 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 331 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 332 | "dev": true, 333 | "engines": { 334 | "node": ">= 6" 335 | } 336 | }, 337 | "node_modules/concat-map": { 338 | "version": "0.0.1", 339 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 340 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 341 | "dev": true 342 | }, 343 | "node_modules/cross-spawn": { 344 | "version": "7.0.3", 345 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 346 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 347 | "dev": true, 348 | "dependencies": { 349 | "path-key": "^3.1.0", 350 | "shebang-command": "^2.0.0", 351 | "which": "^2.0.1" 352 | }, 353 | "engines": { 354 | "node": ">= 8" 355 | } 356 | }, 357 | "node_modules/debug": { 358 | "version": "4.3.4", 359 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 360 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 361 | "dev": true, 362 | "dependencies": { 363 | "ms": "2.1.2" 364 | }, 365 | "engines": { 366 | "node": ">=6.0" 367 | }, 368 | "peerDependenciesMeta": { 369 | "supports-color": { 370 | "optional": true 371 | } 372 | } 373 | }, 374 | "node_modules/deep-is": { 375 | "version": "0.1.4", 376 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 377 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 378 | "dev": true 379 | }, 380 | "node_modules/doctrine": { 381 | "version": "3.0.0", 382 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 383 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 384 | "dev": true, 385 | "dependencies": { 386 | "esutils": "^2.0.2" 387 | }, 388 | "engines": { 389 | "node": ">=6.0.0" 390 | } 391 | }, 392 | "node_modules/env-cmd": { 393 | "version": "10.1.0", 394 | "resolved": "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz", 395 | "integrity": "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==", 396 | "dev": true, 397 | "dependencies": { 398 | "commander": "^4.0.0", 399 | "cross-spawn": "^7.0.0" 400 | }, 401 | "bin": { 402 | "env-cmd": "bin/env-cmd.js" 403 | }, 404 | "engines": { 405 | "node": ">=8.0.0" 406 | } 407 | }, 408 | "node_modules/escape-string-regexp": { 409 | "version": "4.0.0", 410 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 411 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 412 | "dev": true, 413 | "engines": { 414 | "node": ">=10" 415 | }, 416 | "funding": { 417 | "url": "https://github.com/sponsors/sindresorhus" 418 | } 419 | }, 420 | "node_modules/eslint": { 421 | "version": "8.57.1", 422 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", 423 | "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", 424 | "dev": true, 425 | "dependencies": { 426 | "@eslint-community/eslint-utils": "^4.2.0", 427 | "@eslint-community/regexpp": "^4.6.1", 428 | "@eslint/eslintrc": "^2.1.4", 429 | "@eslint/js": "8.57.1", 430 | "@humanwhocodes/config-array": "^0.13.0", 431 | "@humanwhocodes/module-importer": "^1.0.1", 432 | "@nodelib/fs.walk": "^1.2.8", 433 | "@ungap/structured-clone": "^1.2.0", 434 | "ajv": "^6.12.4", 435 | "chalk": "^4.0.0", 436 | "cross-spawn": "^7.0.2", 437 | "debug": "^4.3.2", 438 | "doctrine": "^3.0.0", 439 | "escape-string-regexp": "^4.0.0", 440 | "eslint-scope": "^7.2.2", 441 | "eslint-visitor-keys": "^3.4.3", 442 | "espree": "^9.6.1", 443 | "esquery": "^1.4.2", 444 | "esutils": "^2.0.2", 445 | "fast-deep-equal": "^3.1.3", 446 | "file-entry-cache": "^6.0.1", 447 | "find-up": "^5.0.0", 448 | "glob-parent": "^6.0.2", 449 | "globals": "^13.19.0", 450 | "graphemer": "^1.4.0", 451 | "ignore": "^5.2.0", 452 | "imurmurhash": "^0.1.4", 453 | "is-glob": "^4.0.0", 454 | "is-path-inside": "^3.0.3", 455 | "js-yaml": "^4.1.0", 456 | "json-stable-stringify-without-jsonify": "^1.0.1", 457 | "levn": "^0.4.1", 458 | "lodash.merge": "^4.6.2", 459 | "minimatch": "^3.1.2", 460 | "natural-compare": "^1.4.0", 461 | "optionator": "^0.9.3", 462 | "strip-ansi": "^6.0.1", 463 | "text-table": "^0.2.0" 464 | }, 465 | "bin": { 466 | "eslint": "bin/eslint.js" 467 | }, 468 | "engines": { 469 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 470 | }, 471 | "funding": { 472 | "url": "https://opencollective.com/eslint" 473 | } 474 | }, 475 | "node_modules/eslint-scope": { 476 | "version": "7.2.2", 477 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 478 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 479 | "dev": true, 480 | "dependencies": { 481 | "esrecurse": "^4.3.0", 482 | "estraverse": "^5.2.0" 483 | }, 484 | "engines": { 485 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 486 | }, 487 | "funding": { 488 | "url": "https://opencollective.com/eslint" 489 | } 490 | }, 491 | "node_modules/eslint-visitor-keys": { 492 | "version": "3.4.3", 493 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 494 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 495 | "dev": true, 496 | "engines": { 497 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 498 | }, 499 | "funding": { 500 | "url": "https://opencollective.com/eslint" 501 | } 502 | }, 503 | "node_modules/espree": { 504 | "version": "9.6.1", 505 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 506 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 507 | "dev": true, 508 | "dependencies": { 509 | "acorn": "^8.9.0", 510 | "acorn-jsx": "^5.3.2", 511 | "eslint-visitor-keys": "^3.4.1" 512 | }, 513 | "engines": { 514 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 515 | }, 516 | "funding": { 517 | "url": "https://opencollective.com/eslint" 518 | } 519 | }, 520 | "node_modules/esquery": { 521 | "version": "1.4.2", 522 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", 523 | "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", 524 | "dev": true, 525 | "dependencies": { 526 | "estraverse": "^5.1.0" 527 | }, 528 | "engines": { 529 | "node": ">=0.10" 530 | } 531 | }, 532 | "node_modules/esrecurse": { 533 | "version": "4.3.0", 534 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 535 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 536 | "dev": true, 537 | "dependencies": { 538 | "estraverse": "^5.2.0" 539 | }, 540 | "engines": { 541 | "node": ">=4.0" 542 | } 543 | }, 544 | "node_modules/estraverse": { 545 | "version": "5.3.0", 546 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 547 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 548 | "dev": true, 549 | "engines": { 550 | "node": ">=4.0" 551 | } 552 | }, 553 | "node_modules/esutils": { 554 | "version": "2.0.3", 555 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 556 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 557 | "dev": true, 558 | "engines": { 559 | "node": ">=0.10.0" 560 | } 561 | }, 562 | "node_modules/fast-deep-equal": { 563 | "version": "3.1.3", 564 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 565 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 566 | "dev": true 567 | }, 568 | "node_modules/fast-json-stable-stringify": { 569 | "version": "2.1.0", 570 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 571 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 572 | "dev": true 573 | }, 574 | "node_modules/fast-levenshtein": { 575 | "version": "2.0.6", 576 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 577 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 578 | "dev": true 579 | }, 580 | "node_modules/fastq": { 581 | "version": "1.15.0", 582 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 583 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 584 | "dev": true, 585 | "dependencies": { 586 | "reusify": "^1.0.4" 587 | } 588 | }, 589 | "node_modules/file-entry-cache": { 590 | "version": "6.0.1", 591 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 592 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 593 | "dev": true, 594 | "dependencies": { 595 | "flat-cache": "^3.0.4" 596 | }, 597 | "engines": { 598 | "node": "^10.12.0 || >=12.0.0" 599 | } 600 | }, 601 | "node_modules/find-up": { 602 | "version": "5.0.0", 603 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 604 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 605 | "dev": true, 606 | "dependencies": { 607 | "locate-path": "^6.0.0", 608 | "path-exists": "^4.0.0" 609 | }, 610 | "engines": { 611 | "node": ">=10" 612 | }, 613 | "funding": { 614 | "url": "https://github.com/sponsors/sindresorhus" 615 | } 616 | }, 617 | "node_modules/flat-cache": { 618 | "version": "3.0.4", 619 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 620 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 621 | "dev": true, 622 | "dependencies": { 623 | "flatted": "^3.1.0", 624 | "rimraf": "^3.0.2" 625 | }, 626 | "engines": { 627 | "node": "^10.12.0 || >=12.0.0" 628 | } 629 | }, 630 | "node_modules/flatted": { 631 | "version": "3.2.7", 632 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", 633 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", 634 | "dev": true 635 | }, 636 | "node_modules/fs.realpath": { 637 | "version": "1.0.0", 638 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 639 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 640 | "dev": true 641 | }, 642 | "node_modules/glob": { 643 | "version": "7.2.3", 644 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 645 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 646 | "dev": true, 647 | "dependencies": { 648 | "fs.realpath": "^1.0.0", 649 | "inflight": "^1.0.4", 650 | "inherits": "2", 651 | "minimatch": "^3.1.1", 652 | "once": "^1.3.0", 653 | "path-is-absolute": "^1.0.0" 654 | }, 655 | "engines": { 656 | "node": "*" 657 | }, 658 | "funding": { 659 | "url": "https://github.com/sponsors/isaacs" 660 | } 661 | }, 662 | "node_modules/glob-parent": { 663 | "version": "6.0.2", 664 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 665 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 666 | "dev": true, 667 | "dependencies": { 668 | "is-glob": "^4.0.3" 669 | }, 670 | "engines": { 671 | "node": ">=10.13.0" 672 | } 673 | }, 674 | "node_modules/globals": { 675 | "version": "13.24.0", 676 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", 677 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", 678 | "dev": true, 679 | "dependencies": { 680 | "type-fest": "^0.20.2" 681 | }, 682 | "engines": { 683 | "node": ">=8" 684 | }, 685 | "funding": { 686 | "url": "https://github.com/sponsors/sindresorhus" 687 | } 688 | }, 689 | "node_modules/graphemer": { 690 | "version": "1.4.0", 691 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 692 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 693 | "dev": true 694 | }, 695 | "node_modules/has-flag": { 696 | "version": "4.0.0", 697 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 698 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 699 | "dev": true, 700 | "engines": { 701 | "node": ">=8" 702 | } 703 | }, 704 | "node_modules/ignore": { 705 | "version": "5.3.1", 706 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", 707 | "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", 708 | "dev": true, 709 | "engines": { 710 | "node": ">= 4" 711 | } 712 | }, 713 | "node_modules/import-fresh": { 714 | "version": "3.3.0", 715 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 716 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 717 | "dev": true, 718 | "dependencies": { 719 | "parent-module": "^1.0.0", 720 | "resolve-from": "^4.0.0" 721 | }, 722 | "engines": { 723 | "node": ">=6" 724 | }, 725 | "funding": { 726 | "url": "https://github.com/sponsors/sindresorhus" 727 | } 728 | }, 729 | "node_modules/imurmurhash": { 730 | "version": "0.1.4", 731 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 732 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 733 | "dev": true, 734 | "engines": { 735 | "node": ">=0.8.19" 736 | } 737 | }, 738 | "node_modules/inflight": { 739 | "version": "1.0.6", 740 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 741 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 742 | "dev": true, 743 | "dependencies": { 744 | "once": "^1.3.0", 745 | "wrappy": "1" 746 | } 747 | }, 748 | "node_modules/inherits": { 749 | "version": "2.0.4", 750 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 751 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 752 | "dev": true 753 | }, 754 | "node_modules/is-extglob": { 755 | "version": "2.1.1", 756 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 757 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 758 | "dev": true, 759 | "engines": { 760 | "node": ">=0.10.0" 761 | } 762 | }, 763 | "node_modules/is-glob": { 764 | "version": "4.0.3", 765 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 766 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 767 | "dev": true, 768 | "dependencies": { 769 | "is-extglob": "^2.1.1" 770 | }, 771 | "engines": { 772 | "node": ">=0.10.0" 773 | } 774 | }, 775 | "node_modules/is-path-inside": { 776 | "version": "3.0.3", 777 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 778 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 779 | "dev": true, 780 | "engines": { 781 | "node": ">=8" 782 | } 783 | }, 784 | "node_modules/isexe": { 785 | "version": "2.0.0", 786 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 787 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 788 | "dev": true 789 | }, 790 | "node_modules/js-yaml": { 791 | "version": "4.1.0", 792 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 793 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 794 | "dev": true, 795 | "dependencies": { 796 | "argparse": "^2.0.1" 797 | }, 798 | "bin": { 799 | "js-yaml": "bin/js-yaml.js" 800 | } 801 | }, 802 | "node_modules/json-schema-traverse": { 803 | "version": "0.4.1", 804 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 805 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 806 | "dev": true 807 | }, 808 | "node_modules/json-stable-stringify-without-jsonify": { 809 | "version": "1.0.1", 810 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 811 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 812 | "dev": true 813 | }, 814 | "node_modules/levn": { 815 | "version": "0.4.1", 816 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 817 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 818 | "dev": true, 819 | "dependencies": { 820 | "prelude-ls": "^1.2.1", 821 | "type-check": "~0.4.0" 822 | }, 823 | "engines": { 824 | "node": ">= 0.8.0" 825 | } 826 | }, 827 | "node_modules/locate-path": { 828 | "version": "6.0.0", 829 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 830 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 831 | "dev": true, 832 | "dependencies": { 833 | "p-locate": "^5.0.0" 834 | }, 835 | "engines": { 836 | "node": ">=10" 837 | }, 838 | "funding": { 839 | "url": "https://github.com/sponsors/sindresorhus" 840 | } 841 | }, 842 | "node_modules/lodash.merge": { 843 | "version": "4.6.2", 844 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 845 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 846 | "dev": true 847 | }, 848 | "node_modules/minimatch": { 849 | "version": "3.1.2", 850 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 851 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 852 | "dev": true, 853 | "dependencies": { 854 | "brace-expansion": "^1.1.7" 855 | }, 856 | "engines": { 857 | "node": "*" 858 | } 859 | }, 860 | "node_modules/ms": { 861 | "version": "2.1.2", 862 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 863 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 864 | "dev": true 865 | }, 866 | "node_modules/natural-compare": { 867 | "version": "1.4.0", 868 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 869 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 870 | "dev": true 871 | }, 872 | "node_modules/once": { 873 | "version": "1.4.0", 874 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 875 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 876 | "dev": true, 877 | "dependencies": { 878 | "wrappy": "1" 879 | } 880 | }, 881 | "node_modules/optionator": { 882 | "version": "0.9.3", 883 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", 884 | "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", 885 | "dev": true, 886 | "dependencies": { 887 | "@aashutoshrathi/word-wrap": "^1.2.3", 888 | "deep-is": "^0.1.3", 889 | "fast-levenshtein": "^2.0.6", 890 | "levn": "^0.4.1", 891 | "prelude-ls": "^1.2.1", 892 | "type-check": "^0.4.0" 893 | }, 894 | "engines": { 895 | "node": ">= 0.8.0" 896 | } 897 | }, 898 | "node_modules/p-limit": { 899 | "version": "3.1.0", 900 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 901 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 902 | "dev": true, 903 | "dependencies": { 904 | "yocto-queue": "^0.1.0" 905 | }, 906 | "engines": { 907 | "node": ">=10" 908 | }, 909 | "funding": { 910 | "url": "https://github.com/sponsors/sindresorhus" 911 | } 912 | }, 913 | "node_modules/p-locate": { 914 | "version": "5.0.0", 915 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 916 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 917 | "dev": true, 918 | "dependencies": { 919 | "p-limit": "^3.0.2" 920 | }, 921 | "engines": { 922 | "node": ">=10" 923 | }, 924 | "funding": { 925 | "url": "https://github.com/sponsors/sindresorhus" 926 | } 927 | }, 928 | "node_modules/parent-module": { 929 | "version": "1.0.1", 930 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 931 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 932 | "dev": true, 933 | "dependencies": { 934 | "callsites": "^3.0.0" 935 | }, 936 | "engines": { 937 | "node": ">=6" 938 | } 939 | }, 940 | "node_modules/path-exists": { 941 | "version": "4.0.0", 942 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 943 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 944 | "dev": true, 945 | "engines": { 946 | "node": ">=8" 947 | } 948 | }, 949 | "node_modules/path-is-absolute": { 950 | "version": "1.0.1", 951 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 952 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 953 | "dev": true, 954 | "engines": { 955 | "node": ">=0.10.0" 956 | } 957 | }, 958 | "node_modules/path-key": { 959 | "version": "3.1.1", 960 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 961 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 962 | "dev": true, 963 | "engines": { 964 | "node": ">=8" 965 | } 966 | }, 967 | "node_modules/prelude-ls": { 968 | "version": "1.2.1", 969 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 970 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 971 | "dev": true, 972 | "engines": { 973 | "node": ">= 0.8.0" 974 | } 975 | }, 976 | "node_modules/prettier": { 977 | "version": "3.3.2", 978 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", 979 | "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", 980 | "dev": true, 981 | "bin": { 982 | "prettier": "bin/prettier.cjs" 983 | }, 984 | "engines": { 985 | "node": ">=14" 986 | }, 987 | "funding": { 988 | "url": "https://github.com/prettier/prettier?sponsor=1" 989 | } 990 | }, 991 | "node_modules/punycode": { 992 | "version": "2.3.1", 993 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 994 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 995 | "dev": true, 996 | "engines": { 997 | "node": ">=6" 998 | } 999 | }, 1000 | "node_modules/queue-microtask": { 1001 | "version": "1.2.3", 1002 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1003 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1004 | "dev": true, 1005 | "funding": [ 1006 | { 1007 | "type": "github", 1008 | "url": "https://github.com/sponsors/feross" 1009 | }, 1010 | { 1011 | "type": "patreon", 1012 | "url": "https://www.patreon.com/feross" 1013 | }, 1014 | { 1015 | "type": "consulting", 1016 | "url": "https://feross.org/support" 1017 | } 1018 | ] 1019 | }, 1020 | "node_modules/resolve-from": { 1021 | "version": "4.0.0", 1022 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1023 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1024 | "dev": true, 1025 | "engines": { 1026 | "node": ">=4" 1027 | } 1028 | }, 1029 | "node_modules/reusify": { 1030 | "version": "1.0.4", 1031 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1032 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1033 | "dev": true, 1034 | "engines": { 1035 | "iojs": ">=1.0.0", 1036 | "node": ">=0.10.0" 1037 | } 1038 | }, 1039 | "node_modules/rimraf": { 1040 | "version": "3.0.2", 1041 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1042 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1043 | "dev": true, 1044 | "dependencies": { 1045 | "glob": "^7.1.3" 1046 | }, 1047 | "bin": { 1048 | "rimraf": "bin.js" 1049 | }, 1050 | "funding": { 1051 | "url": "https://github.com/sponsors/isaacs" 1052 | } 1053 | }, 1054 | "node_modules/run-parallel": { 1055 | "version": "1.2.0", 1056 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1057 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1058 | "dev": true, 1059 | "funding": [ 1060 | { 1061 | "type": "github", 1062 | "url": "https://github.com/sponsors/feross" 1063 | }, 1064 | { 1065 | "type": "patreon", 1066 | "url": "https://www.patreon.com/feross" 1067 | }, 1068 | { 1069 | "type": "consulting", 1070 | "url": "https://feross.org/support" 1071 | } 1072 | ], 1073 | "dependencies": { 1074 | "queue-microtask": "^1.2.2" 1075 | } 1076 | }, 1077 | "node_modules/shebang-command": { 1078 | "version": "2.0.0", 1079 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1080 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1081 | "dev": true, 1082 | "dependencies": { 1083 | "shebang-regex": "^3.0.0" 1084 | }, 1085 | "engines": { 1086 | "node": ">=8" 1087 | } 1088 | }, 1089 | "node_modules/shebang-regex": { 1090 | "version": "3.0.0", 1091 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1092 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1093 | "dev": true, 1094 | "engines": { 1095 | "node": ">=8" 1096 | } 1097 | }, 1098 | "node_modules/strip-ansi": { 1099 | "version": "6.0.1", 1100 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1101 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1102 | "dev": true, 1103 | "dependencies": { 1104 | "ansi-regex": "^5.0.1" 1105 | }, 1106 | "engines": { 1107 | "node": ">=8" 1108 | } 1109 | }, 1110 | "node_modules/strip-json-comments": { 1111 | "version": "3.1.1", 1112 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1113 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1114 | "dev": true, 1115 | "engines": { 1116 | "node": ">=8" 1117 | }, 1118 | "funding": { 1119 | "url": "https://github.com/sponsors/sindresorhus" 1120 | } 1121 | }, 1122 | "node_modules/supports-color": { 1123 | "version": "7.2.0", 1124 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1125 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1126 | "dev": true, 1127 | "dependencies": { 1128 | "has-flag": "^4.0.0" 1129 | }, 1130 | "engines": { 1131 | "node": ">=8" 1132 | } 1133 | }, 1134 | "node_modules/text-table": { 1135 | "version": "0.2.0", 1136 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1137 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 1138 | "dev": true 1139 | }, 1140 | "node_modules/tunnel": { 1141 | "version": "0.0.6", 1142 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 1143 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 1144 | "engines": { 1145 | "node": ">=0.6.11 <=0.7.0 || >=0.7.3" 1146 | } 1147 | }, 1148 | "node_modules/type-check": { 1149 | "version": "0.4.0", 1150 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1151 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1152 | "dev": true, 1153 | "dependencies": { 1154 | "prelude-ls": "^1.2.1" 1155 | }, 1156 | "engines": { 1157 | "node": ">= 0.8.0" 1158 | } 1159 | }, 1160 | "node_modules/type-fest": { 1161 | "version": "0.20.2", 1162 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 1163 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 1164 | "dev": true, 1165 | "engines": { 1166 | "node": ">=10" 1167 | }, 1168 | "funding": { 1169 | "url": "https://github.com/sponsors/sindresorhus" 1170 | } 1171 | }, 1172 | "node_modules/uri-js": { 1173 | "version": "4.4.1", 1174 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1175 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1176 | "dev": true, 1177 | "dependencies": { 1178 | "punycode": "^2.1.0" 1179 | } 1180 | }, 1181 | "node_modules/which": { 1182 | "version": "2.0.2", 1183 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1184 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1185 | "dev": true, 1186 | "dependencies": { 1187 | "isexe": "^2.0.0" 1188 | }, 1189 | "bin": { 1190 | "node-which": "bin/node-which" 1191 | }, 1192 | "engines": { 1193 | "node": ">= 8" 1194 | } 1195 | }, 1196 | "node_modules/wrappy": { 1197 | "version": "1.0.2", 1198 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1199 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1200 | "dev": true 1201 | }, 1202 | "node_modules/yocto-queue": { 1203 | "version": "0.1.0", 1204 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 1205 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 1206 | "dev": true, 1207 | "engines": { 1208 | "node": ">=10" 1209 | }, 1210 | "funding": { 1211 | "url": "https://github.com/sponsors/sindresorhus" 1212 | } 1213 | } 1214 | }, 1215 | "dependencies": { 1216 | "@aashutoshrathi/word-wrap": { 1217 | "version": "1.2.6", 1218 | "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", 1219 | "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", 1220 | "dev": true 1221 | }, 1222 | "@actions/core": { 1223 | "version": "1.11.1", 1224 | "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", 1225 | "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", 1226 | "requires": { 1227 | "@actions/exec": "^1.1.1", 1228 | "@actions/http-client": "^2.0.1" 1229 | } 1230 | }, 1231 | "@actions/exec": { 1232 | "version": "1.1.1", 1233 | "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", 1234 | "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", 1235 | "requires": { 1236 | "@actions/io": "^1.0.1" 1237 | } 1238 | }, 1239 | "@actions/http-client": { 1240 | "version": "2.0.1", 1241 | "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", 1242 | "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", 1243 | "requires": { 1244 | "tunnel": "^0.0.6" 1245 | } 1246 | }, 1247 | "@actions/io": { 1248 | "version": "1.1.2", 1249 | "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz", 1250 | "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==" 1251 | }, 1252 | "@eslint-community/eslint-utils": { 1253 | "version": "4.2.0", 1254 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz", 1255 | "integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==", 1256 | "dev": true, 1257 | "requires": { 1258 | "eslint-visitor-keys": "^3.3.0" 1259 | } 1260 | }, 1261 | "@eslint-community/regexpp": { 1262 | "version": "4.8.0", 1263 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", 1264 | "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", 1265 | "dev": true 1266 | }, 1267 | "@eslint/eslintrc": { 1268 | "version": "2.1.4", 1269 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", 1270 | "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", 1271 | "dev": true, 1272 | "requires": { 1273 | "ajv": "^6.12.4", 1274 | "debug": "^4.3.2", 1275 | "espree": "^9.6.0", 1276 | "globals": "^13.19.0", 1277 | "ignore": "^5.2.0", 1278 | "import-fresh": "^3.2.1", 1279 | "js-yaml": "^4.1.0", 1280 | "minimatch": "^3.1.2", 1281 | "strip-json-comments": "^3.1.1" 1282 | } 1283 | }, 1284 | "@eslint/js": { 1285 | "version": "8.57.1", 1286 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", 1287 | "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", 1288 | "dev": true 1289 | }, 1290 | "@humanwhocodes/config-array": { 1291 | "version": "0.13.0", 1292 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", 1293 | "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", 1294 | "dev": true, 1295 | "requires": { 1296 | "@humanwhocodes/object-schema": "^2.0.3", 1297 | "debug": "^4.3.1", 1298 | "minimatch": "^3.0.5" 1299 | } 1300 | }, 1301 | "@humanwhocodes/module-importer": { 1302 | "version": "1.0.1", 1303 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 1304 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 1305 | "dev": true 1306 | }, 1307 | "@humanwhocodes/object-schema": { 1308 | "version": "2.0.3", 1309 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", 1310 | "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", 1311 | "dev": true 1312 | }, 1313 | "@nodelib/fs.scandir": { 1314 | "version": "2.1.5", 1315 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1316 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1317 | "dev": true, 1318 | "requires": { 1319 | "@nodelib/fs.stat": "2.0.5", 1320 | "run-parallel": "^1.1.9" 1321 | } 1322 | }, 1323 | "@nodelib/fs.stat": { 1324 | "version": "2.0.5", 1325 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1326 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1327 | "dev": true 1328 | }, 1329 | "@nodelib/fs.walk": { 1330 | "version": "1.2.8", 1331 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1332 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1333 | "dev": true, 1334 | "requires": { 1335 | "@nodelib/fs.scandir": "2.1.5", 1336 | "fastq": "^1.6.0" 1337 | } 1338 | }, 1339 | "@ungap/structured-clone": { 1340 | "version": "1.2.0", 1341 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 1342 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", 1343 | "dev": true 1344 | }, 1345 | "@vercel/ncc": { 1346 | "version": "0.38.1", 1347 | "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.1.tgz", 1348 | "integrity": "sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==", 1349 | "dev": true 1350 | }, 1351 | "acorn": { 1352 | "version": "8.11.3", 1353 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 1354 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 1355 | "dev": true 1356 | }, 1357 | "acorn-jsx": { 1358 | "version": "5.3.2", 1359 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1360 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1361 | "dev": true, 1362 | "requires": {} 1363 | }, 1364 | "ajv": { 1365 | "version": "6.12.6", 1366 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1367 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1368 | "dev": true, 1369 | "requires": { 1370 | "fast-deep-equal": "^3.1.1", 1371 | "fast-json-stable-stringify": "^2.0.0", 1372 | "json-schema-traverse": "^0.4.1", 1373 | "uri-js": "^4.2.2" 1374 | } 1375 | }, 1376 | "ansi-regex": { 1377 | "version": "5.0.1", 1378 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1379 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1380 | "dev": true 1381 | }, 1382 | "ansi-styles": { 1383 | "version": "4.3.0", 1384 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1385 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1386 | "dev": true, 1387 | "requires": { 1388 | "color-convert": "^2.0.1" 1389 | } 1390 | }, 1391 | "argparse": { 1392 | "version": "2.0.1", 1393 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1394 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1395 | "dev": true 1396 | }, 1397 | "balanced-match": { 1398 | "version": "1.0.2", 1399 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1400 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1401 | "dev": true 1402 | }, 1403 | "brace-expansion": { 1404 | "version": "1.1.11", 1405 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1406 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1407 | "dev": true, 1408 | "requires": { 1409 | "balanced-match": "^1.0.0", 1410 | "concat-map": "0.0.1" 1411 | } 1412 | }, 1413 | "callsites": { 1414 | "version": "3.1.0", 1415 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1416 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1417 | "dev": true 1418 | }, 1419 | "chalk": { 1420 | "version": "4.1.2", 1421 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1422 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1423 | "dev": true, 1424 | "requires": { 1425 | "ansi-styles": "^4.1.0", 1426 | "supports-color": "^7.1.0" 1427 | } 1428 | }, 1429 | "color-convert": { 1430 | "version": "2.0.1", 1431 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1432 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1433 | "dev": true, 1434 | "requires": { 1435 | "color-name": "~1.1.4" 1436 | } 1437 | }, 1438 | "color-name": { 1439 | "version": "1.1.4", 1440 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1441 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1442 | "dev": true 1443 | }, 1444 | "commander": { 1445 | "version": "4.1.1", 1446 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1447 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1448 | "dev": true 1449 | }, 1450 | "concat-map": { 1451 | "version": "0.0.1", 1452 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1453 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1454 | "dev": true 1455 | }, 1456 | "cross-spawn": { 1457 | "version": "7.0.3", 1458 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1459 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1460 | "dev": true, 1461 | "requires": { 1462 | "path-key": "^3.1.0", 1463 | "shebang-command": "^2.0.0", 1464 | "which": "^2.0.1" 1465 | } 1466 | }, 1467 | "debug": { 1468 | "version": "4.3.4", 1469 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1470 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1471 | "dev": true, 1472 | "requires": { 1473 | "ms": "2.1.2" 1474 | } 1475 | }, 1476 | "deep-is": { 1477 | "version": "0.1.4", 1478 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1479 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1480 | "dev": true 1481 | }, 1482 | "doctrine": { 1483 | "version": "3.0.0", 1484 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1485 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1486 | "dev": true, 1487 | "requires": { 1488 | "esutils": "^2.0.2" 1489 | } 1490 | }, 1491 | "env-cmd": { 1492 | "version": "10.1.0", 1493 | "resolved": "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz", 1494 | "integrity": "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==", 1495 | "dev": true, 1496 | "requires": { 1497 | "commander": "^4.0.0", 1498 | "cross-spawn": "^7.0.0" 1499 | } 1500 | }, 1501 | "escape-string-regexp": { 1502 | "version": "4.0.0", 1503 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1504 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1505 | "dev": true 1506 | }, 1507 | "eslint": { 1508 | "version": "8.57.1", 1509 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", 1510 | "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", 1511 | "dev": true, 1512 | "requires": { 1513 | "@eslint-community/eslint-utils": "^4.2.0", 1514 | "@eslint-community/regexpp": "^4.6.1", 1515 | "@eslint/eslintrc": "^2.1.4", 1516 | "@eslint/js": "8.57.1", 1517 | "@humanwhocodes/config-array": "^0.13.0", 1518 | "@humanwhocodes/module-importer": "^1.0.1", 1519 | "@nodelib/fs.walk": "^1.2.8", 1520 | "@ungap/structured-clone": "^1.2.0", 1521 | "ajv": "^6.12.4", 1522 | "chalk": "^4.0.0", 1523 | "cross-spawn": "^7.0.2", 1524 | "debug": "^4.3.2", 1525 | "doctrine": "^3.0.0", 1526 | "escape-string-regexp": "^4.0.0", 1527 | "eslint-scope": "^7.2.2", 1528 | "eslint-visitor-keys": "^3.4.3", 1529 | "espree": "^9.6.1", 1530 | "esquery": "^1.4.2", 1531 | "esutils": "^2.0.2", 1532 | "fast-deep-equal": "^3.1.3", 1533 | "file-entry-cache": "^6.0.1", 1534 | "find-up": "^5.0.0", 1535 | "glob-parent": "^6.0.2", 1536 | "globals": "^13.19.0", 1537 | "graphemer": "^1.4.0", 1538 | "ignore": "^5.2.0", 1539 | "imurmurhash": "^0.1.4", 1540 | "is-glob": "^4.0.0", 1541 | "is-path-inside": "^3.0.3", 1542 | "js-yaml": "^4.1.0", 1543 | "json-stable-stringify-without-jsonify": "^1.0.1", 1544 | "levn": "^0.4.1", 1545 | "lodash.merge": "^4.6.2", 1546 | "minimatch": "^3.1.2", 1547 | "natural-compare": "^1.4.0", 1548 | "optionator": "^0.9.3", 1549 | "strip-ansi": "^6.0.1", 1550 | "text-table": "^0.2.0" 1551 | } 1552 | }, 1553 | "eslint-scope": { 1554 | "version": "7.2.2", 1555 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 1556 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 1557 | "dev": true, 1558 | "requires": { 1559 | "esrecurse": "^4.3.0", 1560 | "estraverse": "^5.2.0" 1561 | } 1562 | }, 1563 | "eslint-visitor-keys": { 1564 | "version": "3.4.3", 1565 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 1566 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 1567 | "dev": true 1568 | }, 1569 | "espree": { 1570 | "version": "9.6.1", 1571 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 1572 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 1573 | "dev": true, 1574 | "requires": { 1575 | "acorn": "^8.9.0", 1576 | "acorn-jsx": "^5.3.2", 1577 | "eslint-visitor-keys": "^3.4.1" 1578 | } 1579 | }, 1580 | "esquery": { 1581 | "version": "1.4.2", 1582 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", 1583 | "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", 1584 | "dev": true, 1585 | "requires": { 1586 | "estraverse": "^5.1.0" 1587 | } 1588 | }, 1589 | "esrecurse": { 1590 | "version": "4.3.0", 1591 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1592 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1593 | "dev": true, 1594 | "requires": { 1595 | "estraverse": "^5.2.0" 1596 | } 1597 | }, 1598 | "estraverse": { 1599 | "version": "5.3.0", 1600 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1601 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1602 | "dev": true 1603 | }, 1604 | "esutils": { 1605 | "version": "2.0.3", 1606 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1607 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1608 | "dev": true 1609 | }, 1610 | "fast-deep-equal": { 1611 | "version": "3.1.3", 1612 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1613 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1614 | "dev": true 1615 | }, 1616 | "fast-json-stable-stringify": { 1617 | "version": "2.1.0", 1618 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1619 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1620 | "dev": true 1621 | }, 1622 | "fast-levenshtein": { 1623 | "version": "2.0.6", 1624 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1625 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 1626 | "dev": true 1627 | }, 1628 | "fastq": { 1629 | "version": "1.15.0", 1630 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 1631 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 1632 | "dev": true, 1633 | "requires": { 1634 | "reusify": "^1.0.4" 1635 | } 1636 | }, 1637 | "file-entry-cache": { 1638 | "version": "6.0.1", 1639 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 1640 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 1641 | "dev": true, 1642 | "requires": { 1643 | "flat-cache": "^3.0.4" 1644 | } 1645 | }, 1646 | "find-up": { 1647 | "version": "5.0.0", 1648 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 1649 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 1650 | "dev": true, 1651 | "requires": { 1652 | "locate-path": "^6.0.0", 1653 | "path-exists": "^4.0.0" 1654 | } 1655 | }, 1656 | "flat-cache": { 1657 | "version": "3.0.4", 1658 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 1659 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 1660 | "dev": true, 1661 | "requires": { 1662 | "flatted": "^3.1.0", 1663 | "rimraf": "^3.0.2" 1664 | } 1665 | }, 1666 | "flatted": { 1667 | "version": "3.2.7", 1668 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", 1669 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", 1670 | "dev": true 1671 | }, 1672 | "fs.realpath": { 1673 | "version": "1.0.0", 1674 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1675 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1676 | "dev": true 1677 | }, 1678 | "glob": { 1679 | "version": "7.2.3", 1680 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1681 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1682 | "dev": true, 1683 | "requires": { 1684 | "fs.realpath": "^1.0.0", 1685 | "inflight": "^1.0.4", 1686 | "inherits": "2", 1687 | "minimatch": "^3.1.1", 1688 | "once": "^1.3.0", 1689 | "path-is-absolute": "^1.0.0" 1690 | } 1691 | }, 1692 | "glob-parent": { 1693 | "version": "6.0.2", 1694 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1695 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1696 | "dev": true, 1697 | "requires": { 1698 | "is-glob": "^4.0.3" 1699 | } 1700 | }, 1701 | "globals": { 1702 | "version": "13.24.0", 1703 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", 1704 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", 1705 | "dev": true, 1706 | "requires": { 1707 | "type-fest": "^0.20.2" 1708 | } 1709 | }, 1710 | "graphemer": { 1711 | "version": "1.4.0", 1712 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 1713 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 1714 | "dev": true 1715 | }, 1716 | "has-flag": { 1717 | "version": "4.0.0", 1718 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1719 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1720 | "dev": true 1721 | }, 1722 | "ignore": { 1723 | "version": "5.3.1", 1724 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", 1725 | "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", 1726 | "dev": true 1727 | }, 1728 | "import-fresh": { 1729 | "version": "3.3.0", 1730 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1731 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1732 | "dev": true, 1733 | "requires": { 1734 | "parent-module": "^1.0.0", 1735 | "resolve-from": "^4.0.0" 1736 | } 1737 | }, 1738 | "imurmurhash": { 1739 | "version": "0.1.4", 1740 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1741 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1742 | "dev": true 1743 | }, 1744 | "inflight": { 1745 | "version": "1.0.6", 1746 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1747 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1748 | "dev": true, 1749 | "requires": { 1750 | "once": "^1.3.0", 1751 | "wrappy": "1" 1752 | } 1753 | }, 1754 | "inherits": { 1755 | "version": "2.0.4", 1756 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1757 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1758 | "dev": true 1759 | }, 1760 | "is-extglob": { 1761 | "version": "2.1.1", 1762 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1763 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1764 | "dev": true 1765 | }, 1766 | "is-glob": { 1767 | "version": "4.0.3", 1768 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1769 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1770 | "dev": true, 1771 | "requires": { 1772 | "is-extglob": "^2.1.1" 1773 | } 1774 | }, 1775 | "is-path-inside": { 1776 | "version": "3.0.3", 1777 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1778 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 1779 | "dev": true 1780 | }, 1781 | "isexe": { 1782 | "version": "2.0.0", 1783 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1784 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1785 | "dev": true 1786 | }, 1787 | "js-yaml": { 1788 | "version": "4.1.0", 1789 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1790 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1791 | "dev": true, 1792 | "requires": { 1793 | "argparse": "^2.0.1" 1794 | } 1795 | }, 1796 | "json-schema-traverse": { 1797 | "version": "0.4.1", 1798 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1799 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1800 | "dev": true 1801 | }, 1802 | "json-stable-stringify-without-jsonify": { 1803 | "version": "1.0.1", 1804 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1805 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1806 | "dev": true 1807 | }, 1808 | "levn": { 1809 | "version": "0.4.1", 1810 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1811 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1812 | "dev": true, 1813 | "requires": { 1814 | "prelude-ls": "^1.2.1", 1815 | "type-check": "~0.4.0" 1816 | } 1817 | }, 1818 | "locate-path": { 1819 | "version": "6.0.0", 1820 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 1821 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 1822 | "dev": true, 1823 | "requires": { 1824 | "p-locate": "^5.0.0" 1825 | } 1826 | }, 1827 | "lodash.merge": { 1828 | "version": "4.6.2", 1829 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1830 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1831 | "dev": true 1832 | }, 1833 | "minimatch": { 1834 | "version": "3.1.2", 1835 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1836 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1837 | "dev": true, 1838 | "requires": { 1839 | "brace-expansion": "^1.1.7" 1840 | } 1841 | }, 1842 | "ms": { 1843 | "version": "2.1.2", 1844 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1845 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1846 | "dev": true 1847 | }, 1848 | "natural-compare": { 1849 | "version": "1.4.0", 1850 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1851 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1852 | "dev": true 1853 | }, 1854 | "once": { 1855 | "version": "1.4.0", 1856 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1857 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1858 | "dev": true, 1859 | "requires": { 1860 | "wrappy": "1" 1861 | } 1862 | }, 1863 | "optionator": { 1864 | "version": "0.9.3", 1865 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", 1866 | "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", 1867 | "dev": true, 1868 | "requires": { 1869 | "@aashutoshrathi/word-wrap": "^1.2.3", 1870 | "deep-is": "^0.1.3", 1871 | "fast-levenshtein": "^2.0.6", 1872 | "levn": "^0.4.1", 1873 | "prelude-ls": "^1.2.1", 1874 | "type-check": "^0.4.0" 1875 | } 1876 | }, 1877 | "p-limit": { 1878 | "version": "3.1.0", 1879 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 1880 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 1881 | "dev": true, 1882 | "requires": { 1883 | "yocto-queue": "^0.1.0" 1884 | } 1885 | }, 1886 | "p-locate": { 1887 | "version": "5.0.0", 1888 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 1889 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 1890 | "dev": true, 1891 | "requires": { 1892 | "p-limit": "^3.0.2" 1893 | } 1894 | }, 1895 | "parent-module": { 1896 | "version": "1.0.1", 1897 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1898 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1899 | "dev": true, 1900 | "requires": { 1901 | "callsites": "^3.0.0" 1902 | } 1903 | }, 1904 | "path-exists": { 1905 | "version": "4.0.0", 1906 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1907 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1908 | "dev": true 1909 | }, 1910 | "path-is-absolute": { 1911 | "version": "1.0.1", 1912 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1913 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1914 | "dev": true 1915 | }, 1916 | "path-key": { 1917 | "version": "3.1.1", 1918 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1919 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1920 | "dev": true 1921 | }, 1922 | "prelude-ls": { 1923 | "version": "1.2.1", 1924 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1925 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1926 | "dev": true 1927 | }, 1928 | "prettier": { 1929 | "version": "3.3.2", 1930 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", 1931 | "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", 1932 | "dev": true 1933 | }, 1934 | "punycode": { 1935 | "version": "2.3.1", 1936 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 1937 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 1938 | "dev": true 1939 | }, 1940 | "queue-microtask": { 1941 | "version": "1.2.3", 1942 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1943 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1944 | "dev": true 1945 | }, 1946 | "resolve-from": { 1947 | "version": "4.0.0", 1948 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1949 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1950 | "dev": true 1951 | }, 1952 | "reusify": { 1953 | "version": "1.0.4", 1954 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1955 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1956 | "dev": true 1957 | }, 1958 | "rimraf": { 1959 | "version": "3.0.2", 1960 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1961 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1962 | "dev": true, 1963 | "requires": { 1964 | "glob": "^7.1.3" 1965 | } 1966 | }, 1967 | "run-parallel": { 1968 | "version": "1.2.0", 1969 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1970 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1971 | "dev": true, 1972 | "requires": { 1973 | "queue-microtask": "^1.2.2" 1974 | } 1975 | }, 1976 | "shebang-command": { 1977 | "version": "2.0.0", 1978 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1979 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1980 | "dev": true, 1981 | "requires": { 1982 | "shebang-regex": "^3.0.0" 1983 | } 1984 | }, 1985 | "shebang-regex": { 1986 | "version": "3.0.0", 1987 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1988 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1989 | "dev": true 1990 | }, 1991 | "strip-ansi": { 1992 | "version": "6.0.1", 1993 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1994 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1995 | "dev": true, 1996 | "requires": { 1997 | "ansi-regex": "^5.0.1" 1998 | } 1999 | }, 2000 | "strip-json-comments": { 2001 | "version": "3.1.1", 2002 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2003 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2004 | "dev": true 2005 | }, 2006 | "supports-color": { 2007 | "version": "7.2.0", 2008 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2009 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2010 | "dev": true, 2011 | "requires": { 2012 | "has-flag": "^4.0.0" 2013 | } 2014 | }, 2015 | "text-table": { 2016 | "version": "0.2.0", 2017 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 2018 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 2019 | "dev": true 2020 | }, 2021 | "tunnel": { 2022 | "version": "0.0.6", 2023 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 2024 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" 2025 | }, 2026 | "type-check": { 2027 | "version": "0.4.0", 2028 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2029 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2030 | "dev": true, 2031 | "requires": { 2032 | "prelude-ls": "^1.2.1" 2033 | } 2034 | }, 2035 | "type-fest": { 2036 | "version": "0.20.2", 2037 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 2038 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 2039 | "dev": true 2040 | }, 2041 | "uri-js": { 2042 | "version": "4.4.1", 2043 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2044 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2045 | "dev": true, 2046 | "requires": { 2047 | "punycode": "^2.1.0" 2048 | } 2049 | }, 2050 | "which": { 2051 | "version": "2.0.2", 2052 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2053 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2054 | "dev": true, 2055 | "requires": { 2056 | "isexe": "^2.0.0" 2057 | } 2058 | }, 2059 | "wrappy": { 2060 | "version": "1.0.2", 2061 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2062 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2063 | "dev": true 2064 | }, 2065 | "yocto-queue": { 2066 | "version": "0.1.0", 2067 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 2068 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 2069 | "dev": true 2070 | } 2071 | } 2072 | } 2073 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "github-action-s3-deploy", 3 | "version": "4.0.0", 4 | "description": "Easily deploy a static website to AWS S3 and invalidate CloudFront distribution", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "env-cmd node index.js", 8 | "lint": "eslint *.js", 9 | "prettier": "prettier --write \"*.{js,md,yml}\"", 10 | "package": "ncc build index.js -o dist" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/Reggionick/s3-deploy.git" 15 | }, 16 | "keywords": [ 17 | "Actions", 18 | "AWS S3", 19 | "CloudFront" 20 | ], 21 | "author": "Nicola Reggiani ", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/Reggionick/s3-deploy/issues" 25 | }, 26 | "homepage": "https://github.com/Reggionick/s3-deploy#readme", 27 | "dependencies": { 28 | "@actions/core": "^1.11.1", 29 | "@actions/exec": "^1.1.1" 30 | }, 31 | "devDependencies": { 32 | "@vercel/ncc": "^0.38.1", 33 | "env-cmd": "^10.1.0", 34 | "eslint": "^8.57.1", 35 | "prettier": "3.3.2" 36 | } 37 | } 38 | --------------------------------------------------------------------------------