├── commiter.yml ├── package.json ├── README.md ├── index.js ├── .gitignore └── yarn.lock /commiter.yml: -------------------------------------------------------------------------------- 1 | convention: symphony 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-http2-serve", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "dependencies": { 10 | "fastify": "^3.29.4", 11 | "fastify-auto-push": "^0.4.0", 12 | "fastify-http2https": "^0.0.3", 13 | "fastify-static": "^4.5.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge&logo=node.js&logoColor=white) 2 | ![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E) 3 | ![Yarn](https://img.shields.io/badge/yarn-%232C8EBB.svg?style=for-the-badge&logo=yarn&logoColor=white) 4 | ![MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge&logoColor=white) 5 | 6 | ## Node.Js HTTP2 server using fastify 7 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const fastify = require('fastify'); 2 | const fastifyAutoPush = require('fastify-auto-push'); 3 | const fs = require('fs'); 4 | const path = require('path'); 5 | 6 | const STATIC_DIR = process.argv[2] || process.cwd(); 7 | const CERTS_DIR = 'E:/projects/personal/nginx-server/ssl'; 8 | const PORT = 8124; 9 | 10 | const [key, cert] = [ 11 | fs.readFileSync(path.join(CERTS_DIR, 'privkey.pem')), 12 | fs.readFileSync(path.join(CERTS_DIR, 'fullchain.pem')), 13 | ]; 14 | 15 | const app = fastify({ 16 | https: { 17 | key, 18 | cert, 19 | }, 20 | http2: true, 21 | logger: false, 22 | serverFactory: require('fastify-http2https')(), 23 | }); 24 | 25 | app.register(fastifyAutoPush.staticServe, { 26 | root: path.resolve(STATIC_DIR), 27 | }); 28 | 29 | app.listen(PORT, (err, address) => { 30 | if (err) throw err; 31 | console.log(`Serving ${STATIC_DIR} on port ${PORT}`); 32 | }); 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.toptal.com/developers/gitignore/api/node 3 | # Edit at https://www.toptal.com/developers/gitignore?templates=node 4 | 5 | ### Node ### 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | lerna-debug.log* 13 | 14 | # Diagnostic reports (https://nodejs.org/api/report.html) 15 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 16 | 17 | # Runtime data 18 | pids 19 | *.pid 20 | *.seed 21 | *.pid.lock 22 | 23 | # Directory for instrumented libs generated by jscoverage/JSCover 24 | lib-cov 25 | 26 | # Coverage directory used by tools like istanbul 27 | coverage 28 | *.lcov 29 | 30 | # nyc test coverage 31 | .nyc_output 32 | 33 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 34 | .grunt 35 | 36 | # Bower dependency directory (https://bower.io/) 37 | bower_components 38 | 39 | # node-waf configuration 40 | .lock-wscript 41 | 42 | # Compiled binary addons (https://nodejs.org/api/addons.html) 43 | build/Release 44 | 45 | # Dependency directories 46 | node_modules/ 47 | jspm_packages/ 48 | 49 | # TypeScript v1 declaration files 50 | typings/ 51 | 52 | # TypeScript cache 53 | *.tsbuildinfo 54 | 55 | # Optional npm cache directory 56 | .npm 57 | 58 | # Optional eslint cache 59 | .eslintcache 60 | 61 | # Microbundle cache 62 | .rpt2_cache/ 63 | .rts2_cache_cjs/ 64 | .rts2_cache_es/ 65 | .rts2_cache_umd/ 66 | 67 | # Optional REPL history 68 | .node_repl_history 69 | 70 | # Output of 'npm pack' 71 | *.tgz 72 | 73 | # Yarn Integrity file 74 | .yarn-integrity 75 | 76 | # dotenv environment variables file 77 | .env 78 | .env.test 79 | 80 | # parcel-bundler cache (https://parceljs.org/) 81 | .cache 82 | 83 | # Next.js build output 84 | .next 85 | 86 | # Nuxt.js build / generate output 87 | .nuxt 88 | dist 89 | 90 | # Gatsby files 91 | .cache/ 92 | # Comment in the public line in if your project uses Gatsby and not Next.js 93 | # https://nextjs.org/blog/next-9-1#public-directory-support 94 | # public 95 | 96 | # vuepress build output 97 | .vuepress/dist 98 | 99 | # Serverless directories 100 | .serverless/ 101 | 102 | # FuseBox cache 103 | .fusebox/ 104 | 105 | # DynamoDB Local files 106 | .dynamodb/ 107 | 108 | # TernJS port file 109 | .tern-port 110 | 111 | # Stores VSCode versions used for testing VSCode extensions 112 | .vscode-test 113 | 114 | # End of https://www.toptal.com/developers/gitignore/api/node 115 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@fastify/ajv-compiler@^1.0.0": 6 | version "1.1.0" 7 | resolved "https://registry.yarnpkg.com/@fastify/ajv-compiler/-/ajv-compiler-1.1.0.tgz#5ce80b1fc8bebffc8c5ba428d5e392d0f9ed10a1" 8 | integrity sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg== 9 | dependencies: 10 | ajv "^6.12.6" 11 | 12 | "@fastify/error@^2.0.0": 13 | version "2.0.0" 14 | resolved "https://registry.yarnpkg.com/@fastify/error/-/error-2.0.0.tgz#a9f94af56eb934f0ab1ce4ef9f0ced6ebf2319dc" 15 | integrity sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w== 16 | 17 | abstract-logging@^2.0.0: 18 | version "2.0.1" 19 | resolved "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz#6b0c371df212db7129b57d2e7fcf282b8bf1c839" 20 | integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA== 21 | 22 | ajv@^6.11.0, ajv@^6.12.6: 23 | version "6.12.6" 24 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 25 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 26 | dependencies: 27 | fast-deep-equal "^3.1.1" 28 | fast-json-stable-stringify "^2.0.0" 29 | json-schema-traverse "^0.4.1" 30 | uri-js "^4.2.2" 31 | 32 | ajv@^8.1.0: 33 | version "8.9.0" 34 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" 35 | integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== 36 | dependencies: 37 | fast-deep-equal "^3.1.1" 38 | json-schema-traverse "^1.0.0" 39 | require-from-string "^2.0.2" 40 | uri-js "^4.2.2" 41 | 42 | archy@^1.0.0: 43 | version "1.0.0" 44 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 45 | integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= 46 | 47 | atomic-sleep@^1.0.0: 48 | version "1.0.0" 49 | resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" 50 | integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== 51 | 52 | avvio@^7.1.2: 53 | version "7.2.2" 54 | resolved "https://registry.yarnpkg.com/avvio/-/avvio-7.2.2.tgz#58e00e7968870026cd7b7d4f689d596db629e251" 55 | integrity sha512-XW2CMCmZaCmCCsIaJaLKxAzPwF37fXi1KGxNOvedOpeisLdmxZnblGc3hpHWYnlP+KOUxZsazh43WXNHgXpbqw== 56 | dependencies: 57 | archy "^1.0.0" 58 | debug "^4.0.0" 59 | fastq "^1.6.1" 60 | queue-microtask "^1.1.2" 61 | 62 | balanced-match@^1.0.0: 63 | version "1.0.2" 64 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 65 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 66 | 67 | bloomfilter@^0.0.18: 68 | version "0.0.18" 69 | resolved "https://registry.yarnpkg.com/bloomfilter/-/bloomfilter-0.0.18.tgz#6d55d34f0a214b235287b4eac9203ac623413dab" 70 | integrity sha512-CbnyHE78gY1tpXS/Ap+B0RJxKdRWCDzjBnX97UJSG8rdLv1PK8GiTWc/CCQyWu6PWVD4lUceeFrqC6Mf3nMgOA== 71 | 72 | brace-expansion@^1.1.7: 73 | version "1.1.11" 74 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 75 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 76 | dependencies: 77 | balanced-match "^1.0.0" 78 | concat-map "0.0.1" 79 | 80 | concat-map@0.0.1: 81 | version "0.0.1" 82 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 83 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 84 | 85 | content-disposition@^0.5.3: 86 | version "0.5.4" 87 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 88 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 89 | dependencies: 90 | safe-buffer "5.2.1" 91 | 92 | content-type@^1.0.4: 93 | version "1.0.4" 94 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 95 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 96 | 97 | cookie@^0.3.1: 98 | version "0.3.1" 99 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 100 | integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= 101 | 102 | cookie@^0.4.0: 103 | version "0.4.1" 104 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" 105 | integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== 106 | 107 | core-util-is@~1.0.0: 108 | version "1.0.3" 109 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 110 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 111 | 112 | debug@2.6.9: 113 | version "2.6.9" 114 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 115 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 116 | dependencies: 117 | ms "2.0.0" 118 | 119 | debug@^4.0.0: 120 | version "4.3.3" 121 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" 122 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== 123 | dependencies: 124 | ms "2.1.2" 125 | 126 | deepmerge@^4.2.2: 127 | version "4.2.2" 128 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 129 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 130 | 131 | depd@~1.1.2: 132 | version "1.1.2" 133 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 134 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 135 | 136 | destroy@~1.0.4: 137 | version "1.0.4" 138 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 139 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 140 | 141 | ee-first@1.1.1: 142 | version "1.1.1" 143 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 144 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 145 | 146 | encodeurl@~1.0.2: 147 | version "1.0.2" 148 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 149 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 150 | 151 | encoding-negotiator@^2.0.1: 152 | version "2.0.1" 153 | resolved "https://registry.yarnpkg.com/encoding-negotiator/-/encoding-negotiator-2.0.1.tgz#79871bb5473b81f6a0670e8de5303fb5ee0868a3" 154 | integrity sha512-GSK7qphNR4iPcejfAlZxKDoz3xMhnspwImK+Af5WhePS9jUpK/Oh7rUdyENWu+9rgDflOCTmAojBsgsvM8neAQ== 155 | 156 | escape-html@~1.0.3: 157 | version "1.0.3" 158 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 159 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 160 | 161 | etag@~1.8.1: 162 | version "1.8.1" 163 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 164 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 165 | 166 | fast-decode-uri-component@^1.0.1: 167 | version "1.0.1" 168 | resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" 169 | integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== 170 | 171 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 172 | version "3.1.3" 173 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 174 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 175 | 176 | fast-json-stable-stringify@^2.0.0: 177 | version "2.1.0" 178 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 179 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 180 | 181 | fast-json-stringify@^2.5.2: 182 | version "2.7.13" 183 | resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz#277aa86c2acba4d9851bd6108ed657aa327ed8c0" 184 | integrity sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA== 185 | dependencies: 186 | ajv "^6.11.0" 187 | deepmerge "^4.2.2" 188 | rfdc "^1.2.0" 189 | string-similarity "^4.0.1" 190 | 191 | fast-redact@^3.0.0: 192 | version "3.1.0" 193 | resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.0.tgz#37c26cda9cab70bc04393f7ba1feb2d176da6c6b" 194 | integrity sha512-dir8LOnvialLxiXDPESMDHGp82CHi6ZEYTVkcvdn5d7psdv9ZkkButXrOeXST4aqreIRR+N7CYlsrwFuorurVg== 195 | 196 | fast-safe-stringify@^2.0.8: 197 | version "2.1.1" 198 | resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" 199 | integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== 200 | 201 | fastify-auto-push@^0.4.0: 202 | version "0.4.0" 203 | resolved "https://registry.yarnpkg.com/fastify-auto-push/-/fastify-auto-push-0.4.0.tgz#68aa565090efd2d362bbfecb456281fe3a0d98b2" 204 | integrity sha512-UMOkqy0O2DYgX84vH0A0luLXTxmAkjySToohalVLOfVT/5pmRkavPB06+TDmZN+1v0k0DVV+hWSmZlP/qR/kJA== 205 | dependencies: 206 | cookie "^0.3.1" 207 | fastify-plugin "^1.0.0" 208 | fastify-static "^0.10.1" 209 | h2-auto-push "^0.4.0" 210 | 211 | fastify-http2https@^0.0.3: 212 | version "0.0.3" 213 | resolved "https://registry.yarnpkg.com/fastify-http2https/-/fastify-http2https-0.0.3.tgz#2cd0962a84da74bf4daac1a8d35b4ae84da1b614" 214 | integrity sha512-bLmV8qtROJLM9HaCQLFkV0PjWy4GmhtgYPMkUqmL+0IkOrUP/aoyme5d0bkHMEdxAbVxOERTjfmOHPzu9NSucg== 215 | 216 | fastify-plugin@^1.0.0: 217 | version "1.6.1" 218 | resolved "https://registry.yarnpkg.com/fastify-plugin/-/fastify-plugin-1.6.1.tgz#122f5a5eeb630d55c301713145a9d188e6d5dd5b" 219 | integrity sha512-APBcb27s+MjaBIerFirYmBLatoPCgmHZM6XP0K+nDL9k0yX8NJPWDY1RAC3bh6z+AB5ULS2j31BUfLMT3uaZ4A== 220 | dependencies: 221 | semver "^6.3.0" 222 | 223 | fastify-plugin@^3.0.0: 224 | version "3.0.1" 225 | resolved "https://registry.yarnpkg.com/fastify-plugin/-/fastify-plugin-3.0.1.tgz#79e84c29f401020f38b524f59f2402103fd21ed2" 226 | integrity sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA== 227 | 228 | fastify-static@^0.10.1: 229 | version "0.10.1" 230 | resolved "https://registry.yarnpkg.com/fastify-static/-/fastify-static-0.10.1.tgz#9142ec38db5fdb075db2c0b81fce08de448a05f1" 231 | integrity sha512-O6N1E0WMibBDWhbJydeORq/iPNkcrYsZB/PV+6YkMsMyr5eUmgX7oh4xnqPiNF0htP9Grsq0e/9lC8HZzcJAeg== 232 | dependencies: 233 | fastify-plugin "^1.0.0" 234 | readable-stream "^2.3.6" 235 | send "^0.16.0" 236 | 237 | fastify-static@^4.5.0: 238 | version "4.5.0" 239 | resolved "https://registry.yarnpkg.com/fastify-static/-/fastify-static-4.5.0.tgz#0d3feff5373f5ed9c4e4cf31a2b84c2f70c35bb2" 240 | integrity sha512-Q7Tgl55AjsmBwiO4hKYib2BUCt+XTWLJ6Xp8YPPHU3EsrKNpevJ4cz8pjf1Ey1QhHw9O8Y2FDKdu+IC74oHvqw== 241 | dependencies: 242 | content-disposition "^0.5.3" 243 | encoding-negotiator "^2.0.1" 244 | fastify-plugin "^3.0.0" 245 | glob "^7.1.4" 246 | p-limit "^3.1.0" 247 | readable-stream "^3.4.0" 248 | send "^0.17.1" 249 | 250 | fastify-warning@^0.2.0: 251 | version "0.2.0" 252 | resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f" 253 | integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw== 254 | 255 | fastify@^3.29.4: 256 | version "3.29.4" 257 | resolved "https://registry.yarnpkg.com/fastify/-/fastify-3.29.4.tgz#294e33017b55f3cb72f315c41cf51431bc9b7a34" 258 | integrity sha512-BEyKidZQvscNaiF1BLh+YLE7AzHH03NexhPzrwZP6KBQ+jG2czdgq72X+RFB5rK9hbqdaafVb5yiWN+hCvHfYg== 259 | dependencies: 260 | "@fastify/ajv-compiler" "^1.0.0" 261 | "@fastify/error" "^2.0.0" 262 | abstract-logging "^2.0.0" 263 | avvio "^7.1.2" 264 | content-type "^1.0.4" 265 | fast-json-stringify "^2.5.2" 266 | find-my-way "^4.5.0" 267 | flatstr "^1.0.12" 268 | light-my-request "^4.2.0" 269 | pino "^6.13.0" 270 | process-warning "^1.0.0" 271 | proxy-addr "^2.0.7" 272 | rfdc "^1.1.4" 273 | secure-json-parse "^2.0.0" 274 | semver "^7.3.2" 275 | tiny-lru "^8.0.1" 276 | 277 | fastq@^1.6.1: 278 | version "1.13.0" 279 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 280 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 281 | dependencies: 282 | reusify "^1.0.4" 283 | 284 | find-my-way@^4.5.0: 285 | version "4.5.1" 286 | resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-4.5.1.tgz#758e959194b90aea0270db18fff75e2fceb2239f" 287 | integrity sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg== 288 | dependencies: 289 | fast-decode-uri-component "^1.0.1" 290 | fast-deep-equal "^3.1.3" 291 | safe-regex2 "^2.0.0" 292 | semver-store "^0.3.0" 293 | 294 | flatstr@^1.0.12: 295 | version "1.0.12" 296 | resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" 297 | integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== 298 | 299 | forwarded@0.2.0: 300 | version "0.2.0" 301 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 302 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 303 | 304 | fresh@0.5.2: 305 | version "0.5.2" 306 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 307 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 308 | 309 | fs.realpath@^1.0.0: 310 | version "1.0.0" 311 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 312 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 313 | 314 | glob@^7.1.4: 315 | version "7.2.0" 316 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 317 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 318 | dependencies: 319 | fs.realpath "^1.0.0" 320 | inflight "^1.0.4" 321 | inherits "2" 322 | minimatch "^3.0.4" 323 | once "^1.3.0" 324 | path-is-absolute "^1.0.0" 325 | 326 | h2-auto-push@^0.4.0: 327 | version "0.4.1" 328 | resolved "https://registry.yarnpkg.com/h2-auto-push/-/h2-auto-push-0.4.1.tgz#9a614f1604f8fe510b8963cbbe5a17a35e5c16d3" 329 | integrity sha512-jaq9GZO9mAiMvdpluHcW0GkzhnSdnKlkG6c3cAMzD6WSf+SzWx9VepoZ7waMKJsCGlDBfYMgC30fjpz9bTS49g== 330 | dependencies: 331 | bloomfilter "^0.0.18" 332 | mime-types "^2.1.22" 333 | 334 | http-errors@1.8.1: 335 | version "1.8.1" 336 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" 337 | integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== 338 | dependencies: 339 | depd "~1.1.2" 340 | inherits "2.0.4" 341 | setprototypeof "1.2.0" 342 | statuses ">= 1.5.0 < 2" 343 | toidentifier "1.0.1" 344 | 345 | http-errors@~1.6.2: 346 | version "1.6.3" 347 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" 348 | integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= 349 | dependencies: 350 | depd "~1.1.2" 351 | inherits "2.0.3" 352 | setprototypeof "1.1.0" 353 | statuses ">= 1.4.0 < 2" 354 | 355 | inflight@^1.0.4: 356 | version "1.0.6" 357 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 358 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 359 | dependencies: 360 | once "^1.3.0" 361 | wrappy "1" 362 | 363 | inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.3: 364 | version "2.0.4" 365 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 366 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 367 | 368 | inherits@2.0.3: 369 | version "2.0.3" 370 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 371 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 372 | 373 | ipaddr.js@1.9.1: 374 | version "1.9.1" 375 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 376 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 377 | 378 | isarray@~1.0.0: 379 | version "1.0.0" 380 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 381 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 382 | 383 | json-schema-traverse@^0.4.1: 384 | version "0.4.1" 385 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 386 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 387 | 388 | json-schema-traverse@^1.0.0: 389 | version "1.0.0" 390 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" 391 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 392 | 393 | light-my-request@^4.2.0: 394 | version "4.7.0" 395 | resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-4.7.0.tgz#5bacd17fa0eaf96fe5eed1682c5e0d361953cf46" 396 | integrity sha512-LTa8YZp3K2AUpqUnwwKajoIHcsKOBnzwJNQSrk7unziPwo6CjOYjyO0F9wfkxFvP+nBsCGe3eMPnedVgIIgdAw== 397 | dependencies: 398 | ajv "^8.1.0" 399 | cookie "^0.4.0" 400 | fastify-warning "^0.2.0" 401 | set-cookie-parser "^2.4.1" 402 | 403 | lru-cache@^6.0.0: 404 | version "6.0.0" 405 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 406 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 407 | dependencies: 408 | yallist "^4.0.0" 409 | 410 | mime-db@1.51.0: 411 | version "1.51.0" 412 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" 413 | integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== 414 | 415 | mime-types@^2.1.22: 416 | version "2.1.34" 417 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" 418 | integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== 419 | dependencies: 420 | mime-db "1.51.0" 421 | 422 | mime@1.4.1: 423 | version "1.4.1" 424 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 425 | integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== 426 | 427 | mime@1.6.0: 428 | version "1.6.0" 429 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 430 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 431 | 432 | minimatch@^3.0.4: 433 | version "3.1.2" 434 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 435 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 436 | dependencies: 437 | brace-expansion "^1.1.7" 438 | 439 | ms@2.0.0: 440 | version "2.0.0" 441 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 442 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 443 | 444 | ms@2.1.2: 445 | version "2.1.2" 446 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 447 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 448 | 449 | ms@2.1.3: 450 | version "2.1.3" 451 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 452 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 453 | 454 | on-finished@~2.3.0: 455 | version "2.3.0" 456 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 457 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 458 | dependencies: 459 | ee-first "1.1.1" 460 | 461 | once@^1.3.0: 462 | version "1.4.0" 463 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 464 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 465 | dependencies: 466 | wrappy "1" 467 | 468 | p-limit@^3.1.0: 469 | version "3.1.0" 470 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 471 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 472 | dependencies: 473 | yocto-queue "^0.1.0" 474 | 475 | path-is-absolute@^1.0.0: 476 | version "1.0.1" 477 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 478 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 479 | 480 | pino-std-serializers@^3.1.0: 481 | version "3.2.0" 482 | resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" 483 | integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== 484 | 485 | pino@^6.13.0: 486 | version "6.13.4" 487 | resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.4.tgz#e7bd5e8292019609c841c37a3f1d73ee10bb80f7" 488 | integrity sha512-g4tHSISmQJYUEKEMVdaZ+ZokWwFnTwZL5JPn+lnBVZ1BuBbrSchrXwQINknkM5+Q4fF6U9NjiI8PWwwMDHt9zA== 489 | dependencies: 490 | fast-redact "^3.0.0" 491 | fast-safe-stringify "^2.0.8" 492 | flatstr "^1.0.12" 493 | pino-std-serializers "^3.1.0" 494 | process-warning "^1.0.0" 495 | quick-format-unescaped "^4.0.3" 496 | sonic-boom "^1.0.2" 497 | 498 | process-nextick-args@~2.0.0: 499 | version "2.0.1" 500 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 501 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 502 | 503 | process-warning@^1.0.0: 504 | version "1.0.0" 505 | resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" 506 | integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== 507 | 508 | proxy-addr@^2.0.7: 509 | version "2.0.7" 510 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 511 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 512 | dependencies: 513 | forwarded "0.2.0" 514 | ipaddr.js "1.9.1" 515 | 516 | punycode@^2.1.0: 517 | version "2.1.1" 518 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 519 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 520 | 521 | queue-microtask@^1.1.2: 522 | version "1.2.3" 523 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 524 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 525 | 526 | quick-format-unescaped@^4.0.3: 527 | version "4.0.4" 528 | resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" 529 | integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== 530 | 531 | range-parser@~1.2.0, range-parser@~1.2.1: 532 | version "1.2.1" 533 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 534 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 535 | 536 | readable-stream@^2.3.6: 537 | version "2.3.7" 538 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 539 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 540 | dependencies: 541 | core-util-is "~1.0.0" 542 | inherits "~2.0.3" 543 | isarray "~1.0.0" 544 | process-nextick-args "~2.0.0" 545 | safe-buffer "~5.1.1" 546 | string_decoder "~1.1.1" 547 | util-deprecate "~1.0.1" 548 | 549 | readable-stream@^3.4.0: 550 | version "3.6.0" 551 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 552 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 553 | dependencies: 554 | inherits "^2.0.3" 555 | string_decoder "^1.1.1" 556 | util-deprecate "^1.0.1" 557 | 558 | require-from-string@^2.0.2: 559 | version "2.0.2" 560 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 561 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 562 | 563 | ret@~0.2.0: 564 | version "0.2.2" 565 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.2.2.tgz#b6861782a1f4762dce43402a71eb7a283f44573c" 566 | integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== 567 | 568 | reusify@^1.0.4: 569 | version "1.0.4" 570 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 571 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 572 | 573 | rfdc@^1.1.4, rfdc@^1.2.0: 574 | version "1.3.0" 575 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 576 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 577 | 578 | safe-buffer@5.2.1, safe-buffer@~5.2.0: 579 | version "5.2.1" 580 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 581 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 582 | 583 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 584 | version "5.1.2" 585 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 586 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 587 | 588 | safe-regex2@^2.0.0: 589 | version "2.0.0" 590 | resolved "https://registry.yarnpkg.com/safe-regex2/-/safe-regex2-2.0.0.tgz#b287524c397c7a2994470367e0185e1916b1f5b9" 591 | integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== 592 | dependencies: 593 | ret "~0.2.0" 594 | 595 | secure-json-parse@^2.0.0: 596 | version "2.4.0" 597 | resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85" 598 | integrity sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg== 599 | 600 | semver-store@^0.3.0: 601 | version "0.3.0" 602 | resolved "https://registry.yarnpkg.com/semver-store/-/semver-store-0.3.0.tgz#ce602ff07df37080ec9f4fb40b29576547befbe9" 603 | integrity sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg== 604 | 605 | semver@^6.3.0: 606 | version "6.3.1" 607 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" 608 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== 609 | 610 | semver@^7.3.2: 611 | version "7.5.4" 612 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" 613 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== 614 | dependencies: 615 | lru-cache "^6.0.0" 616 | 617 | send@^0.16.0: 618 | version "0.16.2" 619 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" 620 | integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== 621 | dependencies: 622 | debug "2.6.9" 623 | depd "~1.1.2" 624 | destroy "~1.0.4" 625 | encodeurl "~1.0.2" 626 | escape-html "~1.0.3" 627 | etag "~1.8.1" 628 | fresh "0.5.2" 629 | http-errors "~1.6.2" 630 | mime "1.4.1" 631 | ms "2.0.0" 632 | on-finished "~2.3.0" 633 | range-parser "~1.2.0" 634 | statuses "~1.4.0" 635 | 636 | send@^0.17.1: 637 | version "0.17.2" 638 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" 639 | integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== 640 | dependencies: 641 | debug "2.6.9" 642 | depd "~1.1.2" 643 | destroy "~1.0.4" 644 | encodeurl "~1.0.2" 645 | escape-html "~1.0.3" 646 | etag "~1.8.1" 647 | fresh "0.5.2" 648 | http-errors "1.8.1" 649 | mime "1.6.0" 650 | ms "2.1.3" 651 | on-finished "~2.3.0" 652 | range-parser "~1.2.1" 653 | statuses "~1.5.0" 654 | 655 | set-cookie-parser@^2.4.1: 656 | version "2.4.8" 657 | resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz#d0da0ed388bc8f24e706a391f9c9e252a13c58b2" 658 | integrity sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg== 659 | 660 | setprototypeof@1.1.0: 661 | version "1.1.0" 662 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 663 | integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== 664 | 665 | setprototypeof@1.2.0: 666 | version "1.2.0" 667 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 668 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 669 | 670 | sonic-boom@^1.0.2: 671 | version "1.4.1" 672 | resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e" 673 | integrity sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg== 674 | dependencies: 675 | atomic-sleep "^1.0.0" 676 | flatstr "^1.0.12" 677 | 678 | "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: 679 | version "1.5.0" 680 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 681 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 682 | 683 | statuses@~1.4.0: 684 | version "1.4.0" 685 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 686 | integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== 687 | 688 | string-similarity@^4.0.1: 689 | version "4.0.4" 690 | resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.4.tgz#42d01ab0b34660ea8a018da8f56a3309bb8b2a5b" 691 | integrity sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ== 692 | 693 | string_decoder@^1.1.1: 694 | version "1.3.0" 695 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 696 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 697 | dependencies: 698 | safe-buffer "~5.2.0" 699 | 700 | string_decoder@~1.1.1: 701 | version "1.1.1" 702 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 703 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 704 | dependencies: 705 | safe-buffer "~5.1.0" 706 | 707 | tiny-lru@^8.0.1: 708 | version "8.0.2" 709 | resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-8.0.2.tgz#812fccbe6e622ded552e3ff8a4c3b5ff34a85e4c" 710 | integrity sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg== 711 | 712 | toidentifier@1.0.1: 713 | version "1.0.1" 714 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 715 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 716 | 717 | uri-js@^4.2.2: 718 | version "4.4.1" 719 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 720 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 721 | dependencies: 722 | punycode "^2.1.0" 723 | 724 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 725 | version "1.0.2" 726 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 727 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 728 | 729 | wrappy@1: 730 | version "1.0.2" 731 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 732 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 733 | 734 | yallist@^4.0.0: 735 | version "4.0.0" 736 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 737 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 738 | 739 | yocto-queue@^0.1.0: 740 | version "0.1.0" 741 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 742 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 743 | --------------------------------------------------------------------------------