├── .editorconfig ├── .github ├── FUNDING.yml └── workflows │ ├── ci.yml │ └── example.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── action.yml ├── dist └── index.js ├── package-lock.json ├── package.json ├── src ├── artifact-filter.ts ├── index.ts └── utils.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | insert_final_newline = true 6 | end_of_line = crlf 7 | indent_style = space 8 | indent_size = 4 9 | 10 | [*.yml] 11 | indent_style = space 12 | indent_size = 2 13 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [GeekyEggo] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | defaults: 9 | run: 10 | shell: bash 11 | 12 | jobs: 13 | test: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - name: Checkout 18 | uses: actions/checkout@v4 19 | 20 | - name: Create test file 21 | run: echo hello > world.txt 22 | 23 | - uses: actions/upload-artifact@v4 24 | with: 25 | name: my-artifact 26 | path: world.txt 27 | 28 | - uses: actions/upload-artifact@v4 29 | with: 30 | name: my-artifact-2 31 | path: world.txt 32 | 33 | - uses: actions/upload-artifact@v4 34 | with: 35 | name: my-artifact-3 36 | path: world.txt 37 | 38 | - name: Delete (specific, glob disabled) 39 | uses: ./ 40 | with: 41 | name: my-artifact 42 | useGlob: false 43 | 44 | - name: Delete (pattern, glob enabled) 45 | uses: ./ 46 | with: 47 | name: my-* 48 | -------------------------------------------------------------------------------- /.github/workflows/example.yml: -------------------------------------------------------------------------------- 1 | name: Example 2 | # an example workflow that also monitors success of the preview api 3 | 4 | on: 5 | schedule: 6 | - cron: "0 */6 * * *" 7 | # every 6 hours 8 | 9 | defaults: 10 | run: 11 | shell: bash 12 | 13 | jobs: 14 | test: 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@v4 20 | 21 | - name: Create test file 22 | run: echo hello > world.txt 23 | 24 | - uses: actions/upload-artifact@v4 25 | with: 26 | name: my-artifact 27 | path: world.txt 28 | 29 | - uses: actions/upload-artifact@v4 30 | with: 31 | name: my-artifact-2 32 | path: world.txt 33 | 34 | - uses: actions/upload-artifact@v4 35 | with: 36 | name: my-artifact-3 37 | path: world.txt 38 | 39 | - name: Delete (specific, glob disabled) 40 | uses: geekyeggo/delete-artifact@v5 41 | with: 42 | name: my-artifact 43 | useGlob: false 44 | 45 | - name: Delete (pattern, glob enabled) 46 | uses: geekyeggo/delete-artifact@v5 47 | with: 48 | name: my-* 49 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependency directories 2 | node_modules 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 11 | 12 | # Change Log 13 | 14 | ## v5.1 15 | 16 | - Mark deprecated token parameter as optional. 17 | - Bump undici dependency. 18 | 19 | ## v5.0 20 | 21 | - Switch to [@actions/artifact](https://www.npmjs.com/package/@actions/artifact), removing the need for a `token` parameter (Sebastian Weigand) [#24](https://github.com/GeekyEggo/delete-artifact/pull/24) 22 | 23 | ## v4.1 24 | 25 | - Add default token. 26 | - Fix over-arching `catch` output; errors now correctly result in a failed run (Leon Linhart) [#18](https://github.com/GeekyEggo/delete-artifact/pull/18) 27 | 28 | ## v4.0 29 | 30 | - Add support for artifacts uploaded with `actions/upload-artifact@v4`. 31 | - Add requirement of `token` with read and write access to actions. 32 | - Update requests to use GitHub REST API. 33 | - Deprecate support for `actions/upload-artifact@v1`, `actions/upload-artifact@v2`, and `actions/upload-artifact@v3` (please use `geekyeggo/delete-artifact@v2`). 34 | 35 | ## v2.0 36 | 37 | - Add support for glob pattern matching via `useGlob`. 38 | 39 | ## v1.0 40 | 41 | - Initial release. 42 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Richard Herman 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 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![CI](https://github.com/GeekyEggo/delete-artifact/workflows/CI/badge.svg) 2 | ![Example](https://github.com/GeekyEggo/delete-artifact/workflows/Example/badge.svg) 3 | 4 | # Delete artifacts 5 | 6 | A GitHub Action for deleting artifacts within the workflow run. This can be useful when artifacts are shared across jobs, but are no longer needed when the workflow is complete. 7 | 8 | ## ✅ Compatibility 9 | 10 | | `actions/upload-artifact` | `geekyeggo/delete-artifact` | 11 | | ------------------------- | --------------------------- | 12 | | `@v1`, `@v2`, `@v3` | `@v1`, `@v2` | 13 | | `@v4` | ~~@v4~~, `@v5` | 14 | 15 | 16 | > [!TIP] 17 | > You can reference the immutable commit SHA, instead of a version, for example. 18 | > ```yml 19 | > - uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0 20 | > ``` 21 | 22 | 23 | ## ⚡ Usage 24 | 25 | See [action.yml](action.yml) 26 | 27 | ### Delete an individual artifact 28 | 29 | ```yml 30 | steps: 31 | - name: Checkout 32 | uses: actions/checkout@v4 33 | 34 | - name: Create test file 35 | run: echo hello > test.txt 36 | 37 | - uses: actions/upload-artifact@v4 38 | with: 39 | name: my-artifact 40 | path: test.txt 41 | 42 | - uses: geekyeggo/delete-artifact@v5 43 | with: 44 | name: my-artifact 45 | ``` 46 | 47 | ### Specify multiple names 48 | 49 | ```yml 50 | steps: 51 | - uses: geekyeggo/delete-artifact@v5 52 | with: 53 | name: | 54 | artifact-* 55 | binary-file 56 | output 57 | ``` 58 | 59 | ## 🚨 Error vs Fail 60 | 61 | By default, the action will fail when it was not possible to delete an artifact (with the exception of name mismatches). When the deletion of an artifact is not integral to the success of a workflow, it is possible to error without failure. All errors are logged. 62 | 63 | ```yml 64 | steps: 65 | - uses: geekyeggo/delete-artifact@v5 66 | with: 67 | name: okay-to-keep 68 | failOnError: false 69 | ``` 70 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: Delete Artifact 2 | description: Delete artifacts created within the workflow run. 3 | inputs: 4 | name: 5 | description: The name of the artifact to delete; multiple names can be supplied on new lines. 6 | required: true 7 | token: 8 | description: GitHub token with read and write access to actions for the repository. 9 | required: false 10 | default: ${{ github.token }} 11 | deprecationMessage: Token is no longer required. 12 | useGlob: 13 | description: Indicates whether the name, or names, should be treated as glob patterns. 14 | required: false 15 | default: "true" 16 | failOnError: 17 | description: Indicates whether the action should fail upon encountering an error. 18 | required: false 19 | default: "true" 20 | runs: 21 | using: node20 22 | main: ./dist/index.js 23 | branding: 24 | icon: trash-2 25 | color: red 26 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "delete-artifact", 3 | "version": "5.1.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "delete-artifact", 9 | "version": "5.1.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@actions/artifact": "^2.1.7", 13 | "@actions/core": "^1.10.0", 14 | "@actions/github": "^6.0.0", 15 | "minimatch": "^9.0.3" 16 | }, 17 | "devDependencies": { 18 | "@types/minimatch": "^5.1.2", 19 | "@types/node": "^20.10.5", 20 | "@vercel/ncc": "^0.38.1", 21 | "typescript": "^5.3.3" 22 | } 23 | }, 24 | "node_modules/@actions/artifact": { 25 | "version": "2.1.7", 26 | "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-2.1.7.tgz", 27 | "integrity": "sha512-iIFsTPZnb182dBc+Is5v7ZqojC4ydO8Ru4/PD8Azg2diV//fdW3H6biEH/utUlNhwfOuHxZpC/QSQsU5KDEuuw==", 28 | "dependencies": { 29 | "@actions/core": "^1.10.0", 30 | "@actions/github": "^5.1.1", 31 | "@actions/http-client": "^2.1.0", 32 | "@azure/storage-blob": "^12.15.0", 33 | "@octokit/core": "^3.5.1", 34 | "@octokit/plugin-request-log": "^1.0.4", 35 | "@octokit/plugin-retry": "^3.0.9", 36 | "@octokit/request-error": "^5.0.0", 37 | "@protobuf-ts/plugin": "^2.2.3-alpha.1", 38 | "archiver": "^7.0.1", 39 | "crypto": "^1.0.1", 40 | "jwt-decode": "^3.1.2", 41 | "twirp-ts": "^2.5.0", 42 | "unzip-stream": "^0.3.1" 43 | } 44 | }, 45 | "node_modules/@actions/artifact/node_modules/@actions/github": { 46 | "version": "5.1.1", 47 | "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", 48 | "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", 49 | "dependencies": { 50 | "@actions/http-client": "^2.0.1", 51 | "@octokit/core": "^3.6.0", 52 | "@octokit/plugin-paginate-rest": "^2.17.0", 53 | "@octokit/plugin-rest-endpoint-methods": "^5.13.0" 54 | } 55 | }, 56 | "node_modules/@actions/artifact/node_modules/@octokit/auth-token": { 57 | "version": "2.5.0", 58 | "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", 59 | "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", 60 | "dependencies": { 61 | "@octokit/types": "^6.0.3" 62 | } 63 | }, 64 | "node_modules/@actions/artifact/node_modules/@octokit/core": { 65 | "version": "3.6.0", 66 | "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", 67 | "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", 68 | "dependencies": { 69 | "@octokit/auth-token": "^2.4.4", 70 | "@octokit/graphql": "^4.5.8", 71 | "@octokit/request": "^5.6.3", 72 | "@octokit/request-error": "^2.0.5", 73 | "@octokit/types": "^6.0.3", 74 | "before-after-hook": "^2.2.0", 75 | "universal-user-agent": "^6.0.0" 76 | } 77 | }, 78 | "node_modules/@actions/artifact/node_modules/@octokit/core/node_modules/@octokit/request-error": { 79 | "version": "2.1.0", 80 | "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", 81 | "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", 82 | "dependencies": { 83 | "@octokit/types": "^6.0.3", 84 | "deprecation": "^2.0.0", 85 | "once": "^1.4.0" 86 | } 87 | }, 88 | "node_modules/@actions/artifact/node_modules/@octokit/endpoint": { 89 | "version": "6.0.12", 90 | "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", 91 | "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", 92 | "dependencies": { 93 | "@octokit/types": "^6.0.3", 94 | "is-plain-object": "^5.0.0", 95 | "universal-user-agent": "^6.0.0" 96 | } 97 | }, 98 | "node_modules/@actions/artifact/node_modules/@octokit/graphql": { 99 | "version": "4.8.0", 100 | "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", 101 | "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", 102 | "dependencies": { 103 | "@octokit/request": "^5.6.0", 104 | "@octokit/types": "^6.0.3", 105 | "universal-user-agent": "^6.0.0" 106 | } 107 | }, 108 | "node_modules/@actions/artifact/node_modules/@octokit/openapi-types": { 109 | "version": "12.11.0", 110 | "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", 111 | "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" 112 | }, 113 | "node_modules/@actions/artifact/node_modules/@octokit/plugin-paginate-rest": { 114 | "version": "2.21.3", 115 | "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", 116 | "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", 117 | "dependencies": { 118 | "@octokit/types": "^6.40.0" 119 | }, 120 | "peerDependencies": { 121 | "@octokit/core": ">=2" 122 | } 123 | }, 124 | "node_modules/@actions/artifact/node_modules/@octokit/plugin-rest-endpoint-methods": { 125 | "version": "5.16.2", 126 | "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", 127 | "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", 128 | "dependencies": { 129 | "@octokit/types": "^6.39.0", 130 | "deprecation": "^2.3.1" 131 | }, 132 | "peerDependencies": { 133 | "@octokit/core": ">=3" 134 | } 135 | }, 136 | "node_modules/@actions/artifact/node_modules/@octokit/request": { 137 | "version": "5.6.3", 138 | "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", 139 | "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", 140 | "dependencies": { 141 | "@octokit/endpoint": "^6.0.1", 142 | "@octokit/request-error": "^2.1.0", 143 | "@octokit/types": "^6.16.1", 144 | "is-plain-object": "^5.0.0", 145 | "node-fetch": "^2.6.7", 146 | "universal-user-agent": "^6.0.0" 147 | } 148 | }, 149 | "node_modules/@actions/artifact/node_modules/@octokit/request/node_modules/@octokit/request-error": { 150 | "version": "2.1.0", 151 | "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", 152 | "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", 153 | "dependencies": { 154 | "@octokit/types": "^6.0.3", 155 | "deprecation": "^2.0.0", 156 | "once": "^1.4.0" 157 | } 158 | }, 159 | "node_modules/@actions/artifact/node_modules/@octokit/types": { 160 | "version": "6.41.0", 161 | "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", 162 | "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", 163 | "dependencies": { 164 | "@octokit/openapi-types": "^12.11.0" 165 | } 166 | }, 167 | "node_modules/@actions/core": { 168 | "version": "1.10.1", 169 | "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", 170 | "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", 171 | "dependencies": { 172 | "@actions/http-client": "^2.0.1", 173 | "uuid": "^8.3.2" 174 | } 175 | }, 176 | "node_modules/@actions/github": { 177 | "version": "6.0.0", 178 | "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", 179 | "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", 180 | "dependencies": { 181 | "@actions/http-client": "^2.2.0", 182 | "@octokit/core": "^5.0.1", 183 | "@octokit/plugin-paginate-rest": "^9.0.0", 184 | "@octokit/plugin-rest-endpoint-methods": "^10.0.0" 185 | } 186 | }, 187 | "node_modules/@actions/http-client": { 188 | "version": "2.2.0", 189 | "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.0.tgz", 190 | "integrity": "sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==", 191 | "dependencies": { 192 | "tunnel": "^0.0.6", 193 | "undici": "^5.25.4" 194 | } 195 | }, 196 | "node_modules/@azure/abort-controller": { 197 | "version": "1.1.0", 198 | "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", 199 | "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", 200 | "dependencies": { 201 | "tslib": "^2.2.0" 202 | }, 203 | "engines": { 204 | "node": ">=12.0.0" 205 | } 206 | }, 207 | "node_modules/@azure/core-auth": { 208 | "version": "1.7.0", 209 | "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.7.0.tgz", 210 | "integrity": "sha512-OuDVn9z2LjyYbpu6e7crEwSipa62jX7/ObV/pmXQfnOG8cHwm363jYtg3FSX3GB1V7jsIKri1zgq7mfXkFk/qw==", 211 | "dependencies": { 212 | "@azure/abort-controller": "^2.0.0", 213 | "@azure/core-util": "^1.1.0", 214 | "tslib": "^2.6.2" 215 | }, 216 | "engines": { 217 | "node": ">=18.0.0" 218 | } 219 | }, 220 | "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { 221 | "version": "2.1.0", 222 | "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.0.tgz", 223 | "integrity": "sha512-SYtcG13aiV7znycu6plCClWUzD9BBtfnsbIxT89nkkRvQRB4n0kuZyJJvJ7hqdKOn7x7YoGKZ9lVStLJpLnOFw==", 224 | "dependencies": { 225 | "tslib": "^2.6.2" 226 | }, 227 | "engines": { 228 | "node": ">=18.0.0" 229 | } 230 | }, 231 | "node_modules/@azure/core-http": { 232 | "version": "3.0.4", 233 | "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.4.tgz", 234 | "integrity": "sha512-Fok9VVhMdxAFOtqiiAtg74fL0UJkt0z3D+ouUUxcRLzZNBioPRAMJFVxiWoJljYpXsRi4GDQHzQHDc9AiYaIUQ==", 235 | "dependencies": { 236 | "@azure/abort-controller": "^1.0.0", 237 | "@azure/core-auth": "^1.3.0", 238 | "@azure/core-tracing": "1.0.0-preview.13", 239 | "@azure/core-util": "^1.1.1", 240 | "@azure/logger": "^1.0.0", 241 | "@types/node-fetch": "^2.5.0", 242 | "@types/tunnel": "^0.0.3", 243 | "form-data": "^4.0.0", 244 | "node-fetch": "^2.6.7", 245 | "process": "^0.11.10", 246 | "tslib": "^2.2.0", 247 | "tunnel": "^0.0.6", 248 | "uuid": "^8.3.0", 249 | "xml2js": "^0.5.0" 250 | }, 251 | "engines": { 252 | "node": ">=14.0.0" 253 | } 254 | }, 255 | "node_modules/@azure/core-lro": { 256 | "version": "2.7.0", 257 | "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.7.0.tgz", 258 | "integrity": "sha512-oj7d8vWEvOREIByH1+BnoiFwszzdE7OXUEd6UTv+cmx5HvjBBlkVezm3uZgpXWaxDj5ATL/k89+UMeGx1Ou9TQ==", 259 | "dependencies": { 260 | "@azure/abort-controller": "^2.0.0", 261 | "@azure/core-util": "^1.2.0", 262 | "@azure/logger": "^1.0.0", 263 | "tslib": "^2.6.2" 264 | }, 265 | "engines": { 266 | "node": ">=18.0.0" 267 | } 268 | }, 269 | "node_modules/@azure/core-lro/node_modules/@azure/abort-controller": { 270 | "version": "2.1.0", 271 | "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.0.tgz", 272 | "integrity": "sha512-SYtcG13aiV7znycu6plCClWUzD9BBtfnsbIxT89nkkRvQRB4n0kuZyJJvJ7hqdKOn7x7YoGKZ9lVStLJpLnOFw==", 273 | "dependencies": { 274 | "tslib": "^2.6.2" 275 | }, 276 | "engines": { 277 | "node": ">=18.0.0" 278 | } 279 | }, 280 | "node_modules/@azure/core-paging": { 281 | "version": "1.6.0", 282 | "resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.6.0.tgz", 283 | "integrity": "sha512-W8eRv7MVFx/jbbYfcRT5+pGnZ9St/P1UvOi+63vxPwuQ3y+xj+wqWTGxpkXUETv3szsqGu0msdxVtjszCeB4zA==", 284 | "dependencies": { 285 | "tslib": "^2.6.2" 286 | }, 287 | "engines": { 288 | "node": ">=18.0.0" 289 | } 290 | }, 291 | "node_modules/@azure/core-tracing": { 292 | "version": "1.0.0-preview.13", 293 | "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz", 294 | "integrity": "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==", 295 | "dependencies": { 296 | "@opentelemetry/api": "^1.0.1", 297 | "tslib": "^2.2.0" 298 | }, 299 | "engines": { 300 | "node": ">=12.0.0" 301 | } 302 | }, 303 | "node_modules/@azure/core-util": { 304 | "version": "1.8.0", 305 | "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.8.0.tgz", 306 | "integrity": "sha512-w8NrGnrlGDF7fj36PBnJhGXDK2Y3kpTOgL7Ksb5snEHXq/3EAbKYOp1yqme0yWCUlSDq5rjqvxSBAJmsqYac3w==", 307 | "dependencies": { 308 | "@azure/abort-controller": "^2.0.0", 309 | "tslib": "^2.6.2" 310 | }, 311 | "engines": { 312 | "node": ">=18.0.0" 313 | } 314 | }, 315 | "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { 316 | "version": "2.1.0", 317 | "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.0.tgz", 318 | "integrity": "sha512-SYtcG13aiV7znycu6plCClWUzD9BBtfnsbIxT89nkkRvQRB4n0kuZyJJvJ7hqdKOn7x7YoGKZ9lVStLJpLnOFw==", 319 | "dependencies": { 320 | "tslib": "^2.6.2" 321 | }, 322 | "engines": { 323 | "node": ">=18.0.0" 324 | } 325 | }, 326 | "node_modules/@azure/logger": { 327 | "version": "1.1.0", 328 | "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.1.0.tgz", 329 | "integrity": "sha512-BnfkfzVEsrgbVCtqq0RYRMePSH2lL/cgUUR5sYRF4yNN10zJZq/cODz0r89k3ykY83MqeM3twR292a3YBNgC3w==", 330 | "dependencies": { 331 | "tslib": "^2.6.2" 332 | }, 333 | "engines": { 334 | "node": ">=18.0.0" 335 | } 336 | }, 337 | "node_modules/@azure/storage-blob": { 338 | "version": "12.17.0", 339 | "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.17.0.tgz", 340 | "integrity": "sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==", 341 | "dependencies": { 342 | "@azure/abort-controller": "^1.0.0", 343 | "@azure/core-http": "^3.0.0", 344 | "@azure/core-lro": "^2.2.0", 345 | "@azure/core-paging": "^1.1.1", 346 | "@azure/core-tracing": "1.0.0-preview.13", 347 | "@azure/logger": "^1.0.0", 348 | "events": "^3.0.0", 349 | "tslib": "^2.2.0" 350 | }, 351 | "engines": { 352 | "node": ">=14.0.0" 353 | } 354 | }, 355 | "node_modules/@fastify/busboy": { 356 | "version": "2.1.0", 357 | "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", 358 | "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", 359 | "engines": { 360 | "node": ">=14" 361 | } 362 | }, 363 | "node_modules/@isaacs/cliui": { 364 | "version": "8.0.2", 365 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 366 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 367 | "dependencies": { 368 | "string-width": "^5.1.2", 369 | "string-width-cjs": "npm:string-width@^4.2.0", 370 | "strip-ansi": "^7.0.1", 371 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 372 | "wrap-ansi": "^8.1.0", 373 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 374 | }, 375 | "engines": { 376 | "node": ">=12" 377 | } 378 | }, 379 | "node_modules/@octokit/auth-token": { 380 | "version": "4.0.0", 381 | "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", 382 | "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", 383 | "engines": { 384 | "node": ">= 18" 385 | } 386 | }, 387 | "node_modules/@octokit/core": { 388 | "version": "5.0.2", 389 | "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.2.tgz", 390 | "integrity": "sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==", 391 | "dependencies": { 392 | "@octokit/auth-token": "^4.0.0", 393 | "@octokit/graphql": "^7.0.0", 394 | "@octokit/request": "^8.0.2", 395 | "@octokit/request-error": "^5.0.0", 396 | "@octokit/types": "^12.0.0", 397 | "before-after-hook": "^2.2.0", 398 | "universal-user-agent": "^6.0.0" 399 | }, 400 | "engines": { 401 | "node": ">= 18" 402 | } 403 | }, 404 | "node_modules/@octokit/endpoint": { 405 | "version": "9.0.4", 406 | "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz", 407 | "integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==", 408 | "dependencies": { 409 | "@octokit/types": "^12.0.0", 410 | "universal-user-agent": "^6.0.0" 411 | }, 412 | "engines": { 413 | "node": ">= 18" 414 | } 415 | }, 416 | "node_modules/@octokit/graphql": { 417 | "version": "7.0.2", 418 | "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", 419 | "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", 420 | "dependencies": { 421 | "@octokit/request": "^8.0.1", 422 | "@octokit/types": "^12.0.0", 423 | "universal-user-agent": "^6.0.0" 424 | }, 425 | "engines": { 426 | "node": ">= 18" 427 | } 428 | }, 429 | "node_modules/@octokit/openapi-types": { 430 | "version": "19.1.0", 431 | "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz", 432 | "integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==" 433 | }, 434 | "node_modules/@octokit/plugin-paginate-rest": { 435 | "version": "9.1.5", 436 | "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz", 437 | "integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==", 438 | "dependencies": { 439 | "@octokit/types": "^12.4.0" 440 | }, 441 | "engines": { 442 | "node": ">= 18" 443 | }, 444 | "peerDependencies": { 445 | "@octokit/core": ">=5" 446 | } 447 | }, 448 | "node_modules/@octokit/plugin-request-log": { 449 | "version": "1.0.4", 450 | "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", 451 | "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", 452 | "peerDependencies": { 453 | "@octokit/core": ">=3" 454 | } 455 | }, 456 | "node_modules/@octokit/plugin-rest-endpoint-methods": { 457 | "version": "10.2.0", 458 | "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.2.0.tgz", 459 | "integrity": "sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==", 460 | "dependencies": { 461 | "@octokit/types": "^12.3.0" 462 | }, 463 | "engines": { 464 | "node": ">= 18" 465 | }, 466 | "peerDependencies": { 467 | "@octokit/core": ">=5" 468 | } 469 | }, 470 | "node_modules/@octokit/plugin-retry": { 471 | "version": "3.0.9", 472 | "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz", 473 | "integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==", 474 | "dependencies": { 475 | "@octokit/types": "^6.0.3", 476 | "bottleneck": "^2.15.3" 477 | } 478 | }, 479 | "node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": { 480 | "version": "12.11.0", 481 | "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", 482 | "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" 483 | }, 484 | "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": { 485 | "version": "6.41.0", 486 | "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", 487 | "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", 488 | "dependencies": { 489 | "@octokit/openapi-types": "^12.11.0" 490 | } 491 | }, 492 | "node_modules/@octokit/request": { 493 | "version": "8.1.6", 494 | "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz", 495 | "integrity": "sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==", 496 | "dependencies": { 497 | "@octokit/endpoint": "^9.0.0", 498 | "@octokit/request-error": "^5.0.0", 499 | "@octokit/types": "^12.0.0", 500 | "universal-user-agent": "^6.0.0" 501 | }, 502 | "engines": { 503 | "node": ">= 18" 504 | } 505 | }, 506 | "node_modules/@octokit/request-error": { 507 | "version": "5.0.1", 508 | "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", 509 | "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", 510 | "dependencies": { 511 | "@octokit/types": "^12.0.0", 512 | "deprecation": "^2.0.0", 513 | "once": "^1.4.0" 514 | }, 515 | "engines": { 516 | "node": ">= 18" 517 | } 518 | }, 519 | "node_modules/@octokit/types": { 520 | "version": "12.4.0", 521 | "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz", 522 | "integrity": "sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==", 523 | "dependencies": { 524 | "@octokit/openapi-types": "^19.1.0" 525 | } 526 | }, 527 | "node_modules/@opentelemetry/api": { 528 | "version": "1.8.0", 529 | "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz", 530 | "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==", 531 | "engines": { 532 | "node": ">=8.0.0" 533 | } 534 | }, 535 | "node_modules/@pkgjs/parseargs": { 536 | "version": "0.11.0", 537 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 538 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 539 | "optional": true, 540 | "engines": { 541 | "node": ">=14" 542 | } 543 | }, 544 | "node_modules/@protobuf-ts/plugin": { 545 | "version": "2.9.4", 546 | "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.9.4.tgz", 547 | "integrity": "sha512-Db5Laq5T3mc6ERZvhIhkj1rn57/p8gbWiCKxQWbZBBl20wMuqKoHbRw4tuD7FyXi+IkwTToaNVXymv5CY3E8Rw==", 548 | "dependencies": { 549 | "@protobuf-ts/plugin-framework": "^2.9.4", 550 | "@protobuf-ts/protoc": "^2.9.4", 551 | "@protobuf-ts/runtime": "^2.9.4", 552 | "@protobuf-ts/runtime-rpc": "^2.9.4", 553 | "typescript": "^3.9" 554 | }, 555 | "bin": { 556 | "protoc-gen-dump": "bin/protoc-gen-dump", 557 | "protoc-gen-ts": "bin/protoc-gen-ts" 558 | } 559 | }, 560 | "node_modules/@protobuf-ts/plugin-framework": { 561 | "version": "2.9.4", 562 | "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.9.4.tgz", 563 | "integrity": "sha512-9nuX1kjdMliv+Pes8dQCKyVhjKgNNfwxVHg+tx3fLXSfZZRcUHMc1PMwB9/vTvc6gBKt9QGz5ERqSqZc0++E9A==", 564 | "dependencies": { 565 | "@protobuf-ts/runtime": "^2.9.4", 566 | "typescript": "^3.9" 567 | } 568 | }, 569 | "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { 570 | "version": "3.9.10", 571 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", 572 | "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", 573 | "bin": { 574 | "tsc": "bin/tsc", 575 | "tsserver": "bin/tsserver" 576 | }, 577 | "engines": { 578 | "node": ">=4.2.0" 579 | } 580 | }, 581 | "node_modules/@protobuf-ts/plugin/node_modules/typescript": { 582 | "version": "3.9.10", 583 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", 584 | "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", 585 | "bin": { 586 | "tsc": "bin/tsc", 587 | "tsserver": "bin/tsserver" 588 | }, 589 | "engines": { 590 | "node": ">=4.2.0" 591 | } 592 | }, 593 | "node_modules/@protobuf-ts/protoc": { 594 | "version": "2.9.4", 595 | "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.4.tgz", 596 | "integrity": "sha512-hQX+nOhFtrA+YdAXsXEDrLoGJqXHpgv4+BueYF0S9hy/Jq0VRTVlJS1Etmf4qlMt/WdigEes5LOd/LDzui4GIQ==", 597 | "bin": { 598 | "protoc": "protoc.js" 599 | } 600 | }, 601 | "node_modules/@protobuf-ts/runtime": { 602 | "version": "2.9.4", 603 | "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.9.4.tgz", 604 | "integrity": "sha512-vHRFWtJJB/SiogWDF0ypoKfRIZ41Kq+G9cEFj6Qm1eQaAhJ1LDFvgZ7Ja4tb3iLOQhz0PaoPnnOijF1qmEqTxg==" 605 | }, 606 | "node_modules/@protobuf-ts/runtime-rpc": { 607 | "version": "2.9.4", 608 | "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.9.4.tgz", 609 | "integrity": "sha512-y9L9JgnZxXFqH5vD4d7j9duWvIJ7AShyBRoNKJGhu9Q27qIbchfzli66H9RvrQNIFk5ER7z1Twe059WZGqERcA==", 610 | "dependencies": { 611 | "@protobuf-ts/runtime": "^2.9.4" 612 | } 613 | }, 614 | "node_modules/@types/minimatch": { 615 | "version": "5.1.2", 616 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", 617 | "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", 618 | "dev": true 619 | }, 620 | "node_modules/@types/node": { 621 | "version": "20.10.5", 622 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", 623 | "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", 624 | "dependencies": { 625 | "undici-types": "~5.26.4" 626 | } 627 | }, 628 | "node_modules/@types/node-fetch": { 629 | "version": "2.6.11", 630 | "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", 631 | "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", 632 | "dependencies": { 633 | "@types/node": "*", 634 | "form-data": "^4.0.0" 635 | } 636 | }, 637 | "node_modules/@types/tunnel": { 638 | "version": "0.0.3", 639 | "resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz", 640 | "integrity": "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==", 641 | "dependencies": { 642 | "@types/node": "*" 643 | } 644 | }, 645 | "node_modules/@vercel/ncc": { 646 | "version": "0.38.1", 647 | "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.1.tgz", 648 | "integrity": "sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw==", 649 | "dev": true, 650 | "bin": { 651 | "ncc": "dist/ncc/cli.js" 652 | } 653 | }, 654 | "node_modules/abort-controller": { 655 | "version": "3.0.0", 656 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 657 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 658 | "dependencies": { 659 | "event-target-shim": "^5.0.0" 660 | }, 661 | "engines": { 662 | "node": ">=6.5" 663 | } 664 | }, 665 | "node_modules/ansi-regex": { 666 | "version": "6.0.1", 667 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 668 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 669 | "engines": { 670 | "node": ">=12" 671 | }, 672 | "funding": { 673 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 674 | } 675 | }, 676 | "node_modules/ansi-styles": { 677 | "version": "6.2.1", 678 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 679 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 680 | "engines": { 681 | "node": ">=12" 682 | }, 683 | "funding": { 684 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 685 | } 686 | }, 687 | "node_modules/archiver": { 688 | "version": "7.0.1", 689 | "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", 690 | "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", 691 | "dependencies": { 692 | "archiver-utils": "^5.0.2", 693 | "async": "^3.2.4", 694 | "buffer-crc32": "^1.0.0", 695 | "readable-stream": "^4.0.0", 696 | "readdir-glob": "^1.1.2", 697 | "tar-stream": "^3.0.0", 698 | "zip-stream": "^6.0.1" 699 | }, 700 | "engines": { 701 | "node": ">= 14" 702 | } 703 | }, 704 | "node_modules/archiver-utils": { 705 | "version": "5.0.2", 706 | "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", 707 | "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", 708 | "dependencies": { 709 | "glob": "^10.0.0", 710 | "graceful-fs": "^4.2.0", 711 | "is-stream": "^2.0.1", 712 | "lazystream": "^1.0.0", 713 | "lodash": "^4.17.15", 714 | "normalize-path": "^3.0.0", 715 | "readable-stream": "^4.0.0" 716 | }, 717 | "engines": { 718 | "node": ">= 14" 719 | } 720 | }, 721 | "node_modules/archiver-utils/node_modules/glob": { 722 | "version": "10.4.5", 723 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 724 | "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 725 | "dependencies": { 726 | "foreground-child": "^3.1.0", 727 | "jackspeak": "^3.1.2", 728 | "minimatch": "^9.0.4", 729 | "minipass": "^7.1.2", 730 | "package-json-from-dist": "^1.0.0", 731 | "path-scurry": "^1.11.1" 732 | }, 733 | "bin": { 734 | "glob": "dist/esm/bin.mjs" 735 | }, 736 | "funding": { 737 | "url": "https://github.com/sponsors/isaacs" 738 | } 739 | }, 740 | "node_modules/async": { 741 | "version": "3.2.6", 742 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", 743 | "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" 744 | }, 745 | "node_modules/asynckit": { 746 | "version": "0.4.0", 747 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 748 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 749 | }, 750 | "node_modules/b4a": { 751 | "version": "1.6.6", 752 | "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", 753 | "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" 754 | }, 755 | "node_modules/balanced-match": { 756 | "version": "1.0.2", 757 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 758 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 759 | }, 760 | "node_modules/bare-events": { 761 | "version": "2.4.2", 762 | "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz", 763 | "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==", 764 | "optional": true 765 | }, 766 | "node_modules/base64-js": { 767 | "version": "1.5.1", 768 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 769 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 770 | "funding": [ 771 | { 772 | "type": "github", 773 | "url": "https://github.com/sponsors/feross" 774 | }, 775 | { 776 | "type": "patreon", 777 | "url": "https://www.patreon.com/feross" 778 | }, 779 | { 780 | "type": "consulting", 781 | "url": "https://feross.org/support" 782 | } 783 | ] 784 | }, 785 | "node_modules/before-after-hook": { 786 | "version": "2.2.3", 787 | "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", 788 | "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" 789 | }, 790 | "node_modules/binary": { 791 | "version": "0.3.0", 792 | "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", 793 | "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", 794 | "dependencies": { 795 | "buffers": "~0.1.1", 796 | "chainsaw": "~0.1.0" 797 | }, 798 | "engines": { 799 | "node": "*" 800 | } 801 | }, 802 | "node_modules/bottleneck": { 803 | "version": "2.19.5", 804 | "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", 805 | "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" 806 | }, 807 | "node_modules/brace-expansion": { 808 | "version": "2.0.1", 809 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 810 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 811 | "dependencies": { 812 | "balanced-match": "^1.0.0" 813 | } 814 | }, 815 | "node_modules/buffer": { 816 | "version": "6.0.3", 817 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 818 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 819 | "funding": [ 820 | { 821 | "type": "github", 822 | "url": "https://github.com/sponsors/feross" 823 | }, 824 | { 825 | "type": "patreon", 826 | "url": "https://www.patreon.com/feross" 827 | }, 828 | { 829 | "type": "consulting", 830 | "url": "https://feross.org/support" 831 | } 832 | ], 833 | "dependencies": { 834 | "base64-js": "^1.3.1", 835 | "ieee754": "^1.2.1" 836 | } 837 | }, 838 | "node_modules/buffer-crc32": { 839 | "version": "1.0.0", 840 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", 841 | "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", 842 | "engines": { 843 | "node": ">=8.0.0" 844 | } 845 | }, 846 | "node_modules/buffers": { 847 | "version": "0.1.1", 848 | "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", 849 | "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", 850 | "engines": { 851 | "node": ">=0.2.0" 852 | } 853 | }, 854 | "node_modules/camel-case": { 855 | "version": "4.1.2", 856 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", 857 | "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", 858 | "dependencies": { 859 | "pascal-case": "^3.1.2", 860 | "tslib": "^2.0.3" 861 | } 862 | }, 863 | "node_modules/chainsaw": { 864 | "version": "0.1.0", 865 | "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", 866 | "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", 867 | "dependencies": { 868 | "traverse": ">=0.3.0 <0.4" 869 | }, 870 | "engines": { 871 | "node": "*" 872 | } 873 | }, 874 | "node_modules/color-convert": { 875 | "version": "2.0.1", 876 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 877 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 878 | "dependencies": { 879 | "color-name": "~1.1.4" 880 | }, 881 | "engines": { 882 | "node": ">=7.0.0" 883 | } 884 | }, 885 | "node_modules/color-name": { 886 | "version": "1.1.4", 887 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 888 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 889 | }, 890 | "node_modules/combined-stream": { 891 | "version": "1.0.8", 892 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 893 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 894 | "dependencies": { 895 | "delayed-stream": "~1.0.0" 896 | }, 897 | "engines": { 898 | "node": ">= 0.8" 899 | } 900 | }, 901 | "node_modules/commander": { 902 | "version": "4.1.1", 903 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 904 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 905 | "engines": { 906 | "node": ">= 6" 907 | } 908 | }, 909 | "node_modules/compress-commons": { 910 | "version": "6.0.2", 911 | "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", 912 | "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", 913 | "dependencies": { 914 | "crc-32": "^1.2.0", 915 | "crc32-stream": "^6.0.0", 916 | "is-stream": "^2.0.1", 917 | "normalize-path": "^3.0.0", 918 | "readable-stream": "^4.0.0" 919 | }, 920 | "engines": { 921 | "node": ">= 14" 922 | } 923 | }, 924 | "node_modules/concat-map": { 925 | "version": "0.0.1", 926 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 927 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" 928 | }, 929 | "node_modules/core-util-is": { 930 | "version": "1.0.3", 931 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 932 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" 933 | }, 934 | "node_modules/crc-32": { 935 | "version": "1.2.2", 936 | "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", 937 | "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", 938 | "bin": { 939 | "crc32": "bin/crc32.njs" 940 | }, 941 | "engines": { 942 | "node": ">=0.8" 943 | } 944 | }, 945 | "node_modules/crc32-stream": { 946 | "version": "6.0.0", 947 | "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", 948 | "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", 949 | "dependencies": { 950 | "crc-32": "^1.2.0", 951 | "readable-stream": "^4.0.0" 952 | }, 953 | "engines": { 954 | "node": ">= 14" 955 | } 956 | }, 957 | "node_modules/cross-spawn": { 958 | "version": "7.0.3", 959 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 960 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 961 | "dependencies": { 962 | "path-key": "^3.1.0", 963 | "shebang-command": "^2.0.0", 964 | "which": "^2.0.1" 965 | }, 966 | "engines": { 967 | "node": ">= 8" 968 | } 969 | }, 970 | "node_modules/crypto": { 971 | "version": "1.0.1", 972 | "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", 973 | "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", 974 | "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in." 975 | }, 976 | "node_modules/delayed-stream": { 977 | "version": "1.0.0", 978 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 979 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 980 | "engines": { 981 | "node": ">=0.4.0" 982 | } 983 | }, 984 | "node_modules/deprecation": { 985 | "version": "2.3.1", 986 | "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", 987 | "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" 988 | }, 989 | "node_modules/dot-object": { 990 | "version": "2.1.4", 991 | "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.4.tgz", 992 | "integrity": "sha512-7FXnyyCLFawNYJ+NhkqyP9Wd2yzuo+7n9pGiYpkmXCTYa8Ci2U0eUNDVg5OuO5Pm6aFXI2SWN8/N/w7SJWu1WA==", 993 | "dependencies": { 994 | "commander": "^4.0.0", 995 | "glob": "^7.1.5" 996 | }, 997 | "bin": { 998 | "dot-object": "bin/dot-object" 999 | } 1000 | }, 1001 | "node_modules/eastasianwidth": { 1002 | "version": "0.2.0", 1003 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 1004 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" 1005 | }, 1006 | "node_modules/emoji-regex": { 1007 | "version": "9.2.2", 1008 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 1009 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" 1010 | }, 1011 | "node_modules/event-target-shim": { 1012 | "version": "5.0.1", 1013 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 1014 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", 1015 | "engines": { 1016 | "node": ">=6" 1017 | } 1018 | }, 1019 | "node_modules/events": { 1020 | "version": "3.3.0", 1021 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 1022 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 1023 | "engines": { 1024 | "node": ">=0.8.x" 1025 | } 1026 | }, 1027 | "node_modules/fast-fifo": { 1028 | "version": "1.3.2", 1029 | "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", 1030 | "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" 1031 | }, 1032 | "node_modules/foreground-child": { 1033 | "version": "3.3.0", 1034 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", 1035 | "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", 1036 | "dependencies": { 1037 | "cross-spawn": "^7.0.0", 1038 | "signal-exit": "^4.0.1" 1039 | }, 1040 | "engines": { 1041 | "node": ">=14" 1042 | }, 1043 | "funding": { 1044 | "url": "https://github.com/sponsors/isaacs" 1045 | } 1046 | }, 1047 | "node_modules/form-data": { 1048 | "version": "4.0.0", 1049 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 1050 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 1051 | "dependencies": { 1052 | "asynckit": "^0.4.0", 1053 | "combined-stream": "^1.0.8", 1054 | "mime-types": "^2.1.12" 1055 | }, 1056 | "engines": { 1057 | "node": ">= 6" 1058 | } 1059 | }, 1060 | "node_modules/fs.realpath": { 1061 | "version": "1.0.0", 1062 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1063 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" 1064 | }, 1065 | "node_modules/glob": { 1066 | "version": "7.2.3", 1067 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1068 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1069 | "dependencies": { 1070 | "fs.realpath": "^1.0.0", 1071 | "inflight": "^1.0.4", 1072 | "inherits": "2", 1073 | "minimatch": "^3.1.1", 1074 | "once": "^1.3.0", 1075 | "path-is-absolute": "^1.0.0" 1076 | }, 1077 | "engines": { 1078 | "node": "*" 1079 | }, 1080 | "funding": { 1081 | "url": "https://github.com/sponsors/isaacs" 1082 | } 1083 | }, 1084 | "node_modules/glob/node_modules/brace-expansion": { 1085 | "version": "1.1.11", 1086 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1087 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1088 | "dependencies": { 1089 | "balanced-match": "^1.0.0", 1090 | "concat-map": "0.0.1" 1091 | } 1092 | }, 1093 | "node_modules/glob/node_modules/minimatch": { 1094 | "version": "3.1.2", 1095 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1096 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1097 | "dependencies": { 1098 | "brace-expansion": "^1.1.7" 1099 | }, 1100 | "engines": { 1101 | "node": "*" 1102 | } 1103 | }, 1104 | "node_modules/graceful-fs": { 1105 | "version": "4.2.11", 1106 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1107 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 1108 | }, 1109 | "node_modules/ieee754": { 1110 | "version": "1.2.1", 1111 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1112 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1113 | "funding": [ 1114 | { 1115 | "type": "github", 1116 | "url": "https://github.com/sponsors/feross" 1117 | }, 1118 | { 1119 | "type": "patreon", 1120 | "url": "https://www.patreon.com/feross" 1121 | }, 1122 | { 1123 | "type": "consulting", 1124 | "url": "https://feross.org/support" 1125 | } 1126 | ] 1127 | }, 1128 | "node_modules/inflight": { 1129 | "version": "1.0.6", 1130 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1131 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1132 | "dependencies": { 1133 | "once": "^1.3.0", 1134 | "wrappy": "1" 1135 | } 1136 | }, 1137 | "node_modules/inherits": { 1138 | "version": "2.0.4", 1139 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1140 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1141 | }, 1142 | "node_modules/is-fullwidth-code-point": { 1143 | "version": "3.0.0", 1144 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1145 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1146 | "engines": { 1147 | "node": ">=8" 1148 | } 1149 | }, 1150 | "node_modules/is-plain-object": { 1151 | "version": "5.0.0", 1152 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", 1153 | "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", 1154 | "engines": { 1155 | "node": ">=0.10.0" 1156 | } 1157 | }, 1158 | "node_modules/is-stream": { 1159 | "version": "2.0.1", 1160 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 1161 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 1162 | "engines": { 1163 | "node": ">=8" 1164 | }, 1165 | "funding": { 1166 | "url": "https://github.com/sponsors/sindresorhus" 1167 | } 1168 | }, 1169 | "node_modules/isarray": { 1170 | "version": "1.0.0", 1171 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1172 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" 1173 | }, 1174 | "node_modules/isexe": { 1175 | "version": "2.0.0", 1176 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1177 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 1178 | }, 1179 | "node_modules/jackspeak": { 1180 | "version": "3.4.3", 1181 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 1182 | "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 1183 | "dependencies": { 1184 | "@isaacs/cliui": "^8.0.2" 1185 | }, 1186 | "funding": { 1187 | "url": "https://github.com/sponsors/isaacs" 1188 | }, 1189 | "optionalDependencies": { 1190 | "@pkgjs/parseargs": "^0.11.0" 1191 | } 1192 | }, 1193 | "node_modules/jwt-decode": { 1194 | "version": "3.1.2", 1195 | "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", 1196 | "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" 1197 | }, 1198 | "node_modules/lazystream": { 1199 | "version": "1.0.1", 1200 | "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", 1201 | "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", 1202 | "dependencies": { 1203 | "readable-stream": "^2.0.5" 1204 | }, 1205 | "engines": { 1206 | "node": ">= 0.6.3" 1207 | } 1208 | }, 1209 | "node_modules/lazystream/node_modules/readable-stream": { 1210 | "version": "2.3.8", 1211 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 1212 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 1213 | "dependencies": { 1214 | "core-util-is": "~1.0.0", 1215 | "inherits": "~2.0.3", 1216 | "isarray": "~1.0.0", 1217 | "process-nextick-args": "~2.0.0", 1218 | "safe-buffer": "~5.1.1", 1219 | "string_decoder": "~1.1.1", 1220 | "util-deprecate": "~1.0.1" 1221 | } 1222 | }, 1223 | "node_modules/lazystream/node_modules/safe-buffer": { 1224 | "version": "5.1.2", 1225 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1226 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1227 | }, 1228 | "node_modules/lazystream/node_modules/string_decoder": { 1229 | "version": "1.1.1", 1230 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1231 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1232 | "dependencies": { 1233 | "safe-buffer": "~5.1.0" 1234 | } 1235 | }, 1236 | "node_modules/lodash": { 1237 | "version": "4.17.21", 1238 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1239 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 1240 | }, 1241 | "node_modules/lower-case": { 1242 | "version": "2.0.2", 1243 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", 1244 | "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", 1245 | "dependencies": { 1246 | "tslib": "^2.0.3" 1247 | } 1248 | }, 1249 | "node_modules/lru-cache": { 1250 | "version": "10.4.3", 1251 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 1252 | "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" 1253 | }, 1254 | "node_modules/mime-db": { 1255 | "version": "1.52.0", 1256 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1257 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1258 | "engines": { 1259 | "node": ">= 0.6" 1260 | } 1261 | }, 1262 | "node_modules/mime-types": { 1263 | "version": "2.1.35", 1264 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1265 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1266 | "dependencies": { 1267 | "mime-db": "1.52.0" 1268 | }, 1269 | "engines": { 1270 | "node": ">= 0.6" 1271 | } 1272 | }, 1273 | "node_modules/minimatch": { 1274 | "version": "9.0.5", 1275 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1276 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1277 | "dependencies": { 1278 | "brace-expansion": "^2.0.1" 1279 | }, 1280 | "engines": { 1281 | "node": ">=16 || 14 >=14.17" 1282 | }, 1283 | "funding": { 1284 | "url": "https://github.com/sponsors/isaacs" 1285 | } 1286 | }, 1287 | "node_modules/minimist": { 1288 | "version": "1.2.8", 1289 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1290 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1291 | "funding": { 1292 | "url": "https://github.com/sponsors/ljharb" 1293 | } 1294 | }, 1295 | "node_modules/minipass": { 1296 | "version": "7.1.2", 1297 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 1298 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 1299 | "engines": { 1300 | "node": ">=16 || 14 >=14.17" 1301 | } 1302 | }, 1303 | "node_modules/mkdirp": { 1304 | "version": "0.5.6", 1305 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 1306 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 1307 | "dependencies": { 1308 | "minimist": "^1.2.6" 1309 | }, 1310 | "bin": { 1311 | "mkdirp": "bin/cmd.js" 1312 | } 1313 | }, 1314 | "node_modules/no-case": { 1315 | "version": "3.0.4", 1316 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", 1317 | "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", 1318 | "dependencies": { 1319 | "lower-case": "^2.0.2", 1320 | "tslib": "^2.0.3" 1321 | } 1322 | }, 1323 | "node_modules/node-fetch": { 1324 | "version": "2.7.0", 1325 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 1326 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 1327 | "dependencies": { 1328 | "whatwg-url": "^5.0.0" 1329 | }, 1330 | "engines": { 1331 | "node": "4.x || >=6.0.0" 1332 | }, 1333 | "peerDependencies": { 1334 | "encoding": "^0.1.0" 1335 | }, 1336 | "peerDependenciesMeta": { 1337 | "encoding": { 1338 | "optional": true 1339 | } 1340 | } 1341 | }, 1342 | "node_modules/normalize-path": { 1343 | "version": "3.0.0", 1344 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1345 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1346 | "engines": { 1347 | "node": ">=0.10.0" 1348 | } 1349 | }, 1350 | "node_modules/once": { 1351 | "version": "1.4.0", 1352 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1353 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1354 | "dependencies": { 1355 | "wrappy": "1" 1356 | } 1357 | }, 1358 | "node_modules/package-json-from-dist": { 1359 | "version": "1.0.0", 1360 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", 1361 | "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" 1362 | }, 1363 | "node_modules/pascal-case": { 1364 | "version": "3.1.2", 1365 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", 1366 | "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", 1367 | "dependencies": { 1368 | "no-case": "^3.0.4", 1369 | "tslib": "^2.0.3" 1370 | } 1371 | }, 1372 | "node_modules/path-is-absolute": { 1373 | "version": "1.0.1", 1374 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1375 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1376 | "engines": { 1377 | "node": ">=0.10.0" 1378 | } 1379 | }, 1380 | "node_modules/path-key": { 1381 | "version": "3.1.1", 1382 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1383 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1384 | "engines": { 1385 | "node": ">=8" 1386 | } 1387 | }, 1388 | "node_modules/path-scurry": { 1389 | "version": "1.11.1", 1390 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 1391 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 1392 | "dependencies": { 1393 | "lru-cache": "^10.2.0", 1394 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 1395 | }, 1396 | "engines": { 1397 | "node": ">=16 || 14 >=14.18" 1398 | }, 1399 | "funding": { 1400 | "url": "https://github.com/sponsors/isaacs" 1401 | } 1402 | }, 1403 | "node_modules/path-to-regexp": { 1404 | "version": "6.2.1", 1405 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", 1406 | "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" 1407 | }, 1408 | "node_modules/prettier": { 1409 | "version": "2.8.8", 1410 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", 1411 | "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", 1412 | "bin": { 1413 | "prettier": "bin-prettier.js" 1414 | }, 1415 | "engines": { 1416 | "node": ">=10.13.0" 1417 | }, 1418 | "funding": { 1419 | "url": "https://github.com/prettier/prettier?sponsor=1" 1420 | } 1421 | }, 1422 | "node_modules/process": { 1423 | "version": "0.11.10", 1424 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1425 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 1426 | "engines": { 1427 | "node": ">= 0.6.0" 1428 | } 1429 | }, 1430 | "node_modules/process-nextick-args": { 1431 | "version": "2.0.1", 1432 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1433 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 1434 | }, 1435 | "node_modules/queue-tick": { 1436 | "version": "1.0.1", 1437 | "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", 1438 | "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" 1439 | }, 1440 | "node_modules/readable-stream": { 1441 | "version": "4.5.2", 1442 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", 1443 | "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", 1444 | "dependencies": { 1445 | "abort-controller": "^3.0.0", 1446 | "buffer": "^6.0.3", 1447 | "events": "^3.3.0", 1448 | "process": "^0.11.10", 1449 | "string_decoder": "^1.3.0" 1450 | }, 1451 | "engines": { 1452 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1453 | } 1454 | }, 1455 | "node_modules/readdir-glob": { 1456 | "version": "1.1.3", 1457 | "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", 1458 | "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", 1459 | "dependencies": { 1460 | "minimatch": "^5.1.0" 1461 | } 1462 | }, 1463 | "node_modules/readdir-glob/node_modules/minimatch": { 1464 | "version": "5.1.6", 1465 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", 1466 | "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", 1467 | "dependencies": { 1468 | "brace-expansion": "^2.0.1" 1469 | }, 1470 | "engines": { 1471 | "node": ">=10" 1472 | } 1473 | }, 1474 | "node_modules/safe-buffer": { 1475 | "version": "5.2.1", 1476 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1477 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1478 | "funding": [ 1479 | { 1480 | "type": "github", 1481 | "url": "https://github.com/sponsors/feross" 1482 | }, 1483 | { 1484 | "type": "patreon", 1485 | "url": "https://www.patreon.com/feross" 1486 | }, 1487 | { 1488 | "type": "consulting", 1489 | "url": "https://feross.org/support" 1490 | } 1491 | ] 1492 | }, 1493 | "node_modules/sax": { 1494 | "version": "1.3.0", 1495 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", 1496 | "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" 1497 | }, 1498 | "node_modules/shebang-command": { 1499 | "version": "2.0.0", 1500 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1501 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1502 | "dependencies": { 1503 | "shebang-regex": "^3.0.0" 1504 | }, 1505 | "engines": { 1506 | "node": ">=8" 1507 | } 1508 | }, 1509 | "node_modules/shebang-regex": { 1510 | "version": "3.0.0", 1511 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1512 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1513 | "engines": { 1514 | "node": ">=8" 1515 | } 1516 | }, 1517 | "node_modules/signal-exit": { 1518 | "version": "4.1.0", 1519 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1520 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1521 | "engines": { 1522 | "node": ">=14" 1523 | }, 1524 | "funding": { 1525 | "url": "https://github.com/sponsors/isaacs" 1526 | } 1527 | }, 1528 | "node_modules/streamx": { 1529 | "version": "2.20.0", 1530 | "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.0.tgz", 1531 | "integrity": "sha512-ZGd1LhDeGFucr1CUCTBOS58ZhEendd0ttpGT3usTvosS4ntIwKN9LJFp+OeCSprsCPL14BXVRZlHGRY1V9PVzQ==", 1532 | "dependencies": { 1533 | "fast-fifo": "^1.3.2", 1534 | "queue-tick": "^1.0.1", 1535 | "text-decoder": "^1.1.0" 1536 | }, 1537 | "optionalDependencies": { 1538 | "bare-events": "^2.2.0" 1539 | } 1540 | }, 1541 | "node_modules/string_decoder": { 1542 | "version": "1.3.0", 1543 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1544 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1545 | "dependencies": { 1546 | "safe-buffer": "~5.2.0" 1547 | } 1548 | }, 1549 | "node_modules/string-width": { 1550 | "version": "5.1.2", 1551 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 1552 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 1553 | "dependencies": { 1554 | "eastasianwidth": "^0.2.0", 1555 | "emoji-regex": "^9.2.2", 1556 | "strip-ansi": "^7.0.1" 1557 | }, 1558 | "engines": { 1559 | "node": ">=12" 1560 | }, 1561 | "funding": { 1562 | "url": "https://github.com/sponsors/sindresorhus" 1563 | } 1564 | }, 1565 | "node_modules/string-width-cjs": { 1566 | "name": "string-width", 1567 | "version": "4.2.3", 1568 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1569 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1570 | "dependencies": { 1571 | "emoji-regex": "^8.0.0", 1572 | "is-fullwidth-code-point": "^3.0.0", 1573 | "strip-ansi": "^6.0.1" 1574 | }, 1575 | "engines": { 1576 | "node": ">=8" 1577 | } 1578 | }, 1579 | "node_modules/string-width-cjs/node_modules/ansi-regex": { 1580 | "version": "5.0.1", 1581 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1582 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1583 | "engines": { 1584 | "node": ">=8" 1585 | } 1586 | }, 1587 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 1588 | "version": "8.0.0", 1589 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1590 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 1591 | }, 1592 | "node_modules/string-width-cjs/node_modules/strip-ansi": { 1593 | "version": "6.0.1", 1594 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1595 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1596 | "dependencies": { 1597 | "ansi-regex": "^5.0.1" 1598 | }, 1599 | "engines": { 1600 | "node": ">=8" 1601 | } 1602 | }, 1603 | "node_modules/strip-ansi": { 1604 | "version": "7.1.0", 1605 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 1606 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 1607 | "dependencies": { 1608 | "ansi-regex": "^6.0.1" 1609 | }, 1610 | "engines": { 1611 | "node": ">=12" 1612 | }, 1613 | "funding": { 1614 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 1615 | } 1616 | }, 1617 | "node_modules/strip-ansi-cjs": { 1618 | "name": "strip-ansi", 1619 | "version": "6.0.1", 1620 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1621 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1622 | "dependencies": { 1623 | "ansi-regex": "^5.0.1" 1624 | }, 1625 | "engines": { 1626 | "node": ">=8" 1627 | } 1628 | }, 1629 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 1630 | "version": "5.0.1", 1631 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1632 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1633 | "engines": { 1634 | "node": ">=8" 1635 | } 1636 | }, 1637 | "node_modules/tar-stream": { 1638 | "version": "3.1.7", 1639 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", 1640 | "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", 1641 | "dependencies": { 1642 | "b4a": "^1.6.4", 1643 | "fast-fifo": "^1.2.0", 1644 | "streamx": "^2.15.0" 1645 | } 1646 | }, 1647 | "node_modules/text-decoder": { 1648 | "version": "1.1.1", 1649 | "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz", 1650 | "integrity": "sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==", 1651 | "dependencies": { 1652 | "b4a": "^1.6.4" 1653 | } 1654 | }, 1655 | "node_modules/tr46": { 1656 | "version": "0.0.3", 1657 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1658 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 1659 | }, 1660 | "node_modules/traverse": { 1661 | "version": "0.3.9", 1662 | "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", 1663 | "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", 1664 | "engines": { 1665 | "node": "*" 1666 | } 1667 | }, 1668 | "node_modules/ts-poet": { 1669 | "version": "4.15.0", 1670 | "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", 1671 | "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", 1672 | "dependencies": { 1673 | "lodash": "^4.17.15", 1674 | "prettier": "^2.5.1" 1675 | } 1676 | }, 1677 | "node_modules/tslib": { 1678 | "version": "2.6.2", 1679 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1680 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 1681 | }, 1682 | "node_modules/tunnel": { 1683 | "version": "0.0.6", 1684 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 1685 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 1686 | "engines": { 1687 | "node": ">=0.6.11 <=0.7.0 || >=0.7.3" 1688 | } 1689 | }, 1690 | "node_modules/twirp-ts": { 1691 | "version": "2.5.0", 1692 | "resolved": "https://registry.npmjs.org/twirp-ts/-/twirp-ts-2.5.0.tgz", 1693 | "integrity": "sha512-JTKIK5Pf/+3qCrmYDFlqcPPUx+ohEWKBaZy8GL8TmvV2VvC0SXVyNYILO39+GCRbqnuP6hBIF+BVr8ZxRz+6fw==", 1694 | "dependencies": { 1695 | "@protobuf-ts/plugin-framework": "^2.0.7", 1696 | "camel-case": "^4.1.2", 1697 | "dot-object": "^2.1.4", 1698 | "path-to-regexp": "^6.2.0", 1699 | "ts-poet": "^4.5.0", 1700 | "yaml": "^1.10.2" 1701 | }, 1702 | "bin": { 1703 | "protoc-gen-twirp_ts": "protoc-gen-twirp_ts" 1704 | }, 1705 | "peerDependencies": { 1706 | "@protobuf-ts/plugin": "^2.5.0", 1707 | "ts-proto": "^1.81.3" 1708 | }, 1709 | "peerDependenciesMeta": { 1710 | "@protobuf-ts/plugin": { 1711 | "optional": true 1712 | }, 1713 | "ts-proto": { 1714 | "optional": true 1715 | } 1716 | } 1717 | }, 1718 | "node_modules/typescript": { 1719 | "version": "5.3.3", 1720 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", 1721 | "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", 1722 | "dev": true, 1723 | "bin": { 1724 | "tsc": "bin/tsc", 1725 | "tsserver": "bin/tsserver" 1726 | }, 1727 | "engines": { 1728 | "node": ">=14.17" 1729 | } 1730 | }, 1731 | "node_modules/undici": { 1732 | "version": "5.28.4", 1733 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", 1734 | "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", 1735 | "dependencies": { 1736 | "@fastify/busboy": "^2.0.0" 1737 | }, 1738 | "engines": { 1739 | "node": ">=14.0" 1740 | } 1741 | }, 1742 | "node_modules/undici-types": { 1743 | "version": "5.26.5", 1744 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 1745 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" 1746 | }, 1747 | "node_modules/universal-user-agent": { 1748 | "version": "6.0.1", 1749 | "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", 1750 | "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" 1751 | }, 1752 | "node_modules/unzip-stream": { 1753 | "version": "0.3.4", 1754 | "resolved": "https://registry.npmjs.org/unzip-stream/-/unzip-stream-0.3.4.tgz", 1755 | "integrity": "sha512-PyofABPVv+d7fL7GOpusx7eRT9YETY2X04PhwbSipdj6bMxVCFJrr+nm0Mxqbf9hUiTin/UsnuFWBXlDZFy0Cw==", 1756 | "dependencies": { 1757 | "binary": "^0.3.0", 1758 | "mkdirp": "^0.5.1" 1759 | } 1760 | }, 1761 | "node_modules/util-deprecate": { 1762 | "version": "1.0.2", 1763 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1764 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 1765 | }, 1766 | "node_modules/uuid": { 1767 | "version": "8.3.2", 1768 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 1769 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 1770 | "bin": { 1771 | "uuid": "dist/bin/uuid" 1772 | } 1773 | }, 1774 | "node_modules/webidl-conversions": { 1775 | "version": "3.0.1", 1776 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1777 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 1778 | }, 1779 | "node_modules/whatwg-url": { 1780 | "version": "5.0.0", 1781 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1782 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 1783 | "dependencies": { 1784 | "tr46": "~0.0.3", 1785 | "webidl-conversions": "^3.0.0" 1786 | } 1787 | }, 1788 | "node_modules/which": { 1789 | "version": "2.0.2", 1790 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1791 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1792 | "dependencies": { 1793 | "isexe": "^2.0.0" 1794 | }, 1795 | "bin": { 1796 | "node-which": "bin/node-which" 1797 | }, 1798 | "engines": { 1799 | "node": ">= 8" 1800 | } 1801 | }, 1802 | "node_modules/wrap-ansi": { 1803 | "version": "8.1.0", 1804 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 1805 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 1806 | "dependencies": { 1807 | "ansi-styles": "^6.1.0", 1808 | "string-width": "^5.0.1", 1809 | "strip-ansi": "^7.0.1" 1810 | }, 1811 | "engines": { 1812 | "node": ">=12" 1813 | }, 1814 | "funding": { 1815 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1816 | } 1817 | }, 1818 | "node_modules/wrap-ansi-cjs": { 1819 | "name": "wrap-ansi", 1820 | "version": "7.0.0", 1821 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1822 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1823 | "dependencies": { 1824 | "ansi-styles": "^4.0.0", 1825 | "string-width": "^4.1.0", 1826 | "strip-ansi": "^6.0.0" 1827 | }, 1828 | "engines": { 1829 | "node": ">=10" 1830 | }, 1831 | "funding": { 1832 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1833 | } 1834 | }, 1835 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 1836 | "version": "5.0.1", 1837 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1838 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1839 | "engines": { 1840 | "node": ">=8" 1841 | } 1842 | }, 1843 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 1844 | "version": "4.3.0", 1845 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1846 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1847 | "dependencies": { 1848 | "color-convert": "^2.0.1" 1849 | }, 1850 | "engines": { 1851 | "node": ">=8" 1852 | }, 1853 | "funding": { 1854 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1855 | } 1856 | }, 1857 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 1858 | "version": "8.0.0", 1859 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1860 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 1861 | }, 1862 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 1863 | "version": "4.2.3", 1864 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1865 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1866 | "dependencies": { 1867 | "emoji-regex": "^8.0.0", 1868 | "is-fullwidth-code-point": "^3.0.0", 1869 | "strip-ansi": "^6.0.1" 1870 | }, 1871 | "engines": { 1872 | "node": ">=8" 1873 | } 1874 | }, 1875 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 1876 | "version": "6.0.1", 1877 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1878 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1879 | "dependencies": { 1880 | "ansi-regex": "^5.0.1" 1881 | }, 1882 | "engines": { 1883 | "node": ">=8" 1884 | } 1885 | }, 1886 | "node_modules/wrappy": { 1887 | "version": "1.0.2", 1888 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1889 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 1890 | }, 1891 | "node_modules/xml2js": { 1892 | "version": "0.5.0", 1893 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", 1894 | "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", 1895 | "dependencies": { 1896 | "sax": ">=0.6.0", 1897 | "xmlbuilder": "~11.0.0" 1898 | }, 1899 | "engines": { 1900 | "node": ">=4.0.0" 1901 | } 1902 | }, 1903 | "node_modules/xmlbuilder": { 1904 | "version": "11.0.1", 1905 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 1906 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 1907 | "engines": { 1908 | "node": ">=4.0" 1909 | } 1910 | }, 1911 | "node_modules/yaml": { 1912 | "version": "1.10.2", 1913 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 1914 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1915 | "engines": { 1916 | "node": ">= 6" 1917 | } 1918 | }, 1919 | "node_modules/zip-stream": { 1920 | "version": "6.0.1", 1921 | "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", 1922 | "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", 1923 | "dependencies": { 1924 | "archiver-utils": "^5.0.0", 1925 | "compress-commons": "^6.0.2", 1926 | "readable-stream": "^4.0.0" 1927 | }, 1928 | "engines": { 1929 | "node": ">= 14" 1930 | } 1931 | } 1932 | } 1933 | } 1934 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "delete-artifact", 3 | "description": "Deletes artifacts from a workflow run", 4 | "version": "5.1.0", 5 | "main": "src/index.ts", 6 | "scripts": { 7 | "build": "ncc build", 8 | "watch": "ncc build -w" 9 | }, 10 | "keywords": [ 11 | "github", 12 | "github-actions", 13 | "delete-artifact", 14 | "artifact" 15 | ], 16 | "author": "GeekyEggo", 17 | "license": "MIT", 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/geekyeggo/delete-artifact" 21 | }, 22 | "dependencies": { 23 | "@actions/artifact": "^2.1.7", 24 | "@actions/core": "^1.10.0", 25 | "@actions/github": "^6.0.0", 26 | "minimatch": "^9.0.3" 27 | }, 28 | "devDependencies": { 29 | "@types/minimatch": "^5.1.2", 30 | "@types/node": "^20.10.5", 31 | "@vercel/ncc": "^0.38.1", 32 | "typescript": "^5.3.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/artifact-filter.ts: -------------------------------------------------------------------------------- 1 | import type { Artifact } from "@actions/artifact"; 2 | import * as core from "@actions/core"; 3 | import { minimatch } from "minimatch"; 4 | import { getInputBoolean, getInputMultilineValues } from "./utils"; 5 | 6 | /** 7 | * Filters artifacts based on the actions configuration. 8 | */ 9 | type Filter = (artifacts: Artifact[]) => IterableIterator; 10 | 11 | /** 12 | * Gets a filter that enables filtering of artifacts based on an exact match of their name. 13 | * @param names The names to match. 14 | * @returns The exact match filter. 15 | */ 16 | function getExactMatchFilter(names: string[]): Filter { 17 | return function* filter(artifacts: Artifact[]): IterableIterator { 18 | for (const name of names) { 19 | const artifact = artifacts.find((a) => a.name == name); 20 | if (artifact != null) { 21 | yield artifact; 22 | } else { 23 | core.warning( 24 | `Unable to delete artifact "${name}"; the artifact was not found.` 25 | ); 26 | } 27 | } 28 | }; 29 | } 30 | 31 | /** 32 | * Gets a filter that enables filtering of artifacts based on glob-pattern matching their name. 33 | * @param names The names to match. 34 | * @returns The glob match filter. 35 | */ 36 | function getGlobMatchFilter(names: string[]): Filter { 37 | const isMatch = (artifact: Artifact): boolean => 38 | names.some((pattern) => minimatch(artifact.name, pattern)); 39 | 40 | return function* filter(artifacts: Artifact[]): IterableIterator { 41 | for (const artifact of artifacts.filter(isMatch)) { 42 | yield artifact; 43 | } 44 | }; 45 | } 46 | 47 | /** 48 | * Gets the default filter based on the action settings. 49 | * @returns The filter to be used when determining which artifacts to delete. 50 | */ 51 | export function getDefaultFilter(): Filter { 52 | const names = getInputMultilineValues("name"); 53 | 54 | return getInputBoolean("useGlob") 55 | ? getGlobMatchFilter(names) 56 | : getExactMatchFilter(names); 57 | } 58 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { DefaultArtifactClient } from "@actions/artifact"; 2 | import * as core from "@actions/core"; 3 | import { getDefaultFilter } from "./artifact-filter"; 4 | import { fail } from "./utils"; 5 | 6 | (async function () { 7 | try { 8 | const client = new DefaultArtifactClient(); 9 | let failureCount = 0; 10 | 11 | // Get the artifacts associated with this workflow run. 12 | const { artifacts } = await client.listArtifacts(); 13 | const filter = getDefaultFilter(); 14 | 15 | // Iterate over the filtered artifacts, and remove them. 16 | for (const { name } of filter(artifacts)) { 17 | if (await client.deleteArtifact(name)) { 18 | core.info(`Successfully deleted artifact: "${name}"`); 19 | } else { 20 | core.error(`Failed to delete artifact: "${name}"`); 21 | failureCount++; 22 | } 23 | } 24 | 25 | if (failureCount > 0) { 26 | fail( 27 | `Failed to delete ${failureCount} artifact${ 28 | failureCount !== 1 ? "s" : "" 29 | }.` 30 | ); 31 | } 32 | } catch (err) { 33 | core.setFailed(err); 34 | } 35 | })(); 36 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | 3 | /** 4 | * Attempts to fail the action based on the `failOnError` input; otherwise an error is logged. 5 | * @param msg The message to log as the error, or the failure. 6 | */ 7 | export function fail(msg: string): void { 8 | if (getInputBoolean("failOnError")) { 9 | core.setFailed(msg); 10 | } else { 11 | core.error(msg); 12 | } 13 | } 14 | 15 | /** 16 | * Attempts to get a truthy input based on the specified name. 17 | * @param name The name of the input property. 18 | * @returns `true` when the input property is truthy; otherwise false. 19 | */ 20 | export function getInputBoolean(name: string): boolean { 21 | const value = core.getInput(name); 22 | return value === "true" || value === "1"; 23 | } 24 | 25 | /** 26 | * Gets the input for the specified name, and splits the value by new line. 27 | * Credit to https://github.com/softprops 28 | * @param name The name of the input property. 29 | * @returns The values. 30 | */ 31 | export function getInputMultilineValues(name: string): string[] { 32 | return core 33 | .getInput(name) 34 | .split(/\r?\n/) 35 | .filter((name) => name) 36 | .map((name) => name.trim()); 37 | } 38 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ 4 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 5 | "outDir": "./lib", /* Redirect output structure to the directory. */ 6 | "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 7 | "strict": true, /* Enable all strict type-checking options. */ 8 | "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 9 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 10 | }, 11 | "exclude": [ 12 | "node_modules" 13 | ] 14 | } 15 | --------------------------------------------------------------------------------