├── .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 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/jsLibraryMappings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
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 |
--------------------------------------------------------------------------------