├── .babelrc ├── .gitignore ├── LICENSE ├── README.md ├── package.json ├── pnpm-lock.yaml └── src ├── index.mjs └── utils ├── commands ├── init.mjs └── sync.mjs ├── cookie-cutting └── replacer.mjs ├── data ├── cmg-config.mjs ├── package-info.mjs └── templates.mjs ├── git-actions.mjs └── logger.mjs /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-react"] 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | # create-multiplayer-game npm package 6 | 7 | > ℹ️ This is a work-in-progress. Star (⭐) this repo to follow updates. 8 | 9 | The web game framework which gets out of your way, and gives you control. Build games in days, not weeks! 10 | 11 | ## Use cases 12 | - You can use it as a base for a fresh project 13 | - As a wrapper for an existing game (e.g. to add start/end screens, to make your game a PWA) 14 | - To quickly test out some logic in a multiplayer scenario 15 | 16 | ## Scaffolding Your First Web Game Project 17 | 18 | > **Compatibility Note:** 19 | > create-multiplayer-game requires [Node.js](https://nodejs.org/en/) version 21+. 20 | 21 | With NPM: 22 | 23 | ```bash 24 | npx create-multiplayer-game@latest 25 | ``` 26 | 27 | Then follow the prompts! 28 | 29 | You can also directly specify the project name and the template you want to use via additional command line options. For example, to scaffold a Vite + React project, you can run: 30 | 31 | ```bash 32 | npx create-multiplayer-game@latest my-awesome-game --template vite-react-ts 33 | ``` 34 | 35 | Currently supported template presets include: 36 | 37 | - `vite-react-ts` 38 | - `next-ts` 39 | - `vite-react-ts-premium` (coming soon) 40 | - Some community-driven templates 41 | 42 | You can use `.` for the project name to scaffold in the current directory. 43 | 44 | ## Syncing your template 45 | You'll want to periodically pull updates from your base template. This ensures you're always packed with the latest features, bug fixes and more. This may cause merge conflicts. 46 | 47 | To pull the latest from the template, simply run the following command in the **project directory**: 48 | 49 | ```bash 50 | npx create-multiplayer-game sync 51 | ``` 52 | 53 | ## Community Templates 54 | 55 | create-multiplayer-game is a tool to quickly start a multiplayer web game project from a basic template for popular frameworks. Check out Awesome Playroom for [community maintained templates](https://github.com/grayhatdevelopers/awesome-playroom?tab=readme-ov-file#open-source-games-and-boilerplates) that include other tools or target different frameworks. You can use a tool like [degit](https://github.com/Rich-Harris/degit) to scaffold your project with one of the templates. 56 | 57 | ```bash 58 | npx degit user/project my-project 59 | cd my-project 60 | 61 | npm install 62 | npm run dev 63 | ``` 64 | 65 | If the project uses `main` as the default branch, suffix the project repo with `#main` 66 | 67 | ```bash 68 | npx degit user/project#main my-project 69 | ``` 70 | 71 | ### Want to add a template? 72 | Feel free to add a template of your choice to create-multiplayer-game. 73 | 1. Edit this file: https://github.com/grayhatdevelopers/create-multiplayer-game/blob/main/src/utils/data/templates.mjs 74 | 2. Make a Pull Request. 75 | 76 | It'll be reviewed and tested by the maintainers before merging. 77 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "create-multiplayer-game", 3 | "version": "0.0.26", 4 | "description": "Create a multiplayer web game in seconds 👾🚀", 5 | "main": "./src/index.mjs", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/grayhatdevelopers/create-multiplayer-game.git" 9 | }, 10 | "scripts": { 11 | "test": "echo \"Error: no test specified\" && exit 1", 12 | "start": "node --experimental-json-modules ./src/index.mjs" 13 | }, 14 | "keywords": [], 15 | "author": "", 16 | "license": "ISC", 17 | "bin": { 18 | "create-multiplayer-game": "./src/index.mjs", 19 | "cmg": "./src/index.mjs" 20 | }, 21 | "dependencies": { 22 | "chalk": "^5.3.0", 23 | "commander": "^11.1.0", 24 | "download-git-repo": "^3.0.2", 25 | "execa": "^9.0.2", 26 | "inquirer": "^9.2.12", 27 | "lodash": "^4.17.21", 28 | "ora": "^8.0.1", 29 | "react": "^18.2.0" 30 | }, 31 | "devDependencies": { 32 | "esm": "^3.2.25" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | chalk: 12 | specifier: ^5.3.0 13 | version: 5.3.0 14 | commander: 15 | specifier: ^11.1.0 16 | version: 11.1.0 17 | download-git-repo: 18 | specifier: ^3.0.2 19 | version: 3.0.2 20 | execa: 21 | specifier: ^9.0.2 22 | version: 9.0.2 23 | inquirer: 24 | specifier: ^9.2.12 25 | version: 9.2.12 26 | lodash: 27 | specifier: ^4.17.21 28 | version: 4.17.21 29 | ora: 30 | specifier: ^8.0.1 31 | version: 8.0.1 32 | react: 33 | specifier: ^18.2.0 34 | version: 18.2.0 35 | devDependencies: 36 | esm: 37 | specifier: ^3.2.25 38 | version: 3.2.25 39 | 40 | packages: 41 | 42 | '@ljharb/through@2.3.11': 43 | resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} 44 | engines: {node: '>= 0.4'} 45 | 46 | '@sec-ant/readable-stream@0.4.1': 47 | resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} 48 | 49 | '@sindresorhus/is@0.7.0': 50 | resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} 51 | engines: {node: '>=4'} 52 | 53 | '@sindresorhus/merge-streams@4.0.0': 54 | resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} 55 | engines: {node: '>=18'} 56 | 57 | '@types/keyv@3.1.4': 58 | resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} 59 | 60 | '@types/node@20.11.5': 61 | resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} 62 | 63 | '@types/responselike@1.0.3': 64 | resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} 65 | 66 | ansi-escapes@4.3.2: 67 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 68 | engines: {node: '>=8'} 69 | 70 | ansi-regex@5.0.1: 71 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 72 | engines: {node: '>=8'} 73 | 74 | ansi-regex@6.0.1: 75 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 76 | engines: {node: '>=12'} 77 | 78 | ansi-styles@4.3.0: 79 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 80 | engines: {node: '>=8'} 81 | 82 | archive-type@4.0.0: 83 | resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} 84 | engines: {node: '>=4'} 85 | 86 | balanced-match@1.0.2: 87 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 88 | 89 | base64-js@1.5.1: 90 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 91 | 92 | bl@1.2.3: 93 | resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} 94 | 95 | bl@4.1.0: 96 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 97 | 98 | brace-expansion@1.1.11: 99 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 100 | 101 | buffer-alloc-unsafe@1.1.0: 102 | resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} 103 | 104 | buffer-alloc@1.2.0: 105 | resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} 106 | 107 | buffer-crc32@0.2.13: 108 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 109 | 110 | buffer-fill@1.0.0: 111 | resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} 112 | 113 | buffer@5.7.1: 114 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 115 | 116 | cacheable-request@2.1.4: 117 | resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} 118 | 119 | call-bind@1.0.5: 120 | resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} 121 | 122 | caw@2.0.1: 123 | resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} 124 | engines: {node: '>=4'} 125 | 126 | chalk@4.1.2: 127 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 128 | engines: {node: '>=10'} 129 | 130 | chalk@5.3.0: 131 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 132 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 133 | 134 | chardet@0.7.0: 135 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 136 | 137 | cli-cursor@3.1.0: 138 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 139 | engines: {node: '>=8'} 140 | 141 | cli-cursor@4.0.0: 142 | resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 143 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 144 | 145 | cli-spinners@2.9.2: 146 | resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 147 | engines: {node: '>=6'} 148 | 149 | cli-width@4.1.0: 150 | resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 151 | engines: {node: '>= 12'} 152 | 153 | clone-response@1.0.2: 154 | resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} 155 | 156 | clone@1.0.4: 157 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 158 | engines: {node: '>=0.8'} 159 | 160 | color-convert@2.0.1: 161 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 162 | engines: {node: '>=7.0.0'} 163 | 164 | color-name@1.1.4: 165 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 166 | 167 | commander@11.1.0: 168 | resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} 169 | engines: {node: '>=16'} 170 | 171 | commander@2.20.3: 172 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 173 | 174 | concat-map@0.0.1: 175 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 176 | 177 | config-chain@1.1.13: 178 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} 179 | 180 | content-disposition@0.5.4: 181 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 182 | engines: {node: '>= 0.6'} 183 | 184 | core-util-is@1.0.3: 185 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 186 | 187 | cross-spawn@7.0.3: 188 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 189 | engines: {node: '>= 8'} 190 | 191 | decode-uri-component@0.2.2: 192 | resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} 193 | engines: {node: '>=0.10'} 194 | 195 | decompress-response@3.3.0: 196 | resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} 197 | engines: {node: '>=4'} 198 | 199 | decompress-tar@4.1.1: 200 | resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} 201 | engines: {node: '>=4'} 202 | 203 | decompress-tarbz2@4.1.1: 204 | resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} 205 | engines: {node: '>=4'} 206 | 207 | decompress-targz@4.1.1: 208 | resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} 209 | engines: {node: '>=4'} 210 | 211 | decompress-unzip@4.0.1: 212 | resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} 213 | engines: {node: '>=4'} 214 | 215 | decompress@4.2.1: 216 | resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} 217 | engines: {node: '>=4'} 218 | 219 | defaults@1.0.4: 220 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 221 | 222 | define-data-property@1.1.1: 223 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} 224 | engines: {node: '>= 0.4'} 225 | 226 | download-git-repo@3.0.2: 227 | resolution: {integrity: sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==} 228 | 229 | download@7.1.0: 230 | resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} 231 | engines: {node: '>=6'} 232 | 233 | duplexer3@0.1.5: 234 | resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} 235 | 236 | emoji-regex@10.3.0: 237 | resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} 238 | 239 | emoji-regex@8.0.0: 240 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 241 | 242 | end-of-stream@1.4.4: 243 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 244 | 245 | escape-string-regexp@1.0.5: 246 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 247 | engines: {node: '>=0.8.0'} 248 | 249 | escape-string-regexp@5.0.0: 250 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 251 | engines: {node: '>=12'} 252 | 253 | esm@3.2.25: 254 | resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} 255 | engines: {node: '>=6'} 256 | 257 | execa@9.0.2: 258 | resolution: {integrity: sha512-oO281GF7ksH/Ogv1xyDf1prvFta/6/XkGKxRUvA3IB2MU1rCJGlFs86HRZhdooow1ISkR0Np0rOxUCIJVw36Rg==} 259 | engines: {node: '>=18'} 260 | 261 | ext-list@2.2.2: 262 | resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} 263 | engines: {node: '>=0.10.0'} 264 | 265 | ext-name@5.0.0: 266 | resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} 267 | engines: {node: '>=4'} 268 | 269 | external-editor@3.1.0: 270 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 271 | engines: {node: '>=4'} 272 | 273 | fd-slicer@1.1.0: 274 | resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 275 | 276 | figures@5.0.0: 277 | resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} 278 | engines: {node: '>=14'} 279 | 280 | figures@6.1.0: 281 | resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} 282 | engines: {node: '>=18'} 283 | 284 | file-type@3.9.0: 285 | resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} 286 | engines: {node: '>=0.10.0'} 287 | 288 | file-type@4.4.0: 289 | resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} 290 | engines: {node: '>=4'} 291 | 292 | file-type@5.2.0: 293 | resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} 294 | engines: {node: '>=4'} 295 | 296 | file-type@6.2.0: 297 | resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} 298 | engines: {node: '>=4'} 299 | 300 | file-type@8.1.0: 301 | resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} 302 | engines: {node: '>=6'} 303 | 304 | filename-reserved-regex@2.0.0: 305 | resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} 306 | engines: {node: '>=4'} 307 | 308 | filenamify@2.1.0: 309 | resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} 310 | engines: {node: '>=4'} 311 | 312 | from2@2.3.0: 313 | resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} 314 | 315 | fs-constants@1.0.0: 316 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 317 | 318 | fs.realpath@1.0.0: 319 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 320 | 321 | function-bind@1.1.2: 322 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 323 | 324 | get-east-asian-width@1.2.0: 325 | resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} 326 | engines: {node: '>=18'} 327 | 328 | get-intrinsic@1.2.2: 329 | resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} 330 | 331 | get-proxy@2.1.0: 332 | resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} 333 | engines: {node: '>=4'} 334 | 335 | get-stream@2.3.1: 336 | resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} 337 | engines: {node: '>=0.10.0'} 338 | 339 | get-stream@3.0.0: 340 | resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} 341 | engines: {node: '>=4'} 342 | 343 | get-stream@9.0.1: 344 | resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} 345 | engines: {node: '>=18'} 346 | 347 | git-clone@0.1.0: 348 | resolution: {integrity: sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==} 349 | 350 | glob@7.2.3: 351 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 352 | 353 | gopd@1.0.1: 354 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 355 | 356 | got@8.3.2: 357 | resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} 358 | engines: {node: '>=4'} 359 | 360 | graceful-fs@4.2.11: 361 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 362 | 363 | has-flag@4.0.0: 364 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 365 | engines: {node: '>=8'} 366 | 367 | has-property-descriptors@1.0.1: 368 | resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} 369 | 370 | has-proto@1.0.1: 371 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 372 | engines: {node: '>= 0.4'} 373 | 374 | has-symbol-support-x@1.4.2: 375 | resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} 376 | 377 | has-symbols@1.0.3: 378 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 379 | engines: {node: '>= 0.4'} 380 | 381 | has-to-string-tag-x@1.4.1: 382 | resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} 383 | 384 | hasown@2.0.0: 385 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} 386 | engines: {node: '>= 0.4'} 387 | 388 | http-cache-semantics@3.8.1: 389 | resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} 390 | 391 | human-signals@7.0.0: 392 | resolution: {integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==} 393 | engines: {node: '>=18.18.0'} 394 | 395 | iconv-lite@0.4.24: 396 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 397 | engines: {node: '>=0.10.0'} 398 | 399 | ieee754@1.2.1: 400 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 401 | 402 | inflight@1.0.6: 403 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 404 | 405 | inherits@2.0.4: 406 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 407 | 408 | ini@1.3.8: 409 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 410 | 411 | inquirer@9.2.12: 412 | resolution: {integrity: sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==} 413 | engines: {node: '>=14.18.0'} 414 | 415 | into-stream@3.1.0: 416 | resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} 417 | engines: {node: '>=4'} 418 | 419 | is-fullwidth-code-point@3.0.0: 420 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 421 | engines: {node: '>=8'} 422 | 423 | is-interactive@1.0.0: 424 | resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 425 | engines: {node: '>=8'} 426 | 427 | is-interactive@2.0.0: 428 | resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 429 | engines: {node: '>=12'} 430 | 431 | is-natural-number@4.0.1: 432 | resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} 433 | 434 | is-object@1.0.2: 435 | resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} 436 | 437 | is-plain-obj@1.1.0: 438 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 439 | engines: {node: '>=0.10.0'} 440 | 441 | is-plain-obj@4.1.0: 442 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 443 | engines: {node: '>=12'} 444 | 445 | is-retry-allowed@1.2.0: 446 | resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} 447 | engines: {node: '>=0.10.0'} 448 | 449 | is-stream@1.1.0: 450 | resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} 451 | engines: {node: '>=0.10.0'} 452 | 453 | is-stream@4.0.1: 454 | resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} 455 | engines: {node: '>=18'} 456 | 457 | is-unicode-supported@0.1.0: 458 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 459 | engines: {node: '>=10'} 460 | 461 | is-unicode-supported@1.3.0: 462 | resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 463 | engines: {node: '>=12'} 464 | 465 | is-unicode-supported@2.0.0: 466 | resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} 467 | engines: {node: '>=18'} 468 | 469 | isarray@1.0.0: 470 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 471 | 472 | isexe@2.0.0: 473 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 474 | 475 | isurl@1.0.0: 476 | resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} 477 | engines: {node: '>= 4'} 478 | 479 | js-tokens@4.0.0: 480 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 481 | 482 | json-buffer@3.0.0: 483 | resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} 484 | 485 | keyv@3.0.0: 486 | resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} 487 | 488 | lodash@4.17.21: 489 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 490 | 491 | log-symbols@4.1.0: 492 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 493 | engines: {node: '>=10'} 494 | 495 | log-symbols@6.0.0: 496 | resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} 497 | engines: {node: '>=18'} 498 | 499 | loose-envify@1.4.0: 500 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 501 | hasBin: true 502 | 503 | lowercase-keys@1.0.0: 504 | resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} 505 | engines: {node: '>=0.10.0'} 506 | 507 | lowercase-keys@1.0.1: 508 | resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} 509 | engines: {node: '>=0.10.0'} 510 | 511 | make-dir@1.3.0: 512 | resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} 513 | engines: {node: '>=4'} 514 | 515 | mime-db@1.52.0: 516 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 517 | engines: {node: '>= 0.6'} 518 | 519 | mimic-fn@2.1.0: 520 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 521 | engines: {node: '>=6'} 522 | 523 | mimic-response@1.0.1: 524 | resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} 525 | engines: {node: '>=4'} 526 | 527 | minimatch@3.1.2: 528 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 529 | 530 | mute-stream@1.0.0: 531 | resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} 532 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 533 | 534 | normalize-url@2.0.1: 535 | resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} 536 | engines: {node: '>=4'} 537 | 538 | npm-conf@1.1.3: 539 | resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} 540 | engines: {node: '>=4'} 541 | 542 | npm-run-path@5.3.0: 543 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 544 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 545 | 546 | object-assign@4.1.1: 547 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 548 | engines: {node: '>=0.10.0'} 549 | 550 | once@1.4.0: 551 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 552 | 553 | onetime@5.1.2: 554 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 555 | engines: {node: '>=6'} 556 | 557 | ora@5.4.1: 558 | resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 559 | engines: {node: '>=10'} 560 | 561 | ora@8.0.1: 562 | resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} 563 | engines: {node: '>=18'} 564 | 565 | os-tmpdir@1.0.2: 566 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 567 | engines: {node: '>=0.10.0'} 568 | 569 | p-cancelable@0.4.1: 570 | resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} 571 | engines: {node: '>=4'} 572 | 573 | p-event@2.3.1: 574 | resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} 575 | engines: {node: '>=6'} 576 | 577 | p-finally@1.0.0: 578 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 579 | engines: {node: '>=4'} 580 | 581 | p-is-promise@1.1.0: 582 | resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} 583 | engines: {node: '>=4'} 584 | 585 | p-timeout@2.0.1: 586 | resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} 587 | engines: {node: '>=4'} 588 | 589 | parse-ms@4.0.0: 590 | resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} 591 | engines: {node: '>=18'} 592 | 593 | path-is-absolute@1.0.1: 594 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 595 | engines: {node: '>=0.10.0'} 596 | 597 | path-key@3.1.1: 598 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 599 | engines: {node: '>=8'} 600 | 601 | path-key@4.0.0: 602 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 603 | engines: {node: '>=12'} 604 | 605 | pend@1.2.0: 606 | resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 607 | 608 | pify@2.3.0: 609 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 610 | engines: {node: '>=0.10.0'} 611 | 612 | pify@3.0.0: 613 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 614 | engines: {node: '>=4'} 615 | 616 | pinkie-promise@2.0.1: 617 | resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} 618 | engines: {node: '>=0.10.0'} 619 | 620 | pinkie@2.0.4: 621 | resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} 622 | engines: {node: '>=0.10.0'} 623 | 624 | prepend-http@2.0.0: 625 | resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} 626 | engines: {node: '>=4'} 627 | 628 | pretty-ms@9.0.0: 629 | resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} 630 | engines: {node: '>=18'} 631 | 632 | process-nextick-args@2.0.1: 633 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 634 | 635 | proto-list@1.2.4: 636 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} 637 | 638 | query-string@5.1.1: 639 | resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} 640 | engines: {node: '>=0.10.0'} 641 | 642 | react@18.2.0: 643 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 644 | engines: {node: '>=0.10.0'} 645 | 646 | readable-stream@2.3.8: 647 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 648 | 649 | readable-stream@3.6.2: 650 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 651 | engines: {node: '>= 6'} 652 | 653 | responselike@1.0.2: 654 | resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} 655 | 656 | restore-cursor@3.1.0: 657 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 658 | engines: {node: '>=8'} 659 | 660 | restore-cursor@4.0.0: 661 | resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 662 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 663 | 664 | rimraf@3.0.2: 665 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 666 | hasBin: true 667 | 668 | run-async@3.0.0: 669 | resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} 670 | engines: {node: '>=0.12.0'} 671 | 672 | rxjs@7.8.1: 673 | resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 674 | 675 | safe-buffer@5.1.2: 676 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 677 | 678 | safe-buffer@5.2.1: 679 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 680 | 681 | safer-buffer@2.1.2: 682 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 683 | 684 | seek-bzip@1.0.6: 685 | resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} 686 | hasBin: true 687 | 688 | set-function-length@1.2.0: 689 | resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} 690 | engines: {node: '>= 0.4'} 691 | 692 | shebang-command@2.0.0: 693 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 694 | engines: {node: '>=8'} 695 | 696 | shebang-regex@3.0.0: 697 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 698 | engines: {node: '>=8'} 699 | 700 | signal-exit@3.0.7: 701 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 702 | 703 | signal-exit@4.1.0: 704 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 705 | engines: {node: '>=14'} 706 | 707 | sort-keys-length@1.0.1: 708 | resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} 709 | engines: {node: '>=0.10.0'} 710 | 711 | sort-keys@1.1.2: 712 | resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} 713 | engines: {node: '>=0.10.0'} 714 | 715 | sort-keys@2.0.0: 716 | resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} 717 | engines: {node: '>=4'} 718 | 719 | stdin-discarder@0.2.2: 720 | resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} 721 | engines: {node: '>=18'} 722 | 723 | strict-uri-encode@1.1.0: 724 | resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} 725 | engines: {node: '>=0.10.0'} 726 | 727 | string-width@4.2.3: 728 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 729 | engines: {node: '>=8'} 730 | 731 | string-width@7.1.0: 732 | resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} 733 | engines: {node: '>=18'} 734 | 735 | string_decoder@1.1.1: 736 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 737 | 738 | string_decoder@1.3.0: 739 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 740 | 741 | strip-ansi@6.0.1: 742 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 743 | engines: {node: '>=8'} 744 | 745 | strip-ansi@7.1.0: 746 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 747 | engines: {node: '>=12'} 748 | 749 | strip-dirs@2.1.0: 750 | resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} 751 | 752 | strip-final-newline@4.0.0: 753 | resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} 754 | engines: {node: '>=18'} 755 | 756 | strip-outer@1.0.1: 757 | resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} 758 | engines: {node: '>=0.10.0'} 759 | 760 | supports-color@7.2.0: 761 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 762 | engines: {node: '>=8'} 763 | 764 | tar-stream@1.6.2: 765 | resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} 766 | engines: {node: '>= 0.8.0'} 767 | 768 | through@2.3.8: 769 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 770 | 771 | timed-out@4.0.1: 772 | resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} 773 | engines: {node: '>=0.10.0'} 774 | 775 | tmp@0.0.33: 776 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 777 | engines: {node: '>=0.6.0'} 778 | 779 | to-buffer@1.1.1: 780 | resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} 781 | 782 | trim-repeated@1.0.0: 783 | resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} 784 | engines: {node: '>=0.10.0'} 785 | 786 | tslib@2.6.2: 787 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 788 | 789 | tunnel-agent@0.6.0: 790 | resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 791 | 792 | type-fest@0.21.3: 793 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 794 | engines: {node: '>=10'} 795 | 796 | unbzip2-stream@1.4.3: 797 | resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} 798 | 799 | undici-types@5.26.5: 800 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 801 | 802 | url-parse-lax@3.0.0: 803 | resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} 804 | engines: {node: '>=4'} 805 | 806 | url-to-options@1.0.1: 807 | resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} 808 | engines: {node: '>= 4'} 809 | 810 | util-deprecate@1.0.2: 811 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 812 | 813 | wcwidth@1.0.1: 814 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 815 | 816 | which@2.0.2: 817 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 818 | engines: {node: '>= 8'} 819 | hasBin: true 820 | 821 | wrap-ansi@6.2.0: 822 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 823 | engines: {node: '>=8'} 824 | 825 | wrappy@1.0.2: 826 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 827 | 828 | xtend@4.0.2: 829 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 830 | engines: {node: '>=0.4'} 831 | 832 | yauzl@2.10.0: 833 | resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 834 | 835 | yoctocolors@2.0.0: 836 | resolution: {integrity: sha512-esbDnt0Z1zI1KgvOZU90hJbL6BkoUbrP9yy7ArNZ6TmxBxydMJTYMf9FZjmwwcA8ZgEQzriQ3hwZ0NYXhlFo8Q==} 837 | engines: {node: '>=18'} 838 | 839 | snapshots: 840 | 841 | '@ljharb/through@2.3.11': 842 | dependencies: 843 | call-bind: 1.0.5 844 | 845 | '@sec-ant/readable-stream@0.4.1': {} 846 | 847 | '@sindresorhus/is@0.7.0': {} 848 | 849 | '@sindresorhus/merge-streams@4.0.0': {} 850 | 851 | '@types/keyv@3.1.4': 852 | dependencies: 853 | '@types/node': 20.11.5 854 | 855 | '@types/node@20.11.5': 856 | dependencies: 857 | undici-types: 5.26.5 858 | 859 | '@types/responselike@1.0.3': 860 | dependencies: 861 | '@types/node': 20.11.5 862 | 863 | ansi-escapes@4.3.2: 864 | dependencies: 865 | type-fest: 0.21.3 866 | 867 | ansi-regex@5.0.1: {} 868 | 869 | ansi-regex@6.0.1: {} 870 | 871 | ansi-styles@4.3.0: 872 | dependencies: 873 | color-convert: 2.0.1 874 | 875 | archive-type@4.0.0: 876 | dependencies: 877 | file-type: 4.4.0 878 | 879 | balanced-match@1.0.2: {} 880 | 881 | base64-js@1.5.1: {} 882 | 883 | bl@1.2.3: 884 | dependencies: 885 | readable-stream: 2.3.8 886 | safe-buffer: 5.2.1 887 | 888 | bl@4.1.0: 889 | dependencies: 890 | buffer: 5.7.1 891 | inherits: 2.0.4 892 | readable-stream: 3.6.2 893 | 894 | brace-expansion@1.1.11: 895 | dependencies: 896 | balanced-match: 1.0.2 897 | concat-map: 0.0.1 898 | 899 | buffer-alloc-unsafe@1.1.0: {} 900 | 901 | buffer-alloc@1.2.0: 902 | dependencies: 903 | buffer-alloc-unsafe: 1.1.0 904 | buffer-fill: 1.0.0 905 | 906 | buffer-crc32@0.2.13: {} 907 | 908 | buffer-fill@1.0.0: {} 909 | 910 | buffer@5.7.1: 911 | dependencies: 912 | base64-js: 1.5.1 913 | ieee754: 1.2.1 914 | 915 | cacheable-request@2.1.4: 916 | dependencies: 917 | clone-response: 1.0.2 918 | get-stream: 3.0.0 919 | http-cache-semantics: 3.8.1 920 | keyv: 3.0.0 921 | lowercase-keys: 1.0.0 922 | normalize-url: 2.0.1 923 | responselike: 1.0.2 924 | 925 | call-bind@1.0.5: 926 | dependencies: 927 | function-bind: 1.1.2 928 | get-intrinsic: 1.2.2 929 | set-function-length: 1.2.0 930 | 931 | caw@2.0.1: 932 | dependencies: 933 | get-proxy: 2.1.0 934 | isurl: 1.0.0 935 | tunnel-agent: 0.6.0 936 | url-to-options: 1.0.1 937 | 938 | chalk@4.1.2: 939 | dependencies: 940 | ansi-styles: 4.3.0 941 | supports-color: 7.2.0 942 | 943 | chalk@5.3.0: {} 944 | 945 | chardet@0.7.0: {} 946 | 947 | cli-cursor@3.1.0: 948 | dependencies: 949 | restore-cursor: 3.1.0 950 | 951 | cli-cursor@4.0.0: 952 | dependencies: 953 | restore-cursor: 4.0.0 954 | 955 | cli-spinners@2.9.2: {} 956 | 957 | cli-width@4.1.0: {} 958 | 959 | clone-response@1.0.2: 960 | dependencies: 961 | mimic-response: 1.0.1 962 | 963 | clone@1.0.4: {} 964 | 965 | color-convert@2.0.1: 966 | dependencies: 967 | color-name: 1.1.4 968 | 969 | color-name@1.1.4: {} 970 | 971 | commander@11.1.0: {} 972 | 973 | commander@2.20.3: {} 974 | 975 | concat-map@0.0.1: {} 976 | 977 | config-chain@1.1.13: 978 | dependencies: 979 | ini: 1.3.8 980 | proto-list: 1.2.4 981 | 982 | content-disposition@0.5.4: 983 | dependencies: 984 | safe-buffer: 5.2.1 985 | 986 | core-util-is@1.0.3: {} 987 | 988 | cross-spawn@7.0.3: 989 | dependencies: 990 | path-key: 3.1.1 991 | shebang-command: 2.0.0 992 | which: 2.0.2 993 | 994 | decode-uri-component@0.2.2: {} 995 | 996 | decompress-response@3.3.0: 997 | dependencies: 998 | mimic-response: 1.0.1 999 | 1000 | decompress-tar@4.1.1: 1001 | dependencies: 1002 | file-type: 5.2.0 1003 | is-stream: 1.1.0 1004 | tar-stream: 1.6.2 1005 | 1006 | decompress-tarbz2@4.1.1: 1007 | dependencies: 1008 | decompress-tar: 4.1.1 1009 | file-type: 6.2.0 1010 | is-stream: 1.1.0 1011 | seek-bzip: 1.0.6 1012 | unbzip2-stream: 1.4.3 1013 | 1014 | decompress-targz@4.1.1: 1015 | dependencies: 1016 | decompress-tar: 4.1.1 1017 | file-type: 5.2.0 1018 | is-stream: 1.1.0 1019 | 1020 | decompress-unzip@4.0.1: 1021 | dependencies: 1022 | file-type: 3.9.0 1023 | get-stream: 2.3.1 1024 | pify: 2.3.0 1025 | yauzl: 2.10.0 1026 | 1027 | decompress@4.2.1: 1028 | dependencies: 1029 | decompress-tar: 4.1.1 1030 | decompress-tarbz2: 4.1.1 1031 | decompress-targz: 4.1.1 1032 | decompress-unzip: 4.0.1 1033 | graceful-fs: 4.2.11 1034 | make-dir: 1.3.0 1035 | pify: 2.3.0 1036 | strip-dirs: 2.1.0 1037 | 1038 | defaults@1.0.4: 1039 | dependencies: 1040 | clone: 1.0.4 1041 | 1042 | define-data-property@1.1.1: 1043 | dependencies: 1044 | get-intrinsic: 1.2.2 1045 | gopd: 1.0.1 1046 | has-property-descriptors: 1.0.1 1047 | 1048 | download-git-repo@3.0.2: 1049 | dependencies: 1050 | download: 7.1.0 1051 | git-clone: 0.1.0 1052 | rimraf: 3.0.2 1053 | 1054 | download@7.1.0: 1055 | dependencies: 1056 | archive-type: 4.0.0 1057 | caw: 2.0.1 1058 | content-disposition: 0.5.4 1059 | decompress: 4.2.1 1060 | ext-name: 5.0.0 1061 | file-type: 8.1.0 1062 | filenamify: 2.1.0 1063 | get-stream: 3.0.0 1064 | got: 8.3.2 1065 | make-dir: 1.3.0 1066 | p-event: 2.3.1 1067 | pify: 3.0.0 1068 | 1069 | duplexer3@0.1.5: {} 1070 | 1071 | emoji-regex@10.3.0: {} 1072 | 1073 | emoji-regex@8.0.0: {} 1074 | 1075 | end-of-stream@1.4.4: 1076 | dependencies: 1077 | once: 1.4.0 1078 | 1079 | escape-string-regexp@1.0.5: {} 1080 | 1081 | escape-string-regexp@5.0.0: {} 1082 | 1083 | esm@3.2.25: {} 1084 | 1085 | execa@9.0.2: 1086 | dependencies: 1087 | '@sindresorhus/merge-streams': 4.0.0 1088 | cross-spawn: 7.0.3 1089 | figures: 6.1.0 1090 | get-stream: 9.0.1 1091 | human-signals: 7.0.0 1092 | is-plain-obj: 4.1.0 1093 | is-stream: 4.0.1 1094 | npm-run-path: 5.3.0 1095 | pretty-ms: 9.0.0 1096 | signal-exit: 4.1.0 1097 | strip-final-newline: 4.0.0 1098 | yoctocolors: 2.0.0 1099 | 1100 | ext-list@2.2.2: 1101 | dependencies: 1102 | mime-db: 1.52.0 1103 | 1104 | ext-name@5.0.0: 1105 | dependencies: 1106 | ext-list: 2.2.2 1107 | sort-keys-length: 1.0.1 1108 | 1109 | external-editor@3.1.0: 1110 | dependencies: 1111 | chardet: 0.7.0 1112 | iconv-lite: 0.4.24 1113 | tmp: 0.0.33 1114 | 1115 | fd-slicer@1.1.0: 1116 | dependencies: 1117 | pend: 1.2.0 1118 | 1119 | figures@5.0.0: 1120 | dependencies: 1121 | escape-string-regexp: 5.0.0 1122 | is-unicode-supported: 1.3.0 1123 | 1124 | figures@6.1.0: 1125 | dependencies: 1126 | is-unicode-supported: 2.0.0 1127 | 1128 | file-type@3.9.0: {} 1129 | 1130 | file-type@4.4.0: {} 1131 | 1132 | file-type@5.2.0: {} 1133 | 1134 | file-type@6.2.0: {} 1135 | 1136 | file-type@8.1.0: {} 1137 | 1138 | filename-reserved-regex@2.0.0: {} 1139 | 1140 | filenamify@2.1.0: 1141 | dependencies: 1142 | filename-reserved-regex: 2.0.0 1143 | strip-outer: 1.0.1 1144 | trim-repeated: 1.0.0 1145 | 1146 | from2@2.3.0: 1147 | dependencies: 1148 | inherits: 2.0.4 1149 | readable-stream: 2.3.8 1150 | 1151 | fs-constants@1.0.0: {} 1152 | 1153 | fs.realpath@1.0.0: {} 1154 | 1155 | function-bind@1.1.2: {} 1156 | 1157 | get-east-asian-width@1.2.0: {} 1158 | 1159 | get-intrinsic@1.2.2: 1160 | dependencies: 1161 | function-bind: 1.1.2 1162 | has-proto: 1.0.1 1163 | has-symbols: 1.0.3 1164 | hasown: 2.0.0 1165 | 1166 | get-proxy@2.1.0: 1167 | dependencies: 1168 | npm-conf: 1.1.3 1169 | 1170 | get-stream@2.3.1: 1171 | dependencies: 1172 | object-assign: 4.1.1 1173 | pinkie-promise: 2.0.1 1174 | 1175 | get-stream@3.0.0: {} 1176 | 1177 | get-stream@9.0.1: 1178 | dependencies: 1179 | '@sec-ant/readable-stream': 0.4.1 1180 | is-stream: 4.0.1 1181 | 1182 | git-clone@0.1.0: {} 1183 | 1184 | glob@7.2.3: 1185 | dependencies: 1186 | fs.realpath: 1.0.0 1187 | inflight: 1.0.6 1188 | inherits: 2.0.4 1189 | minimatch: 3.1.2 1190 | once: 1.4.0 1191 | path-is-absolute: 1.0.1 1192 | 1193 | gopd@1.0.1: 1194 | dependencies: 1195 | get-intrinsic: 1.2.2 1196 | 1197 | got@8.3.2: 1198 | dependencies: 1199 | '@sindresorhus/is': 0.7.0 1200 | '@types/keyv': 3.1.4 1201 | '@types/responselike': 1.0.3 1202 | cacheable-request: 2.1.4 1203 | decompress-response: 3.3.0 1204 | duplexer3: 0.1.5 1205 | get-stream: 3.0.0 1206 | into-stream: 3.1.0 1207 | is-retry-allowed: 1.2.0 1208 | isurl: 1.0.0 1209 | lowercase-keys: 1.0.1 1210 | mimic-response: 1.0.1 1211 | p-cancelable: 0.4.1 1212 | p-timeout: 2.0.1 1213 | pify: 3.0.0 1214 | safe-buffer: 5.2.1 1215 | timed-out: 4.0.1 1216 | url-parse-lax: 3.0.0 1217 | url-to-options: 1.0.1 1218 | 1219 | graceful-fs@4.2.11: {} 1220 | 1221 | has-flag@4.0.0: {} 1222 | 1223 | has-property-descriptors@1.0.1: 1224 | dependencies: 1225 | get-intrinsic: 1.2.2 1226 | 1227 | has-proto@1.0.1: {} 1228 | 1229 | has-symbol-support-x@1.4.2: {} 1230 | 1231 | has-symbols@1.0.3: {} 1232 | 1233 | has-to-string-tag-x@1.4.1: 1234 | dependencies: 1235 | has-symbol-support-x: 1.4.2 1236 | 1237 | hasown@2.0.0: 1238 | dependencies: 1239 | function-bind: 1.1.2 1240 | 1241 | http-cache-semantics@3.8.1: {} 1242 | 1243 | human-signals@7.0.0: {} 1244 | 1245 | iconv-lite@0.4.24: 1246 | dependencies: 1247 | safer-buffer: 2.1.2 1248 | 1249 | ieee754@1.2.1: {} 1250 | 1251 | inflight@1.0.6: 1252 | dependencies: 1253 | once: 1.4.0 1254 | wrappy: 1.0.2 1255 | 1256 | inherits@2.0.4: {} 1257 | 1258 | ini@1.3.8: {} 1259 | 1260 | inquirer@9.2.12: 1261 | dependencies: 1262 | '@ljharb/through': 2.3.11 1263 | ansi-escapes: 4.3.2 1264 | chalk: 5.3.0 1265 | cli-cursor: 3.1.0 1266 | cli-width: 4.1.0 1267 | external-editor: 3.1.0 1268 | figures: 5.0.0 1269 | lodash: 4.17.21 1270 | mute-stream: 1.0.0 1271 | ora: 5.4.1 1272 | run-async: 3.0.0 1273 | rxjs: 7.8.1 1274 | string-width: 4.2.3 1275 | strip-ansi: 6.0.1 1276 | wrap-ansi: 6.2.0 1277 | 1278 | into-stream@3.1.0: 1279 | dependencies: 1280 | from2: 2.3.0 1281 | p-is-promise: 1.1.0 1282 | 1283 | is-fullwidth-code-point@3.0.0: {} 1284 | 1285 | is-interactive@1.0.0: {} 1286 | 1287 | is-interactive@2.0.0: {} 1288 | 1289 | is-natural-number@4.0.1: {} 1290 | 1291 | is-object@1.0.2: {} 1292 | 1293 | is-plain-obj@1.1.0: {} 1294 | 1295 | is-plain-obj@4.1.0: {} 1296 | 1297 | is-retry-allowed@1.2.0: {} 1298 | 1299 | is-stream@1.1.0: {} 1300 | 1301 | is-stream@4.0.1: {} 1302 | 1303 | is-unicode-supported@0.1.0: {} 1304 | 1305 | is-unicode-supported@1.3.0: {} 1306 | 1307 | is-unicode-supported@2.0.0: {} 1308 | 1309 | isarray@1.0.0: {} 1310 | 1311 | isexe@2.0.0: {} 1312 | 1313 | isurl@1.0.0: 1314 | dependencies: 1315 | has-to-string-tag-x: 1.4.1 1316 | is-object: 1.0.2 1317 | 1318 | js-tokens@4.0.0: {} 1319 | 1320 | json-buffer@3.0.0: {} 1321 | 1322 | keyv@3.0.0: 1323 | dependencies: 1324 | json-buffer: 3.0.0 1325 | 1326 | lodash@4.17.21: {} 1327 | 1328 | log-symbols@4.1.0: 1329 | dependencies: 1330 | chalk: 4.1.2 1331 | is-unicode-supported: 0.1.0 1332 | 1333 | log-symbols@6.0.0: 1334 | dependencies: 1335 | chalk: 5.3.0 1336 | is-unicode-supported: 1.3.0 1337 | 1338 | loose-envify@1.4.0: 1339 | dependencies: 1340 | js-tokens: 4.0.0 1341 | 1342 | lowercase-keys@1.0.0: {} 1343 | 1344 | lowercase-keys@1.0.1: {} 1345 | 1346 | make-dir@1.3.0: 1347 | dependencies: 1348 | pify: 3.0.0 1349 | 1350 | mime-db@1.52.0: {} 1351 | 1352 | mimic-fn@2.1.0: {} 1353 | 1354 | mimic-response@1.0.1: {} 1355 | 1356 | minimatch@3.1.2: 1357 | dependencies: 1358 | brace-expansion: 1.1.11 1359 | 1360 | mute-stream@1.0.0: {} 1361 | 1362 | normalize-url@2.0.1: 1363 | dependencies: 1364 | prepend-http: 2.0.0 1365 | query-string: 5.1.1 1366 | sort-keys: 2.0.0 1367 | 1368 | npm-conf@1.1.3: 1369 | dependencies: 1370 | config-chain: 1.1.13 1371 | pify: 3.0.0 1372 | 1373 | npm-run-path@5.3.0: 1374 | dependencies: 1375 | path-key: 4.0.0 1376 | 1377 | object-assign@4.1.1: {} 1378 | 1379 | once@1.4.0: 1380 | dependencies: 1381 | wrappy: 1.0.2 1382 | 1383 | onetime@5.1.2: 1384 | dependencies: 1385 | mimic-fn: 2.1.0 1386 | 1387 | ora@5.4.1: 1388 | dependencies: 1389 | bl: 4.1.0 1390 | chalk: 4.1.2 1391 | cli-cursor: 3.1.0 1392 | cli-spinners: 2.9.2 1393 | is-interactive: 1.0.0 1394 | is-unicode-supported: 0.1.0 1395 | log-symbols: 4.1.0 1396 | strip-ansi: 6.0.1 1397 | wcwidth: 1.0.1 1398 | 1399 | ora@8.0.1: 1400 | dependencies: 1401 | chalk: 5.3.0 1402 | cli-cursor: 4.0.0 1403 | cli-spinners: 2.9.2 1404 | is-interactive: 2.0.0 1405 | is-unicode-supported: 2.0.0 1406 | log-symbols: 6.0.0 1407 | stdin-discarder: 0.2.2 1408 | string-width: 7.1.0 1409 | strip-ansi: 7.1.0 1410 | 1411 | os-tmpdir@1.0.2: {} 1412 | 1413 | p-cancelable@0.4.1: {} 1414 | 1415 | p-event@2.3.1: 1416 | dependencies: 1417 | p-timeout: 2.0.1 1418 | 1419 | p-finally@1.0.0: {} 1420 | 1421 | p-is-promise@1.1.0: {} 1422 | 1423 | p-timeout@2.0.1: 1424 | dependencies: 1425 | p-finally: 1.0.0 1426 | 1427 | parse-ms@4.0.0: {} 1428 | 1429 | path-is-absolute@1.0.1: {} 1430 | 1431 | path-key@3.1.1: {} 1432 | 1433 | path-key@4.0.0: {} 1434 | 1435 | pend@1.2.0: {} 1436 | 1437 | pify@2.3.0: {} 1438 | 1439 | pify@3.0.0: {} 1440 | 1441 | pinkie-promise@2.0.1: 1442 | dependencies: 1443 | pinkie: 2.0.4 1444 | 1445 | pinkie@2.0.4: {} 1446 | 1447 | prepend-http@2.0.0: {} 1448 | 1449 | pretty-ms@9.0.0: 1450 | dependencies: 1451 | parse-ms: 4.0.0 1452 | 1453 | process-nextick-args@2.0.1: {} 1454 | 1455 | proto-list@1.2.4: {} 1456 | 1457 | query-string@5.1.1: 1458 | dependencies: 1459 | decode-uri-component: 0.2.2 1460 | object-assign: 4.1.1 1461 | strict-uri-encode: 1.1.0 1462 | 1463 | react@18.2.0: 1464 | dependencies: 1465 | loose-envify: 1.4.0 1466 | 1467 | readable-stream@2.3.8: 1468 | dependencies: 1469 | core-util-is: 1.0.3 1470 | inherits: 2.0.4 1471 | isarray: 1.0.0 1472 | process-nextick-args: 2.0.1 1473 | safe-buffer: 5.1.2 1474 | string_decoder: 1.1.1 1475 | util-deprecate: 1.0.2 1476 | 1477 | readable-stream@3.6.2: 1478 | dependencies: 1479 | inherits: 2.0.4 1480 | string_decoder: 1.3.0 1481 | util-deprecate: 1.0.2 1482 | 1483 | responselike@1.0.2: 1484 | dependencies: 1485 | lowercase-keys: 1.0.1 1486 | 1487 | restore-cursor@3.1.0: 1488 | dependencies: 1489 | onetime: 5.1.2 1490 | signal-exit: 3.0.7 1491 | 1492 | restore-cursor@4.0.0: 1493 | dependencies: 1494 | onetime: 5.1.2 1495 | signal-exit: 3.0.7 1496 | 1497 | rimraf@3.0.2: 1498 | dependencies: 1499 | glob: 7.2.3 1500 | 1501 | run-async@3.0.0: {} 1502 | 1503 | rxjs@7.8.1: 1504 | dependencies: 1505 | tslib: 2.6.2 1506 | 1507 | safe-buffer@5.1.2: {} 1508 | 1509 | safe-buffer@5.2.1: {} 1510 | 1511 | safer-buffer@2.1.2: {} 1512 | 1513 | seek-bzip@1.0.6: 1514 | dependencies: 1515 | commander: 2.20.3 1516 | 1517 | set-function-length@1.2.0: 1518 | dependencies: 1519 | define-data-property: 1.1.1 1520 | function-bind: 1.1.2 1521 | get-intrinsic: 1.2.2 1522 | gopd: 1.0.1 1523 | has-property-descriptors: 1.0.1 1524 | 1525 | shebang-command@2.0.0: 1526 | dependencies: 1527 | shebang-regex: 3.0.0 1528 | 1529 | shebang-regex@3.0.0: {} 1530 | 1531 | signal-exit@3.0.7: {} 1532 | 1533 | signal-exit@4.1.0: {} 1534 | 1535 | sort-keys-length@1.0.1: 1536 | dependencies: 1537 | sort-keys: 1.1.2 1538 | 1539 | sort-keys@1.1.2: 1540 | dependencies: 1541 | is-plain-obj: 1.1.0 1542 | 1543 | sort-keys@2.0.0: 1544 | dependencies: 1545 | is-plain-obj: 1.1.0 1546 | 1547 | stdin-discarder@0.2.2: {} 1548 | 1549 | strict-uri-encode@1.1.0: {} 1550 | 1551 | string-width@4.2.3: 1552 | dependencies: 1553 | emoji-regex: 8.0.0 1554 | is-fullwidth-code-point: 3.0.0 1555 | strip-ansi: 6.0.1 1556 | 1557 | string-width@7.1.0: 1558 | dependencies: 1559 | emoji-regex: 10.3.0 1560 | get-east-asian-width: 1.2.0 1561 | strip-ansi: 7.1.0 1562 | 1563 | string_decoder@1.1.1: 1564 | dependencies: 1565 | safe-buffer: 5.1.2 1566 | 1567 | string_decoder@1.3.0: 1568 | dependencies: 1569 | safe-buffer: 5.2.1 1570 | 1571 | strip-ansi@6.0.1: 1572 | dependencies: 1573 | ansi-regex: 5.0.1 1574 | 1575 | strip-ansi@7.1.0: 1576 | dependencies: 1577 | ansi-regex: 6.0.1 1578 | 1579 | strip-dirs@2.1.0: 1580 | dependencies: 1581 | is-natural-number: 4.0.1 1582 | 1583 | strip-final-newline@4.0.0: {} 1584 | 1585 | strip-outer@1.0.1: 1586 | dependencies: 1587 | escape-string-regexp: 1.0.5 1588 | 1589 | supports-color@7.2.0: 1590 | dependencies: 1591 | has-flag: 4.0.0 1592 | 1593 | tar-stream@1.6.2: 1594 | dependencies: 1595 | bl: 1.2.3 1596 | buffer-alloc: 1.2.0 1597 | end-of-stream: 1.4.4 1598 | fs-constants: 1.0.0 1599 | readable-stream: 2.3.8 1600 | to-buffer: 1.1.1 1601 | xtend: 4.0.2 1602 | 1603 | through@2.3.8: {} 1604 | 1605 | timed-out@4.0.1: {} 1606 | 1607 | tmp@0.0.33: 1608 | dependencies: 1609 | os-tmpdir: 1.0.2 1610 | 1611 | to-buffer@1.1.1: {} 1612 | 1613 | trim-repeated@1.0.0: 1614 | dependencies: 1615 | escape-string-regexp: 1.0.5 1616 | 1617 | tslib@2.6.2: {} 1618 | 1619 | tunnel-agent@0.6.0: 1620 | dependencies: 1621 | safe-buffer: 5.2.1 1622 | 1623 | type-fest@0.21.3: {} 1624 | 1625 | unbzip2-stream@1.4.3: 1626 | dependencies: 1627 | buffer: 5.7.1 1628 | through: 2.3.8 1629 | 1630 | undici-types@5.26.5: {} 1631 | 1632 | url-parse-lax@3.0.0: 1633 | dependencies: 1634 | prepend-http: 2.0.0 1635 | 1636 | url-to-options@1.0.1: {} 1637 | 1638 | util-deprecate@1.0.2: {} 1639 | 1640 | wcwidth@1.0.1: 1641 | dependencies: 1642 | defaults: 1.0.4 1643 | 1644 | which@2.0.2: 1645 | dependencies: 1646 | isexe: 2.0.0 1647 | 1648 | wrap-ansi@6.2.0: 1649 | dependencies: 1650 | ansi-styles: 4.3.0 1651 | string-width: 4.2.3 1652 | strip-ansi: 6.0.1 1653 | 1654 | wrappy@1.0.2: {} 1655 | 1656 | xtend@4.0.2: {} 1657 | 1658 | yauzl@2.10.0: 1659 | dependencies: 1660 | buffer-crc32: 0.2.13 1661 | fd-slicer: 1.1.0 1662 | 1663 | yoctocolors@2.0.0: {} 1664 | -------------------------------------------------------------------------------- /src/index.mjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import { program } from "commander"; 3 | 4 | import { sync } from "./utils/commands/sync.mjs"; 5 | import { init, initAction } from "./utils/commands/init.mjs"; 6 | 7 | import { getPackageInfo } from "./utils/data/package-info.mjs"; 8 | const { version } = getPackageInfo() 9 | 10 | const cmds = { 11 | init, 12 | sync 13 | } 14 | 15 | const isArgumentACommand = !!cmds[process.argv[2]] 16 | const isContainsHelp = process.argv.includes(a => a === "--help") 17 | 18 | program 19 | .version( 20 | version, 21 | "-v, --version", 22 | "Display the version number" 23 | ) 24 | .argument("[command]") 25 | .argument("[project-name]") 26 | 27 | if (isArgumentACommand || isContainsHelp) { 28 | Object.values(cmds).forEach(cmd => { 29 | program.addCommand(cmd) 30 | }) 31 | } 32 | else { 33 | program 34 | .option("-t, --template