├── .github └── FUNDING.yml ├── .gitignore ├── db.json ├── vercel.json ├── package.json ├── api └── server.js ├── LICENSE ├── README.md └── pnpm-lock.yaml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: kitloong 2 | buy_me_a_coffee: kitloong -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependency directories 2 | node_modules/ 3 | 4 | .idea 5 | -------------------------------------------------------------------------------- /db.json: -------------------------------------------------------------------------------- 1 | { 2 | "posts": [ 3 | { "id": 1, "title": "json-server", "author": "typicode" } 4 | ], 5 | "comments": [ 6 | { "id": 1, "body": "some comment", "postId": 1 } 7 | ], 8 | "profile": { "name": "typicode" } 9 | } 10 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "functions": { 3 | "api/server.js": { 4 | "memory": 1024, 5 | "includeFiles": "db.json" 6 | } 7 | }, 8 | "rewrites": [ 9 | { 10 | "source": "/(.*)", 11 | "destination": "api/server.js" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "json-server-vercel", 3 | "version": "1.0.0", 4 | "description": "Deploy JSON Server to Vercel", 5 | "main": "api/server.js", 6 | "scripts": { 7 | "start": "node api/server.js" 8 | }, 9 | "dependencies": { 10 | "json-server": "^0.17.4" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /api/server.js: -------------------------------------------------------------------------------- 1 | // See https://github.com/typicode/json-server#module 2 | const jsonServer = require('json-server') 3 | 4 | const server = jsonServer.create() 5 | 6 | // Uncomment to allow write operations 7 | // const fs = require('fs') 8 | // const path = require('path') 9 | // const filePath = path.join('db.json') 10 | // const data = fs.readFileSync(filePath, "utf-8"); 11 | // const db = JSON.parse(data); 12 | // const router = jsonServer.router(db) 13 | 14 | // Comment out to allow write operations 15 | const router = jsonServer.router('db.json') 16 | 17 | const middlewares = jsonServer.defaults() 18 | 19 | server.use(middlewares) 20 | // Add this before server.use(router) 21 | server.use(jsonServer.rewriter({ 22 | '/api/*': '/$1', 23 | '/blog/:resource/:id/show': '/:resource/:id' 24 | })) 25 | server.use(router) 26 | server.listen(3000, () => { 27 | console.log('JSON Server is running') 28 | }) 29 | 30 | // Export the Server API 31 | module.exports = server 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Kit Loong 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Deploy JSON Server to Vercel 2 | 3 | A template to deploy [JSON Server](https://github.com/typicode/json-server) to [Vercel](https://vercel.com), allow you to run fake REST API online! 4 | 5 | Demo from this repository: 6 | 7 | 1. https://json-server-in.vercel.app 8 | 2. https://json-server-in.vercel.app/api/posts 9 | 10 | ![Powered by Vercel](https://images.ctfassets.net/e5382hct74si/78Olo8EZRdUlcDUFQvnzG7/fa4cdb6dc04c40fceac194134788a0e2/1618983297-powered-by-vercel.svg) 11 | 12 | ### How to use 13 | 14 | 1. Click "**Use this template**" or clone this repository. 15 | 2. Update or use the default [`db.json`](./db.json) in the repository. 16 | 3. Sign Up or login into [Vercel](https://vercel.com). 17 | 4. From the Vercel dashboard, click "**+ New Project**" then "**Import**" your repository. 18 | 5. In the "**Configure Project**" screen, leave everything default and click "**Deploy**". 19 | 6. Wait until deployment is done, and your own JSON server is ready to serve! 20 | 21 | ## Default `db.json` 22 | 23 | ```json 24 | { 25 | "posts": [ 26 | { "id": 1, "title": "json-server", "author": "typicode" } 27 | ], 28 | "comments": [ 29 | { "id": 1, "body": "some comment", "postId": 1 } 30 | ], 31 | "profile": { "name": "typicode" } 32 | } 33 | ``` 34 | 35 | ## Enable write operations 36 | 37 | By default, only GET operation is allowed, thanks to the contribution by [@VicAv99](https://www.github.com/VicAv99) at [#6](https://github.com/kitloong/json-server-vercel/issues/6), we can now enable write operations as well. 38 | 39 | You can find the example code in [`api/server.js`](./api/server.js). 40 | 41 | ## Reference 42 | 43 | 1. https://github.com/typicode/json-server 44 | 2. https://vercel.com 45 | 3. https://shadowsmith.com/how-to-deploy-an-express-api-to-vercel 46 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.1' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | json-server: 9 | specifier: ^0.17.4 10 | version: 0.17.4 11 | 12 | packages: 13 | 14 | /accepts@1.3.8: 15 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 16 | engines: {node: '>= 0.6'} 17 | dependencies: 18 | mime-types: 2.1.35 19 | negotiator: 0.6.3 20 | dev: false 21 | 22 | /ansi-regex@5.0.1: 23 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 24 | engines: {node: '>=8'} 25 | dev: false 26 | 27 | /ansi-styles@4.3.0: 28 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 29 | engines: {node: '>=8'} 30 | dependencies: 31 | color-convert: 2.0.1 32 | dev: false 33 | 34 | /array-flatten@1.1.1: 35 | resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 36 | dev: false 37 | 38 | /basic-auth@2.0.1: 39 | resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} 40 | engines: {node: '>= 0.8'} 41 | dependencies: 42 | safe-buffer: 5.1.2 43 | dev: false 44 | 45 | /body-parser@1.20.1: 46 | resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} 47 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 48 | dependencies: 49 | bytes: 3.1.2 50 | content-type: 1.0.5 51 | debug: 2.6.9 52 | depd: 2.0.0 53 | destroy: 1.2.0 54 | http-errors: 2.0.0 55 | iconv-lite: 0.4.24 56 | on-finished: 2.4.1 57 | qs: 6.11.0 58 | raw-body: 2.5.1 59 | type-is: 1.6.18 60 | unpipe: 1.0.0 61 | transitivePeerDependencies: 62 | - supports-color 63 | dev: false 64 | 65 | /body-parser@1.20.2: 66 | resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} 67 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 68 | dependencies: 69 | bytes: 3.1.2 70 | content-type: 1.0.5 71 | debug: 2.6.9 72 | depd: 2.0.0 73 | destroy: 1.2.0 74 | http-errors: 2.0.0 75 | iconv-lite: 0.4.24 76 | on-finished: 2.4.1 77 | qs: 6.11.0 78 | raw-body: 2.5.2 79 | type-is: 1.6.18 80 | unpipe: 1.0.0 81 | transitivePeerDependencies: 82 | - supports-color 83 | dev: false 84 | 85 | /bytes@3.0.0: 86 | resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} 87 | engines: {node: '>= 0.8'} 88 | dev: false 89 | 90 | /bytes@3.1.2: 91 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 92 | engines: {node: '>= 0.8'} 93 | dev: false 94 | 95 | /call-bind@1.0.2: 96 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 97 | dependencies: 98 | function-bind: 1.1.1 99 | get-intrinsic: 1.2.1 100 | dev: false 101 | 102 | /chalk@4.1.2: 103 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 104 | engines: {node: '>=10'} 105 | dependencies: 106 | ansi-styles: 4.3.0 107 | supports-color: 7.2.0 108 | dev: false 109 | 110 | /cliui@8.0.1: 111 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 112 | engines: {node: '>=12'} 113 | dependencies: 114 | string-width: 4.2.3 115 | strip-ansi: 6.0.1 116 | wrap-ansi: 7.0.0 117 | dev: false 118 | 119 | /color-convert@2.0.1: 120 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 121 | engines: {node: '>=7.0.0'} 122 | dependencies: 123 | color-name: 1.1.4 124 | dev: false 125 | 126 | /color-name@1.1.4: 127 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 128 | dev: false 129 | 130 | /compressible@2.0.18: 131 | resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} 132 | engines: {node: '>= 0.6'} 133 | dependencies: 134 | mime-db: 1.52.0 135 | dev: false 136 | 137 | /compression@1.7.4: 138 | resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} 139 | engines: {node: '>= 0.8.0'} 140 | dependencies: 141 | accepts: 1.3.8 142 | bytes: 3.0.0 143 | compressible: 2.0.18 144 | debug: 2.6.9 145 | on-headers: 1.0.2 146 | safe-buffer: 5.1.2 147 | vary: 1.1.2 148 | transitivePeerDependencies: 149 | - supports-color 150 | dev: false 151 | 152 | /connect-pause@0.1.1: 153 | resolution: {integrity: sha512-a1gSWQBQD73krFXdUEYJom2RTFrWUL3YvXDCRkyv//GVXc79cdW9MngtRuN9ih4FDKBtfJAJId+BbDuX+1rh2w==} 154 | dev: false 155 | 156 | /content-disposition@0.5.4: 157 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 158 | engines: {node: '>= 0.6'} 159 | dependencies: 160 | safe-buffer: 5.2.1 161 | dev: false 162 | 163 | /content-type@1.0.5: 164 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 165 | engines: {node: '>= 0.6'} 166 | dev: false 167 | 168 | /cookie-signature@1.0.6: 169 | resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 170 | dev: false 171 | 172 | /cookie@0.5.0: 173 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} 174 | engines: {node: '>= 0.6'} 175 | dev: false 176 | 177 | /cors@2.8.5: 178 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} 179 | engines: {node: '>= 0.10'} 180 | dependencies: 181 | object-assign: 4.1.1 182 | vary: 1.1.2 183 | dev: false 184 | 185 | /debug@2.6.9: 186 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 187 | peerDependencies: 188 | supports-color: '*' 189 | peerDependenciesMeta: 190 | supports-color: 191 | optional: true 192 | dependencies: 193 | ms: 2.0.0 194 | dev: false 195 | 196 | /debug@3.1.0: 197 | resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} 198 | peerDependencies: 199 | supports-color: '*' 200 | peerDependenciesMeta: 201 | supports-color: 202 | optional: true 203 | dependencies: 204 | ms: 2.0.0 205 | dev: false 206 | 207 | /debug@4.3.4: 208 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 209 | engines: {node: '>=6.0'} 210 | peerDependencies: 211 | supports-color: '*' 212 | peerDependenciesMeta: 213 | supports-color: 214 | optional: true 215 | dependencies: 216 | ms: 2.1.2 217 | dev: false 218 | 219 | /depd@2.0.0: 220 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 221 | engines: {node: '>= 0.8'} 222 | dev: false 223 | 224 | /destroy@1.2.0: 225 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 226 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 227 | dev: false 228 | 229 | /ee-first@1.1.1: 230 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 231 | dev: false 232 | 233 | /emoji-regex@8.0.0: 234 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 235 | dev: false 236 | 237 | /encodeurl@1.0.2: 238 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 239 | engines: {node: '>= 0.8'} 240 | dev: false 241 | 242 | /errorhandler@1.5.1: 243 | resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} 244 | engines: {node: '>= 0.8'} 245 | dependencies: 246 | accepts: 1.3.8 247 | escape-html: 1.0.3 248 | dev: false 249 | 250 | /escalade@3.1.1: 251 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 252 | engines: {node: '>=6'} 253 | dev: false 254 | 255 | /escape-html@1.0.3: 256 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 257 | dev: false 258 | 259 | /etag@1.8.1: 260 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 261 | engines: {node: '>= 0.6'} 262 | dev: false 263 | 264 | /express-urlrewrite@1.4.0: 265 | resolution: {integrity: sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==} 266 | dependencies: 267 | debug: 4.3.4 268 | path-to-regexp: 1.8.0 269 | transitivePeerDependencies: 270 | - supports-color 271 | dev: false 272 | 273 | /express@4.18.2: 274 | resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} 275 | engines: {node: '>= 0.10.0'} 276 | dependencies: 277 | accepts: 1.3.8 278 | array-flatten: 1.1.1 279 | body-parser: 1.20.1 280 | content-disposition: 0.5.4 281 | content-type: 1.0.5 282 | cookie: 0.5.0 283 | cookie-signature: 1.0.6 284 | debug: 2.6.9 285 | depd: 2.0.0 286 | encodeurl: 1.0.2 287 | escape-html: 1.0.3 288 | etag: 1.8.1 289 | finalhandler: 1.2.0 290 | fresh: 0.5.2 291 | http-errors: 2.0.0 292 | merge-descriptors: 1.0.1 293 | methods: 1.1.2 294 | on-finished: 2.4.1 295 | parseurl: 1.3.3 296 | path-to-regexp: 0.1.7 297 | proxy-addr: 2.0.7 298 | qs: 6.11.0 299 | range-parser: 1.2.1 300 | safe-buffer: 5.2.1 301 | send: 0.18.0 302 | serve-static: 1.15.0 303 | setprototypeof: 1.2.0 304 | statuses: 2.0.1 305 | type-is: 1.6.18 306 | utils-merge: 1.0.1 307 | vary: 1.1.2 308 | transitivePeerDependencies: 309 | - supports-color 310 | dev: false 311 | 312 | /finalhandler@1.2.0: 313 | resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} 314 | engines: {node: '>= 0.8'} 315 | dependencies: 316 | debug: 2.6.9 317 | encodeurl: 1.0.2 318 | escape-html: 1.0.3 319 | on-finished: 2.4.1 320 | parseurl: 1.3.3 321 | statuses: 2.0.1 322 | unpipe: 1.0.0 323 | transitivePeerDependencies: 324 | - supports-color 325 | dev: false 326 | 327 | /forwarded@0.2.0: 328 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 329 | engines: {node: '>= 0.6'} 330 | dev: false 331 | 332 | /fresh@0.5.2: 333 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 334 | engines: {node: '>= 0.6'} 335 | dev: false 336 | 337 | /function-bind@1.1.1: 338 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 339 | dev: false 340 | 341 | /get-caller-file@2.0.5: 342 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 343 | engines: {node: 6.* || 8.* || >= 10.*} 344 | dev: false 345 | 346 | /get-intrinsic@1.2.1: 347 | resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} 348 | dependencies: 349 | function-bind: 1.1.1 350 | has: 1.0.4 351 | has-proto: 1.0.1 352 | has-symbols: 1.0.3 353 | dev: false 354 | 355 | /graceful-fs@4.2.11: 356 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 357 | dev: false 358 | 359 | /has-flag@4.0.0: 360 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 361 | engines: {node: '>=8'} 362 | dev: false 363 | 364 | /has-proto@1.0.1: 365 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 366 | engines: {node: '>= 0.4'} 367 | dev: false 368 | 369 | /has-symbols@1.0.3: 370 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 371 | engines: {node: '>= 0.4'} 372 | dev: false 373 | 374 | /has@1.0.4: 375 | resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} 376 | engines: {node: '>= 0.4.0'} 377 | dev: false 378 | 379 | /http-errors@2.0.0: 380 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 381 | engines: {node: '>= 0.8'} 382 | dependencies: 383 | depd: 2.0.0 384 | inherits: 2.0.4 385 | setprototypeof: 1.2.0 386 | statuses: 2.0.1 387 | toidentifier: 1.0.1 388 | dev: false 389 | 390 | /iconv-lite@0.4.24: 391 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 392 | engines: {node: '>=0.10.0'} 393 | dependencies: 394 | safer-buffer: 2.1.2 395 | dev: false 396 | 397 | /inherits@2.0.4: 398 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 399 | dev: false 400 | 401 | /ipaddr.js@1.9.1: 402 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 403 | engines: {node: '>= 0.10'} 404 | dev: false 405 | 406 | /is-fullwidth-code-point@3.0.0: 407 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 408 | engines: {node: '>=8'} 409 | dev: false 410 | 411 | /is-promise@2.2.2: 412 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} 413 | dev: false 414 | 415 | /isarray@0.0.1: 416 | resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} 417 | dev: false 418 | 419 | /jju@1.4.0: 420 | resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} 421 | dev: false 422 | 423 | /json-parse-helpfulerror@1.0.3: 424 | resolution: {integrity: sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==} 425 | dependencies: 426 | jju: 1.4.0 427 | dev: false 428 | 429 | /json-server@0.17.4: 430 | resolution: {integrity: sha512-bGBb0WtFuAKbgI7JV3A864irWnMZSvBYRJbohaOuatHwKSRFUfqtQlrYMrB6WbalXy/cJabyjlb7JkHli6dYjQ==} 431 | engines: {node: '>=12'} 432 | hasBin: true 433 | dependencies: 434 | body-parser: 1.20.2 435 | chalk: 4.1.2 436 | compression: 1.7.4 437 | connect-pause: 0.1.1 438 | cors: 2.8.5 439 | errorhandler: 1.5.1 440 | express: 4.18.2 441 | express-urlrewrite: 1.4.0 442 | json-parse-helpfulerror: 1.0.3 443 | lodash: 4.17.21 444 | lodash-id: 0.14.1 445 | lowdb: 1.0.0 446 | method-override: 3.0.0 447 | morgan: 1.10.0 448 | nanoid: 3.3.6 449 | please-upgrade-node: 3.2.0 450 | pluralize: 8.0.0 451 | server-destroy: 1.0.1 452 | yargs: 17.7.2 453 | transitivePeerDependencies: 454 | - supports-color 455 | dev: false 456 | 457 | /lodash-id@0.14.1: 458 | resolution: {integrity: sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==} 459 | engines: {node: '>= 4'} 460 | dev: false 461 | 462 | /lodash@4.17.21: 463 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 464 | dev: false 465 | 466 | /lowdb@1.0.0: 467 | resolution: {integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==} 468 | engines: {node: '>=4'} 469 | dependencies: 470 | graceful-fs: 4.2.11 471 | is-promise: 2.2.2 472 | lodash: 4.17.21 473 | pify: 3.0.0 474 | steno: 0.4.4 475 | dev: false 476 | 477 | /media-typer@0.3.0: 478 | resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 479 | engines: {node: '>= 0.6'} 480 | dev: false 481 | 482 | /merge-descriptors@1.0.1: 483 | resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} 484 | dev: false 485 | 486 | /method-override@3.0.0: 487 | resolution: {integrity: sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==} 488 | engines: {node: '>= 0.10'} 489 | dependencies: 490 | debug: 3.1.0 491 | methods: 1.1.2 492 | parseurl: 1.3.3 493 | vary: 1.1.2 494 | transitivePeerDependencies: 495 | - supports-color 496 | dev: false 497 | 498 | /methods@1.1.2: 499 | resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 500 | engines: {node: '>= 0.6'} 501 | dev: false 502 | 503 | /mime-db@1.52.0: 504 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 505 | engines: {node: '>= 0.6'} 506 | dev: false 507 | 508 | /mime-types@2.1.35: 509 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 510 | engines: {node: '>= 0.6'} 511 | dependencies: 512 | mime-db: 1.52.0 513 | dev: false 514 | 515 | /mime@1.6.0: 516 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 517 | engines: {node: '>=4'} 518 | hasBin: true 519 | dev: false 520 | 521 | /morgan@1.10.0: 522 | resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} 523 | engines: {node: '>= 0.8.0'} 524 | dependencies: 525 | basic-auth: 2.0.1 526 | debug: 2.6.9 527 | depd: 2.0.0 528 | on-finished: 2.3.0 529 | on-headers: 1.0.2 530 | transitivePeerDependencies: 531 | - supports-color 532 | dev: false 533 | 534 | /ms@2.0.0: 535 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 536 | dev: false 537 | 538 | /ms@2.1.2: 539 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 540 | dev: false 541 | 542 | /ms@2.1.3: 543 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 544 | dev: false 545 | 546 | /nanoid@3.3.6: 547 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 548 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 549 | hasBin: true 550 | dev: false 551 | 552 | /negotiator@0.6.3: 553 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 554 | engines: {node: '>= 0.6'} 555 | dev: false 556 | 557 | /object-assign@4.1.1: 558 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 559 | engines: {node: '>=0.10.0'} 560 | dev: false 561 | 562 | /object-inspect@1.12.3: 563 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 564 | dev: false 565 | 566 | /on-finished@2.3.0: 567 | resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} 568 | engines: {node: '>= 0.8'} 569 | dependencies: 570 | ee-first: 1.1.1 571 | dev: false 572 | 573 | /on-finished@2.4.1: 574 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 575 | engines: {node: '>= 0.8'} 576 | dependencies: 577 | ee-first: 1.1.1 578 | dev: false 579 | 580 | /on-headers@1.0.2: 581 | resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} 582 | engines: {node: '>= 0.8'} 583 | dev: false 584 | 585 | /parseurl@1.3.3: 586 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 587 | engines: {node: '>= 0.8'} 588 | dev: false 589 | 590 | /path-to-regexp@0.1.7: 591 | resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} 592 | dev: false 593 | 594 | /path-to-regexp@1.8.0: 595 | resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} 596 | dependencies: 597 | isarray: 0.0.1 598 | dev: false 599 | 600 | /pify@3.0.0: 601 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 602 | engines: {node: '>=4'} 603 | dev: false 604 | 605 | /please-upgrade-node@3.2.0: 606 | resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} 607 | dependencies: 608 | semver-compare: 1.0.0 609 | dev: false 610 | 611 | /pluralize@8.0.0: 612 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 613 | engines: {node: '>=4'} 614 | dev: false 615 | 616 | /proxy-addr@2.0.7: 617 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 618 | engines: {node: '>= 0.10'} 619 | dependencies: 620 | forwarded: 0.2.0 621 | ipaddr.js: 1.9.1 622 | dev: false 623 | 624 | /qs@6.11.0: 625 | resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} 626 | engines: {node: '>=0.6'} 627 | dependencies: 628 | side-channel: 1.0.4 629 | dev: false 630 | 631 | /range-parser@1.2.1: 632 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 633 | engines: {node: '>= 0.6'} 634 | dev: false 635 | 636 | /raw-body@2.5.1: 637 | resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} 638 | engines: {node: '>= 0.8'} 639 | dependencies: 640 | bytes: 3.1.2 641 | http-errors: 2.0.0 642 | iconv-lite: 0.4.24 643 | unpipe: 1.0.0 644 | dev: false 645 | 646 | /raw-body@2.5.2: 647 | resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} 648 | engines: {node: '>= 0.8'} 649 | dependencies: 650 | bytes: 3.1.2 651 | http-errors: 2.0.0 652 | iconv-lite: 0.4.24 653 | unpipe: 1.0.0 654 | dev: false 655 | 656 | /require-directory@2.1.1: 657 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 658 | engines: {node: '>=0.10.0'} 659 | dev: false 660 | 661 | /safe-buffer@5.1.2: 662 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 663 | dev: false 664 | 665 | /safe-buffer@5.2.1: 666 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 667 | dev: false 668 | 669 | /safer-buffer@2.1.2: 670 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 671 | dev: false 672 | 673 | /semver-compare@1.0.0: 674 | resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} 675 | dev: false 676 | 677 | /send@0.18.0: 678 | resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} 679 | engines: {node: '>= 0.8.0'} 680 | dependencies: 681 | debug: 2.6.9 682 | depd: 2.0.0 683 | destroy: 1.2.0 684 | encodeurl: 1.0.2 685 | escape-html: 1.0.3 686 | etag: 1.8.1 687 | fresh: 0.5.2 688 | http-errors: 2.0.0 689 | mime: 1.6.0 690 | ms: 2.1.3 691 | on-finished: 2.4.1 692 | range-parser: 1.2.1 693 | statuses: 2.0.1 694 | transitivePeerDependencies: 695 | - supports-color 696 | dev: false 697 | 698 | /serve-static@1.15.0: 699 | resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} 700 | engines: {node: '>= 0.8.0'} 701 | dependencies: 702 | encodeurl: 1.0.2 703 | escape-html: 1.0.3 704 | parseurl: 1.3.3 705 | send: 0.18.0 706 | transitivePeerDependencies: 707 | - supports-color 708 | dev: false 709 | 710 | /server-destroy@1.0.1: 711 | resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} 712 | dev: false 713 | 714 | /setprototypeof@1.2.0: 715 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 716 | dev: false 717 | 718 | /side-channel@1.0.4: 719 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 720 | dependencies: 721 | call-bind: 1.0.2 722 | get-intrinsic: 1.2.1 723 | object-inspect: 1.12.3 724 | dev: false 725 | 726 | /statuses@2.0.1: 727 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 728 | engines: {node: '>= 0.8'} 729 | dev: false 730 | 731 | /steno@0.4.4: 732 | resolution: {integrity: sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==} 733 | dependencies: 734 | graceful-fs: 4.2.11 735 | dev: false 736 | 737 | /string-width@4.2.3: 738 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 739 | engines: {node: '>=8'} 740 | dependencies: 741 | emoji-regex: 8.0.0 742 | is-fullwidth-code-point: 3.0.0 743 | strip-ansi: 6.0.1 744 | dev: false 745 | 746 | /strip-ansi@6.0.1: 747 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 748 | engines: {node: '>=8'} 749 | dependencies: 750 | ansi-regex: 5.0.1 751 | dev: false 752 | 753 | /supports-color@7.2.0: 754 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 755 | engines: {node: '>=8'} 756 | dependencies: 757 | has-flag: 4.0.0 758 | dev: false 759 | 760 | /toidentifier@1.0.1: 761 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 762 | engines: {node: '>=0.6'} 763 | dev: false 764 | 765 | /type-is@1.6.18: 766 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 767 | engines: {node: '>= 0.6'} 768 | dependencies: 769 | media-typer: 0.3.0 770 | mime-types: 2.1.35 771 | dev: false 772 | 773 | /unpipe@1.0.0: 774 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 775 | engines: {node: '>= 0.8'} 776 | dev: false 777 | 778 | /utils-merge@1.0.1: 779 | resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 780 | engines: {node: '>= 0.4.0'} 781 | dev: false 782 | 783 | /vary@1.1.2: 784 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 785 | engines: {node: '>= 0.8'} 786 | dev: false 787 | 788 | /wrap-ansi@7.0.0: 789 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 790 | engines: {node: '>=10'} 791 | dependencies: 792 | ansi-styles: 4.3.0 793 | string-width: 4.2.3 794 | strip-ansi: 6.0.1 795 | dev: false 796 | 797 | /y18n@5.0.8: 798 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 799 | engines: {node: '>=10'} 800 | dev: false 801 | 802 | /yargs-parser@21.1.1: 803 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 804 | engines: {node: '>=12'} 805 | dev: false 806 | 807 | /yargs@17.7.2: 808 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 809 | engines: {node: '>=12'} 810 | dependencies: 811 | cliui: 8.0.1 812 | escalade: 3.1.1 813 | get-caller-file: 2.0.5 814 | require-directory: 2.1.1 815 | string-width: 4.2.3 816 | y18n: 5.0.8 817 | yargs-parser: 21.1.1 818 | dev: false 819 | --------------------------------------------------------------------------------