├── .bithoundrc ├── .codeclimate.yml ├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── index.js ├── package-lock.json ├── package.json ├── static └── img │ └── support_paypal.svg ├── test └── integration.test.js └── yarn.lock /.bithoundrc: -------------------------------------------------------------------------------- 1 | { 2 | "ignore": ["**/lib/**","**/coverage/**","**/node_modules/**"], 3 | "test": [ 4 | "**/test/**" 5 | ], 6 | "dependencies": { 7 | "mute": [ 8 | "coveralls", 9 | "istanbul" 10 | ] 11 | } 12 | } -------------------------------------------------------------------------------- /.codeclimate.yml: -------------------------------------------------------------------------------- 1 | engines: 2 | duplication: 3 | enabled: true 4 | config: 5 | languages: 6 | - javascript 7 | eslint: 8 | enabled: true 9 | fixme: 10 | enabled: true 11 | ratings: 12 | paths: 13 | - "**.inc" 14 | - "**.js" 15 | - "**.jsx" 16 | - "**.module" 17 | exclude_paths: 18 | - test/ 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | coverage -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "9" 5 | - "8" 6 | - "7" 7 | - "6" 8 | 9 | script: npm run coverage 10 | 11 | notifications: 12 | email: 13 | on_success: never 14 | on_failure: always 15 | 16 | after_success: 17 | - npm install -g codeclimate-test-reporter 18 | - npm install -g coveralls 19 | - codeclimate-test-reporter < ./coverage/lcov.info 20 | - coveralls < ./coverage/lcov.info -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Natural Intelligence 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 | # fastify-xml-body-parser 2 | Fastify plugin / module to parse XML payload / body into JS object 3 | 4 | 5 | 6 | 7 | Stubmatic donate button 8 | 9 | ## Usage 10 | 1. Include in package.json 11 | ```bash 12 | $npm install fastify-xml-body-parser 13 | #or 14 | $yarn add fastify-xml-body-parser 15 | ``` 16 | 17 | 2. Then import in your code and register with fastify 18 | 19 | **Sample POST body / payload** 20 | ``` 21 | data 22 | ``` 23 | 24 | ```js 25 | 26 | const fastify = require('fastify')() 27 | 28 | fastify.register(require('fastify-xml-body-parser')) 29 | 30 | fastify.post('/', (req, reply) => { 31 | console.log(req.body.sample)//data 32 | reply.send(req.body) 33 | }) 34 | 35 | fastify.listen(8000, (err) => { 36 | if (err) throw err 37 | }) 38 | ``` 39 | 40 | The sent reply would be the object: 41 | ```js 42 | { 43 | sample: 'data' 44 | } 45 | ``` 46 | 47 | ## Options 48 | This plugin use [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) to parse the XML payload. So it accepts all the options supported by fast-xml-parser. 49 | 50 | ```js 51 | 52 | var options = { 53 | commentPropName: "#comment", 54 | preserveOrder: true 55 | }; 56 | 57 | const fastify = require('fastify')() 58 | 59 | fastify.register(require('fastify-xml-body-parser'), options) 60 | 61 | ``` 62 | 63 | Additionaly, it supports following options 64 | 65 | * **validate**: If it is set to `true`, this plugin validate the payload for valid XML syntax before parsing. 66 | * **contentType**: It accepts a string or an array of content types. By default it is set to `["text/xml", "application/xml", "application/rss+xml"]`. 67 | 68 | **Note**: I've not included body size limit to this plugin because of following reasons 69 | * I believe it's good to use API gateway to handle non-functional requirements, like security. 70 | * There are already some plugins which verifies for body length. It'll be a performance degrade if all the plugins are doing the same thing. 71 | 72 | 73 | ## License 74 | [MIT License](http://jsumners.mit-license.org/) 75 | 76 | 77 | ## Our other projects and research you must try 78 | 79 | * **[BigBit standard](https://github.com/amitguptagwl/bigbit)** : 80 | * Single text encoding to replace UTF-8, UTF-16, UTF-32 and more with less memory. 81 | * Single Numeric datatype alternative of integer, float, double, long, decimal and more without precision loss. 82 | * **[Cytorus](https://github.com/NaturalIntelligence/cytorus)**: Now be specific and flexible while running E2E tests. 83 | * Run tests only for a particular User Story 84 | * Run tests for a route or from a route 85 | * Customizable reporting 86 | * Central dashboard for better monitoring 87 | * Options to integrate E2E tests with Jira, Github etc using Central dashboard `Tian`. 88 | * **[Stubmatic](https://github.com/NaturalIntelligence/Stubmatic)** : Create fake webservices, DynamoDB or S3 servers, Manage fake/mock stub data, Or fake/Debug any HTTP(s) call. 89 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fp = require('fastify-plugin'); 4 | const fxp = require('fast-xml-parser'); 5 | 6 | const defaults = { 7 | contentType: ["text/xml", "application/xml", "application/rss+xml"], 8 | validate: false 9 | } 10 | 11 | function xmlBodyParserPlugin(fastify, options, next) { 12 | const opts = Object.assign({}, defaults, options || {}) 13 | 14 | function contentParser(req, payload, done) { 15 | const xmlParser = new fxp.XMLParser(opts); 16 | const parsingOpts = opts; 17 | 18 | let body = '' 19 | payload.on('error', errorListener) 20 | payload.on('data', dataListener) 21 | payload.on('end', endListener) 22 | 23 | function errorListener (err) { 24 | done(err) 25 | } 26 | function endListener () { 27 | if (parsingOpts.validate) { 28 | const result = fxp.XMLValidator.validate(body, parsingOpts); 29 | if (result.err) { 30 | const invalidFormat = new Error('Invalid Format: ' + result.err.msg); 31 | invalidFormat.statusCode = 400; 32 | payload.removeListener('error', errorListener); 33 | payload.removeListener('data', dataListener); 34 | payload.removeListener('end', endListener); 35 | done(invalidFormat); 36 | } else { 37 | handleParseXml(body); 38 | } 39 | } else { 40 | handleParseXml(body); 41 | } 42 | } 43 | function dataListener(data) { 44 | body = body + data; 45 | } 46 | function handleParseXml(body) { 47 | try { 48 | done(null, xmlParser.parse(body)); 49 | } catch (err) { 50 | done(err); 51 | } 52 | } 53 | } 54 | 55 | if(typeof opts.contentType === "string"){ 56 | fastify.addContentTypeParser(opts.contentType, contentParser); 57 | //console.log(fastify.hasContentTypeParser(opts.contentType)); 58 | }else{ 59 | for(var i=0; i< opts.contentType.length; i++){ 60 | fastify.addContentTypeParser(opts.contentType[i], contentParser); 61 | } 62 | } 63 | 64 | next(); 65 | } 66 | 67 | module.exports = fp(xmlBodyParserPlugin, { 68 | fastify: '>=3.0.0', 69 | name: 'fastify-xml-body-parser' 70 | }) 71 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fastify-xml-body-parser", 3 | "version": "2.2.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "fastify-xml-body-parser", 9 | "version": "2.2.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "fast-xml-parser": "^4.1.2", 13 | "fastify-plugin": "^3.0.0" 14 | }, 15 | "devDependencies": { 16 | "fastify": "^3.27.1", 17 | "jasmine": "^3.5.0", 18 | "jasmine-core": "^2.99.1", 19 | "request": "^2.88.0" 20 | } 21 | }, 22 | "node_modules/@fastify/ajv-compiler": { 23 | "version": "1.1.0", 24 | "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-1.1.0.tgz", 25 | "integrity": "sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==", 26 | "dev": true, 27 | "dependencies": { 28 | "ajv": "^6.12.6" 29 | } 30 | }, 31 | "node_modules/@fastify/error": { 32 | "version": "2.0.0", 33 | "resolved": "https://registry.npmjs.org/@fastify/error/-/error-2.0.0.tgz", 34 | "integrity": "sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==", 35 | "dev": true 36 | }, 37 | "node_modules/abstract-logging": { 38 | "version": "2.0.1", 39 | "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", 40 | "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", 41 | "dev": true 42 | }, 43 | "node_modules/ajv": { 44 | "version": "6.12.6", 45 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 46 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 47 | "dev": true, 48 | "dependencies": { 49 | "fast-deep-equal": "^3.1.1", 50 | "fast-json-stable-stringify": "^2.0.0", 51 | "json-schema-traverse": "^0.4.1", 52 | "uri-js": "^4.2.2" 53 | }, 54 | "funding": { 55 | "type": "github", 56 | "url": "https://github.com/sponsors/epoberezkin" 57 | } 58 | }, 59 | "node_modules/archy": { 60 | "version": "1.0.0", 61 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", 62 | "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", 63 | "dev": true 64 | }, 65 | "node_modules/asn1": { 66 | "version": "0.2.6", 67 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", 68 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", 69 | "dev": true, 70 | "dependencies": { 71 | "safer-buffer": "~2.1.0" 72 | } 73 | }, 74 | "node_modules/assert-plus": { 75 | "version": "1.0.0", 76 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 77 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 78 | "dev": true, 79 | "engines": { 80 | "node": ">=0.8" 81 | } 82 | }, 83 | "node_modules/asynckit": { 84 | "version": "0.4.0", 85 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 86 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 87 | "dev": true 88 | }, 89 | "node_modules/atomic-sleep": { 90 | "version": "1.0.0", 91 | "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", 92 | "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", 93 | "dev": true, 94 | "engines": { 95 | "node": ">=8.0.0" 96 | } 97 | }, 98 | "node_modules/avvio": { 99 | "version": "7.2.4", 100 | "resolved": "https://registry.npmjs.org/avvio/-/avvio-7.2.4.tgz", 101 | "integrity": "sha512-m9XMb/6E9P0lV4eiXNxfiJ/uFBW0KFpMrrB26c+ZJeRpYmc8JTOPy/7+lJrlbaqfrAArv9PmzOaFU6TKtKRLGA==", 102 | "dev": true, 103 | "dependencies": { 104 | "archy": "^1.0.0", 105 | "debug": "^4.0.0", 106 | "fastq": "^1.6.1", 107 | "queue-microtask": "^1.1.2" 108 | } 109 | }, 110 | "node_modules/aws-sign2": { 111 | "version": "0.7.0", 112 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 113 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 114 | "dev": true, 115 | "engines": { 116 | "node": "*" 117 | } 118 | }, 119 | "node_modules/aws4": { 120 | "version": "1.11.0", 121 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", 122 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", 123 | "dev": true 124 | }, 125 | "node_modules/balanced-match": { 126 | "version": "1.0.2", 127 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 128 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 129 | "dev": true 130 | }, 131 | "node_modules/bcrypt-pbkdf": { 132 | "version": "1.0.2", 133 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 134 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 135 | "dev": true, 136 | "dependencies": { 137 | "tweetnacl": "^0.14.3" 138 | } 139 | }, 140 | "node_modules/brace-expansion": { 141 | "version": "1.1.11", 142 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 143 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 144 | "dev": true, 145 | "dependencies": { 146 | "balanced-match": "^1.0.0", 147 | "concat-map": "0.0.1" 148 | } 149 | }, 150 | "node_modules/caseless": { 151 | "version": "0.12.0", 152 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 153 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 154 | "dev": true 155 | }, 156 | "node_modules/combined-stream": { 157 | "version": "1.0.8", 158 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 159 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 160 | "dev": true, 161 | "dependencies": { 162 | "delayed-stream": "~1.0.0" 163 | }, 164 | "engines": { 165 | "node": ">= 0.8" 166 | } 167 | }, 168 | "node_modules/concat-map": { 169 | "version": "0.0.1", 170 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 171 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 172 | "dev": true 173 | }, 174 | "node_modules/cookie": { 175 | "version": "0.4.2", 176 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", 177 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", 178 | "dev": true, 179 | "engines": { 180 | "node": ">= 0.6" 181 | } 182 | }, 183 | "node_modules/core-util-is": { 184 | "version": "1.0.2", 185 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 186 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 187 | "dev": true 188 | }, 189 | "node_modules/dashdash": { 190 | "version": "1.14.1", 191 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 192 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 193 | "dev": true, 194 | "dependencies": { 195 | "assert-plus": "^1.0.0" 196 | }, 197 | "engines": { 198 | "node": ">=0.10" 199 | } 200 | }, 201 | "node_modules/debug": { 202 | "version": "4.3.3", 203 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 204 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 205 | "dev": true, 206 | "dependencies": { 207 | "ms": "2.1.2" 208 | }, 209 | "engines": { 210 | "node": ">=6.0" 211 | }, 212 | "peerDependenciesMeta": { 213 | "supports-color": { 214 | "optional": true 215 | } 216 | } 217 | }, 218 | "node_modules/deepmerge": { 219 | "version": "4.2.2", 220 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 221 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 222 | "dev": true, 223 | "engines": { 224 | "node": ">=0.10.0" 225 | } 226 | }, 227 | "node_modules/delayed-stream": { 228 | "version": "1.0.0", 229 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 230 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 231 | "dev": true, 232 | "engines": { 233 | "node": ">=0.4.0" 234 | } 235 | }, 236 | "node_modules/ecc-jsbn": { 237 | "version": "0.1.2", 238 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 239 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 240 | "dev": true, 241 | "dependencies": { 242 | "jsbn": "~0.1.0", 243 | "safer-buffer": "^2.1.0" 244 | } 245 | }, 246 | "node_modules/extend": { 247 | "version": "3.0.2", 248 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 249 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 250 | "dev": true 251 | }, 252 | "node_modules/extsprintf": { 253 | "version": "1.3.0", 254 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 255 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 256 | "dev": true, 257 | "engines": [ 258 | "node >=0.6.0" 259 | ] 260 | }, 261 | "node_modules/fast-content-type-parse": { 262 | "version": "1.0.0", 263 | "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.0.0.tgz", 264 | "integrity": "sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==", 265 | "dev": true 266 | }, 267 | "node_modules/fast-decode-uri-component": { 268 | "version": "1.0.1", 269 | "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", 270 | "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", 271 | "dev": true 272 | }, 273 | "node_modules/fast-deep-equal": { 274 | "version": "3.1.3", 275 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 276 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 277 | "dev": true 278 | }, 279 | "node_modules/fast-json-stable-stringify": { 280 | "version": "2.1.0", 281 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 282 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 283 | "dev": true 284 | }, 285 | "node_modules/fast-json-stringify": { 286 | "version": "2.7.13", 287 | "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz", 288 | "integrity": "sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==", 289 | "dev": true, 290 | "dependencies": { 291 | "ajv": "^6.11.0", 292 | "deepmerge": "^4.2.2", 293 | "rfdc": "^1.2.0", 294 | "string-similarity": "^4.0.1" 295 | }, 296 | "engines": { 297 | "node": ">= 10.0.0" 298 | } 299 | }, 300 | "node_modules/fast-redact": { 301 | "version": "3.1.1", 302 | "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.1.tgz", 303 | "integrity": "sha512-odVmjC8x8jNeMZ3C+rPMESzXVSEU8tSWSHv9HFxP2mm89G/1WwqhrerJDQm9Zus8X6aoRgQDThKqptdNA6bt+A==", 304 | "dev": true, 305 | "engines": { 306 | "node": ">=6" 307 | } 308 | }, 309 | "node_modules/fast-safe-stringify": { 310 | "version": "2.1.1", 311 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", 312 | "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", 313 | "dev": true 314 | }, 315 | "node_modules/fast-xml-parser": { 316 | "version": "4.1.2", 317 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", 318 | "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", 319 | "dependencies": { 320 | "strnum": "^1.0.5" 321 | }, 322 | "bin": { 323 | "fxparser": "src/cli/cli.js" 324 | }, 325 | "funding": { 326 | "type": "paypal", 327 | "url": "https://paypal.me/naturalintelligence" 328 | } 329 | }, 330 | "node_modules/fastify": { 331 | "version": "3.29.5", 332 | "resolved": "https://registry.npmjs.org/fastify/-/fastify-3.29.5.tgz", 333 | "integrity": "sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==", 334 | "dev": true, 335 | "dependencies": { 336 | "@fastify/ajv-compiler": "^1.0.0", 337 | "@fastify/error": "^2.0.0", 338 | "abstract-logging": "^2.0.0", 339 | "avvio": "^7.1.2", 340 | "fast-content-type-parse": "^1.0.0", 341 | "fast-json-stringify": "^2.5.2", 342 | "find-my-way": "^4.5.0", 343 | "flatstr": "^1.0.12", 344 | "light-my-request": "^4.2.0", 345 | "pino": "^6.13.0", 346 | "process-warning": "^1.0.0", 347 | "proxy-addr": "^2.0.7", 348 | "rfdc": "^1.1.4", 349 | "secure-json-parse": "^2.0.0", 350 | "semver": "^7.3.2", 351 | "tiny-lru": "^8.0.1" 352 | } 353 | }, 354 | "node_modules/fastify-plugin": { 355 | "version": "3.0.0", 356 | "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-3.0.0.tgz", 357 | "integrity": "sha512-ZdCvKEEd92DNLps5n0v231Bha8bkz1DjnPP/aEz37rz/q42Z5JVLmgnqR4DYuNn3NXAO3IDCPyRvgvxtJ4Ym4w==" 358 | }, 359 | "node_modules/fastq": { 360 | "version": "1.13.0", 361 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 362 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 363 | "dev": true, 364 | "dependencies": { 365 | "reusify": "^1.0.4" 366 | } 367 | }, 368 | "node_modules/find-my-way": { 369 | "version": "4.5.1", 370 | "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-4.5.1.tgz", 371 | "integrity": "sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==", 372 | "dev": true, 373 | "dependencies": { 374 | "fast-decode-uri-component": "^1.0.1", 375 | "fast-deep-equal": "^3.1.3", 376 | "safe-regex2": "^2.0.0", 377 | "semver-store": "^0.3.0" 378 | }, 379 | "engines": { 380 | "node": ">=10" 381 | } 382 | }, 383 | "node_modules/flatstr": { 384 | "version": "1.0.12", 385 | "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", 386 | "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==", 387 | "dev": true 388 | }, 389 | "node_modules/forever-agent": { 390 | "version": "0.6.1", 391 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 392 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 393 | "dev": true, 394 | "engines": { 395 | "node": "*" 396 | } 397 | }, 398 | "node_modules/form-data": { 399 | "version": "2.3.3", 400 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 401 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 402 | "dev": true, 403 | "dependencies": { 404 | "asynckit": "^0.4.0", 405 | "combined-stream": "^1.0.6", 406 | "mime-types": "^2.1.12" 407 | }, 408 | "engines": { 409 | "node": ">= 0.12" 410 | } 411 | }, 412 | "node_modules/forwarded": { 413 | "version": "0.2.0", 414 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 415 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 416 | "dev": true, 417 | "engines": { 418 | "node": ">= 0.6" 419 | } 420 | }, 421 | "node_modules/fs.realpath": { 422 | "version": "1.0.0", 423 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 424 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 425 | "dev": true 426 | }, 427 | "node_modules/getpass": { 428 | "version": "0.1.7", 429 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 430 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 431 | "dev": true, 432 | "dependencies": { 433 | "assert-plus": "^1.0.0" 434 | } 435 | }, 436 | "node_modules/glob": { 437 | "version": "7.2.0", 438 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 439 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 440 | "dev": true, 441 | "dependencies": { 442 | "fs.realpath": "^1.0.0", 443 | "inflight": "^1.0.4", 444 | "inherits": "2", 445 | "minimatch": "^3.0.4", 446 | "once": "^1.3.0", 447 | "path-is-absolute": "^1.0.0" 448 | }, 449 | "engines": { 450 | "node": "*" 451 | }, 452 | "funding": { 453 | "url": "https://github.com/sponsors/isaacs" 454 | } 455 | }, 456 | "node_modules/har-schema": { 457 | "version": "2.0.0", 458 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 459 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 460 | "dev": true, 461 | "engines": { 462 | "node": ">=4" 463 | } 464 | }, 465 | "node_modules/har-validator": { 466 | "version": "5.1.5", 467 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", 468 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", 469 | "deprecated": "this library is no longer supported", 470 | "dev": true, 471 | "dependencies": { 472 | "ajv": "^6.12.3", 473 | "har-schema": "^2.0.0" 474 | }, 475 | "engines": { 476 | "node": ">=6" 477 | } 478 | }, 479 | "node_modules/http-signature": { 480 | "version": "1.2.0", 481 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 482 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 483 | "dev": true, 484 | "dependencies": { 485 | "assert-plus": "^1.0.0", 486 | "jsprim": "^1.2.2", 487 | "sshpk": "^1.7.0" 488 | }, 489 | "engines": { 490 | "node": ">=0.8", 491 | "npm": ">=1.3.7" 492 | } 493 | }, 494 | "node_modules/inflight": { 495 | "version": "1.0.6", 496 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 497 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 498 | "dev": true, 499 | "dependencies": { 500 | "once": "^1.3.0", 501 | "wrappy": "1" 502 | } 503 | }, 504 | "node_modules/inherits": { 505 | "version": "2.0.4", 506 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 507 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 508 | "dev": true 509 | }, 510 | "node_modules/ipaddr.js": { 511 | "version": "1.9.1", 512 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 513 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 514 | "dev": true, 515 | "engines": { 516 | "node": ">= 0.10" 517 | } 518 | }, 519 | "node_modules/is-typedarray": { 520 | "version": "1.0.0", 521 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 522 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 523 | "dev": true 524 | }, 525 | "node_modules/isstream": { 526 | "version": "0.1.2", 527 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 528 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 529 | "dev": true 530 | }, 531 | "node_modules/jasmine": { 532 | "version": "3.99.0", 533 | "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.99.0.tgz", 534 | "integrity": "sha512-YIThBuHzaIIcjxeuLmPD40SjxkEcc8i//sGMDKCgkRMVgIwRJf5qyExtlJpQeh7pkeoBSOe6lQEdg+/9uKg9mw==", 535 | "dev": true, 536 | "dependencies": { 537 | "glob": "^7.1.6", 538 | "jasmine-core": "~3.99.0" 539 | }, 540 | "bin": { 541 | "jasmine": "bin/jasmine.js" 542 | } 543 | }, 544 | "node_modules/jasmine-core": { 545 | "version": "2.99.1", 546 | "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", 547 | "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", 548 | "dev": true 549 | }, 550 | "node_modules/jasmine/node_modules/jasmine-core": { 551 | "version": "3.99.0", 552 | "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.0.tgz", 553 | "integrity": "sha512-+ZDaJlEfRopINQqgE+hvzRyDIQDeKfqqTvF8RzXsvU1yE3pBDRud2+Qfh9WvGgRpuzqxyQJVI6Amy5XQ11r/3w==", 554 | "dev": true 555 | }, 556 | "node_modules/jsbn": { 557 | "version": "0.1.1", 558 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 559 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 560 | "dev": true 561 | }, 562 | "node_modules/json-schema": { 563 | "version": "0.4.0", 564 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", 565 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", 566 | "dev": true 567 | }, 568 | "node_modules/json-schema-traverse": { 569 | "version": "0.4.1", 570 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 571 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 572 | "dev": true 573 | }, 574 | "node_modules/json-stringify-safe": { 575 | "version": "5.0.1", 576 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 577 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 578 | "dev": true 579 | }, 580 | "node_modules/jsprim": { 581 | "version": "1.4.2", 582 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", 583 | "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", 584 | "dev": true, 585 | "dependencies": { 586 | "assert-plus": "1.0.0", 587 | "extsprintf": "1.3.0", 588 | "json-schema": "0.4.0", 589 | "verror": "1.10.0" 590 | }, 591 | "engines": { 592 | "node": ">=0.6.0" 593 | } 594 | }, 595 | "node_modules/light-my-request": { 596 | "version": "4.8.0", 597 | "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-4.8.0.tgz", 598 | "integrity": "sha512-C2XESrTRsZnI59NSQigOsS6IuTxpj8OhSBvZS9fhgBMsamBsAuWN1s4hj/nCi8EeZcyAA6xbROhsZy7wKdfckg==", 599 | "dev": true, 600 | "dependencies": { 601 | "ajv": "^8.1.0", 602 | "cookie": "^0.4.0", 603 | "process-warning": "^1.0.0", 604 | "set-cookie-parser": "^2.4.1" 605 | } 606 | }, 607 | "node_modules/light-my-request/node_modules/ajv": { 608 | "version": "8.10.0", 609 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", 610 | "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", 611 | "dev": true, 612 | "dependencies": { 613 | "fast-deep-equal": "^3.1.1", 614 | "json-schema-traverse": "^1.0.0", 615 | "require-from-string": "^2.0.2", 616 | "uri-js": "^4.2.2" 617 | }, 618 | "funding": { 619 | "type": "github", 620 | "url": "https://github.com/sponsors/epoberezkin" 621 | } 622 | }, 623 | "node_modules/light-my-request/node_modules/json-schema-traverse": { 624 | "version": "1.0.0", 625 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 626 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 627 | "dev": true 628 | }, 629 | "node_modules/lru-cache": { 630 | "version": "6.0.0", 631 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 632 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 633 | "dev": true, 634 | "dependencies": { 635 | "yallist": "^4.0.0" 636 | }, 637 | "engines": { 638 | "node": ">=10" 639 | } 640 | }, 641 | "node_modules/mime-db": { 642 | "version": "1.51.0", 643 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", 644 | "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", 645 | "dev": true, 646 | "engines": { 647 | "node": ">= 0.6" 648 | } 649 | }, 650 | "node_modules/mime-types": { 651 | "version": "2.1.34", 652 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", 653 | "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", 654 | "dev": true, 655 | "dependencies": { 656 | "mime-db": "1.51.0" 657 | }, 658 | "engines": { 659 | "node": ">= 0.6" 660 | } 661 | }, 662 | "node_modules/minimatch": { 663 | "version": "3.1.2", 664 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 665 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 666 | "dev": true, 667 | "dependencies": { 668 | "brace-expansion": "^1.1.7" 669 | }, 670 | "engines": { 671 | "node": "*" 672 | } 673 | }, 674 | "node_modules/ms": { 675 | "version": "2.1.2", 676 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 677 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 678 | "dev": true 679 | }, 680 | "node_modules/oauth-sign": { 681 | "version": "0.9.0", 682 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 683 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", 684 | "dev": true, 685 | "engines": { 686 | "node": "*" 687 | } 688 | }, 689 | "node_modules/once": { 690 | "version": "1.4.0", 691 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 692 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 693 | "dev": true, 694 | "dependencies": { 695 | "wrappy": "1" 696 | } 697 | }, 698 | "node_modules/path-is-absolute": { 699 | "version": "1.0.1", 700 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 701 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 702 | "dev": true, 703 | "engines": { 704 | "node": ">=0.10.0" 705 | } 706 | }, 707 | "node_modules/performance-now": { 708 | "version": "2.1.0", 709 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 710 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 711 | "dev": true 712 | }, 713 | "node_modules/pino": { 714 | "version": "6.14.0", 715 | "resolved": "https://registry.npmjs.org/pino/-/pino-6.14.0.tgz", 716 | "integrity": "sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==", 717 | "dev": true, 718 | "dependencies": { 719 | "fast-redact": "^3.0.0", 720 | "fast-safe-stringify": "^2.0.8", 721 | "flatstr": "^1.0.12", 722 | "pino-std-serializers": "^3.1.0", 723 | "process-warning": "^1.0.0", 724 | "quick-format-unescaped": "^4.0.3", 725 | "sonic-boom": "^1.0.2" 726 | }, 727 | "bin": { 728 | "pino": "bin.js" 729 | } 730 | }, 731 | "node_modules/pino-std-serializers": { 732 | "version": "3.2.0", 733 | "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz", 734 | "integrity": "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==", 735 | "dev": true 736 | }, 737 | "node_modules/process-warning": { 738 | "version": "1.0.0", 739 | "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", 740 | "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==", 741 | "dev": true 742 | }, 743 | "node_modules/proxy-addr": { 744 | "version": "2.0.7", 745 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 746 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 747 | "dev": true, 748 | "dependencies": { 749 | "forwarded": "0.2.0", 750 | "ipaddr.js": "1.9.1" 751 | }, 752 | "engines": { 753 | "node": ">= 0.10" 754 | } 755 | }, 756 | "node_modules/psl": { 757 | "version": "1.8.0", 758 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", 759 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", 760 | "dev": true 761 | }, 762 | "node_modules/punycode": { 763 | "version": "2.1.1", 764 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 765 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 766 | "dev": true, 767 | "engines": { 768 | "node": ">=6" 769 | } 770 | }, 771 | "node_modules/qs": { 772 | "version": "6.5.3", 773 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", 774 | "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", 775 | "dev": true, 776 | "engines": { 777 | "node": ">=0.6" 778 | } 779 | }, 780 | "node_modules/queue-microtask": { 781 | "version": "1.2.3", 782 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 783 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 784 | "dev": true, 785 | "funding": [ 786 | { 787 | "type": "github", 788 | "url": "https://github.com/sponsors/feross" 789 | }, 790 | { 791 | "type": "patreon", 792 | "url": "https://www.patreon.com/feross" 793 | }, 794 | { 795 | "type": "consulting", 796 | "url": "https://feross.org/support" 797 | } 798 | ] 799 | }, 800 | "node_modules/quick-format-unescaped": { 801 | "version": "4.0.4", 802 | "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", 803 | "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", 804 | "dev": true 805 | }, 806 | "node_modules/request": { 807 | "version": "2.88.2", 808 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", 809 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", 810 | "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", 811 | "dev": true, 812 | "dependencies": { 813 | "aws-sign2": "~0.7.0", 814 | "aws4": "^1.8.0", 815 | "caseless": "~0.12.0", 816 | "combined-stream": "~1.0.6", 817 | "extend": "~3.0.2", 818 | "forever-agent": "~0.6.1", 819 | "form-data": "~2.3.2", 820 | "har-validator": "~5.1.3", 821 | "http-signature": "~1.2.0", 822 | "is-typedarray": "~1.0.0", 823 | "isstream": "~0.1.2", 824 | "json-stringify-safe": "~5.0.1", 825 | "mime-types": "~2.1.19", 826 | "oauth-sign": "~0.9.0", 827 | "performance-now": "^2.1.0", 828 | "qs": "~6.5.2", 829 | "safe-buffer": "^5.1.2", 830 | "tough-cookie": "~2.5.0", 831 | "tunnel-agent": "^0.6.0", 832 | "uuid": "^3.3.2" 833 | }, 834 | "engines": { 835 | "node": ">= 6" 836 | } 837 | }, 838 | "node_modules/require-from-string": { 839 | "version": "2.0.2", 840 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 841 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 842 | "dev": true, 843 | "engines": { 844 | "node": ">=0.10.0" 845 | } 846 | }, 847 | "node_modules/ret": { 848 | "version": "0.2.2", 849 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", 850 | "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", 851 | "dev": true, 852 | "engines": { 853 | "node": ">=4" 854 | } 855 | }, 856 | "node_modules/reusify": { 857 | "version": "1.0.4", 858 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 859 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 860 | "dev": true, 861 | "engines": { 862 | "iojs": ">=1.0.0", 863 | "node": ">=0.10.0" 864 | } 865 | }, 866 | "node_modules/rfdc": { 867 | "version": "1.3.0", 868 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", 869 | "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", 870 | "dev": true 871 | }, 872 | "node_modules/safe-buffer": { 873 | "version": "5.2.1", 874 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 875 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 876 | "dev": true, 877 | "funding": [ 878 | { 879 | "type": "github", 880 | "url": "https://github.com/sponsors/feross" 881 | }, 882 | { 883 | "type": "patreon", 884 | "url": "https://www.patreon.com/feross" 885 | }, 886 | { 887 | "type": "consulting", 888 | "url": "https://feross.org/support" 889 | } 890 | ] 891 | }, 892 | "node_modules/safe-regex2": { 893 | "version": "2.0.0", 894 | "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", 895 | "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", 896 | "dev": true, 897 | "dependencies": { 898 | "ret": "~0.2.0" 899 | } 900 | }, 901 | "node_modules/safer-buffer": { 902 | "version": "2.1.2", 903 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 904 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 905 | "dev": true 906 | }, 907 | "node_modules/secure-json-parse": { 908 | "version": "2.4.0", 909 | "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", 910 | "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==", 911 | "dev": true 912 | }, 913 | "node_modules/semver": { 914 | "version": "7.3.5", 915 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", 916 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", 917 | "dev": true, 918 | "dependencies": { 919 | "lru-cache": "^6.0.0" 920 | }, 921 | "bin": { 922 | "semver": "bin/semver.js" 923 | }, 924 | "engines": { 925 | "node": ">=10" 926 | } 927 | }, 928 | "node_modules/semver-store": { 929 | "version": "0.3.0", 930 | "resolved": "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz", 931 | "integrity": "sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==", 932 | "dev": true 933 | }, 934 | "node_modules/set-cookie-parser": { 935 | "version": "2.4.8", 936 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz", 937 | "integrity": "sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg==", 938 | "dev": true 939 | }, 940 | "node_modules/sonic-boom": { 941 | "version": "1.4.1", 942 | "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz", 943 | "integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==", 944 | "dev": true, 945 | "dependencies": { 946 | "atomic-sleep": "^1.0.0", 947 | "flatstr": "^1.0.12" 948 | } 949 | }, 950 | "node_modules/sshpk": { 951 | "version": "1.16.1", 952 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 953 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 954 | "dev": true, 955 | "dependencies": { 956 | "asn1": "~0.2.3", 957 | "assert-plus": "^1.0.0", 958 | "bcrypt-pbkdf": "^1.0.0", 959 | "dashdash": "^1.12.0", 960 | "ecc-jsbn": "~0.1.1", 961 | "getpass": "^0.1.1", 962 | "jsbn": "~0.1.0", 963 | "safer-buffer": "^2.0.2", 964 | "tweetnacl": "~0.14.0" 965 | }, 966 | "bin": { 967 | "sshpk-conv": "bin/sshpk-conv", 968 | "sshpk-sign": "bin/sshpk-sign", 969 | "sshpk-verify": "bin/sshpk-verify" 970 | }, 971 | "engines": { 972 | "node": ">=0.10.0" 973 | } 974 | }, 975 | "node_modules/string-similarity": { 976 | "version": "4.0.4", 977 | "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz", 978 | "integrity": "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==", 979 | "dev": true 980 | }, 981 | "node_modules/strnum": { 982 | "version": "1.0.5", 983 | "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", 984 | "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 985 | }, 986 | "node_modules/tiny-lru": { 987 | "version": "8.0.1", 988 | "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.1.tgz", 989 | "integrity": "sha512-eBIAYA0BzSjxBedCaO0CSjertD+u+IvNuFkyD7ESf+qjqHKBr5wFqvEYl91+ZQd7jjq2pO6/fBVwFgb6bxvorw==", 990 | "dev": true, 991 | "engines": { 992 | "node": ">=6" 993 | } 994 | }, 995 | "node_modules/tough-cookie": { 996 | "version": "2.5.0", 997 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 998 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 999 | "dev": true, 1000 | "dependencies": { 1001 | "psl": "^1.1.28", 1002 | "punycode": "^2.1.1" 1003 | }, 1004 | "engines": { 1005 | "node": ">=0.8" 1006 | } 1007 | }, 1008 | "node_modules/tunnel-agent": { 1009 | "version": "0.6.0", 1010 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1011 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 1012 | "dev": true, 1013 | "dependencies": { 1014 | "safe-buffer": "^5.0.1" 1015 | }, 1016 | "engines": { 1017 | "node": "*" 1018 | } 1019 | }, 1020 | "node_modules/tweetnacl": { 1021 | "version": "0.14.5", 1022 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1023 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 1024 | "dev": true 1025 | }, 1026 | "node_modules/uri-js": { 1027 | "version": "4.4.1", 1028 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1029 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1030 | "dev": true, 1031 | "dependencies": { 1032 | "punycode": "^2.1.0" 1033 | } 1034 | }, 1035 | "node_modules/uuid": { 1036 | "version": "3.4.0", 1037 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 1038 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 1039 | "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", 1040 | "dev": true, 1041 | "bin": { 1042 | "uuid": "bin/uuid" 1043 | } 1044 | }, 1045 | "node_modules/verror": { 1046 | "version": "1.10.0", 1047 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 1048 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 1049 | "dev": true, 1050 | "engines": [ 1051 | "node >=0.6.0" 1052 | ], 1053 | "dependencies": { 1054 | "assert-plus": "^1.0.0", 1055 | "core-util-is": "1.0.2", 1056 | "extsprintf": "^1.2.0" 1057 | } 1058 | }, 1059 | "node_modules/wrappy": { 1060 | "version": "1.0.2", 1061 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1062 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1063 | "dev": true 1064 | }, 1065 | "node_modules/yallist": { 1066 | "version": "4.0.0", 1067 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1068 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1069 | "dev": true 1070 | } 1071 | }, 1072 | "dependencies": { 1073 | "@fastify/ajv-compiler": { 1074 | "version": "1.1.0", 1075 | "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-1.1.0.tgz", 1076 | "integrity": "sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==", 1077 | "dev": true, 1078 | "requires": { 1079 | "ajv": "^6.12.6" 1080 | } 1081 | }, 1082 | "@fastify/error": { 1083 | "version": "2.0.0", 1084 | "resolved": "https://registry.npmjs.org/@fastify/error/-/error-2.0.0.tgz", 1085 | "integrity": "sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==", 1086 | "dev": true 1087 | }, 1088 | "abstract-logging": { 1089 | "version": "2.0.1", 1090 | "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", 1091 | "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", 1092 | "dev": true 1093 | }, 1094 | "ajv": { 1095 | "version": "6.12.6", 1096 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1097 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1098 | "dev": true, 1099 | "requires": { 1100 | "fast-deep-equal": "^3.1.1", 1101 | "fast-json-stable-stringify": "^2.0.0", 1102 | "json-schema-traverse": "^0.4.1", 1103 | "uri-js": "^4.2.2" 1104 | } 1105 | }, 1106 | "archy": { 1107 | "version": "1.0.0", 1108 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", 1109 | "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", 1110 | "dev": true 1111 | }, 1112 | "asn1": { 1113 | "version": "0.2.6", 1114 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", 1115 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", 1116 | "dev": true, 1117 | "requires": { 1118 | "safer-buffer": "~2.1.0" 1119 | } 1120 | }, 1121 | "assert-plus": { 1122 | "version": "1.0.0", 1123 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1124 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1125 | "dev": true 1126 | }, 1127 | "asynckit": { 1128 | "version": "0.4.0", 1129 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 1130 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 1131 | "dev": true 1132 | }, 1133 | "atomic-sleep": { 1134 | "version": "1.0.0", 1135 | "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", 1136 | "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", 1137 | "dev": true 1138 | }, 1139 | "avvio": { 1140 | "version": "7.2.4", 1141 | "resolved": "https://registry.npmjs.org/avvio/-/avvio-7.2.4.tgz", 1142 | "integrity": "sha512-m9XMb/6E9P0lV4eiXNxfiJ/uFBW0KFpMrrB26c+ZJeRpYmc8JTOPy/7+lJrlbaqfrAArv9PmzOaFU6TKtKRLGA==", 1143 | "dev": true, 1144 | "requires": { 1145 | "archy": "^1.0.0", 1146 | "debug": "^4.0.0", 1147 | "fastq": "^1.6.1", 1148 | "queue-microtask": "^1.1.2" 1149 | } 1150 | }, 1151 | "aws-sign2": { 1152 | "version": "0.7.0", 1153 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 1154 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 1155 | "dev": true 1156 | }, 1157 | "aws4": { 1158 | "version": "1.11.0", 1159 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", 1160 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", 1161 | "dev": true 1162 | }, 1163 | "balanced-match": { 1164 | "version": "1.0.2", 1165 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1166 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1167 | "dev": true 1168 | }, 1169 | "bcrypt-pbkdf": { 1170 | "version": "1.0.2", 1171 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 1172 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 1173 | "dev": true, 1174 | "requires": { 1175 | "tweetnacl": "^0.14.3" 1176 | } 1177 | }, 1178 | "brace-expansion": { 1179 | "version": "1.1.11", 1180 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1181 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1182 | "dev": true, 1183 | "requires": { 1184 | "balanced-match": "^1.0.0", 1185 | "concat-map": "0.0.1" 1186 | } 1187 | }, 1188 | "caseless": { 1189 | "version": "0.12.0", 1190 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 1191 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 1192 | "dev": true 1193 | }, 1194 | "combined-stream": { 1195 | "version": "1.0.8", 1196 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 1197 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 1198 | "dev": true, 1199 | "requires": { 1200 | "delayed-stream": "~1.0.0" 1201 | } 1202 | }, 1203 | "concat-map": { 1204 | "version": "0.0.1", 1205 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1206 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1207 | "dev": true 1208 | }, 1209 | "cookie": { 1210 | "version": "0.4.2", 1211 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", 1212 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", 1213 | "dev": true 1214 | }, 1215 | "core-util-is": { 1216 | "version": "1.0.2", 1217 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 1218 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 1219 | "dev": true 1220 | }, 1221 | "dashdash": { 1222 | "version": "1.14.1", 1223 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 1224 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 1225 | "dev": true, 1226 | "requires": { 1227 | "assert-plus": "^1.0.0" 1228 | } 1229 | }, 1230 | "debug": { 1231 | "version": "4.3.3", 1232 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 1233 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 1234 | "dev": true, 1235 | "requires": { 1236 | "ms": "2.1.2" 1237 | } 1238 | }, 1239 | "deepmerge": { 1240 | "version": "4.2.2", 1241 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 1242 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 1243 | "dev": true 1244 | }, 1245 | "delayed-stream": { 1246 | "version": "1.0.0", 1247 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1248 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 1249 | "dev": true 1250 | }, 1251 | "ecc-jsbn": { 1252 | "version": "0.1.2", 1253 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 1254 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 1255 | "dev": true, 1256 | "requires": { 1257 | "jsbn": "~0.1.0", 1258 | "safer-buffer": "^2.1.0" 1259 | } 1260 | }, 1261 | "extend": { 1262 | "version": "3.0.2", 1263 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 1264 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 1265 | "dev": true 1266 | }, 1267 | "extsprintf": { 1268 | "version": "1.3.0", 1269 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 1270 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 1271 | "dev": true 1272 | }, 1273 | "fast-content-type-parse": { 1274 | "version": "1.0.0", 1275 | "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.0.0.tgz", 1276 | "integrity": "sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==", 1277 | "dev": true 1278 | }, 1279 | "fast-decode-uri-component": { 1280 | "version": "1.0.1", 1281 | "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", 1282 | "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", 1283 | "dev": true 1284 | }, 1285 | "fast-deep-equal": { 1286 | "version": "3.1.3", 1287 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1288 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1289 | "dev": true 1290 | }, 1291 | "fast-json-stable-stringify": { 1292 | "version": "2.1.0", 1293 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1294 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1295 | "dev": true 1296 | }, 1297 | "fast-json-stringify": { 1298 | "version": "2.7.13", 1299 | "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz", 1300 | "integrity": "sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==", 1301 | "dev": true, 1302 | "requires": { 1303 | "ajv": "^6.11.0", 1304 | "deepmerge": "^4.2.2", 1305 | "rfdc": "^1.2.0", 1306 | "string-similarity": "^4.0.1" 1307 | } 1308 | }, 1309 | "fast-redact": { 1310 | "version": "3.1.1", 1311 | "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.1.tgz", 1312 | "integrity": "sha512-odVmjC8x8jNeMZ3C+rPMESzXVSEU8tSWSHv9HFxP2mm89G/1WwqhrerJDQm9Zus8X6aoRgQDThKqptdNA6bt+A==", 1313 | "dev": true 1314 | }, 1315 | "fast-safe-stringify": { 1316 | "version": "2.1.1", 1317 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", 1318 | "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", 1319 | "dev": true 1320 | }, 1321 | "fast-xml-parser": { 1322 | "version": "4.1.2", 1323 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", 1324 | "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", 1325 | "requires": { 1326 | "strnum": "^1.0.5" 1327 | } 1328 | }, 1329 | "fastify": { 1330 | "version": "3.29.5", 1331 | "resolved": "https://registry.npmjs.org/fastify/-/fastify-3.29.5.tgz", 1332 | "integrity": "sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==", 1333 | "dev": true, 1334 | "requires": { 1335 | "@fastify/ajv-compiler": "^1.0.0", 1336 | "@fastify/error": "^2.0.0", 1337 | "abstract-logging": "^2.0.0", 1338 | "avvio": "^7.1.2", 1339 | "fast-content-type-parse": "^1.0.0", 1340 | "fast-json-stringify": "^2.5.2", 1341 | "find-my-way": "^4.5.0", 1342 | "flatstr": "^1.0.12", 1343 | "light-my-request": "^4.2.0", 1344 | "pino": "^6.13.0", 1345 | "process-warning": "^1.0.0", 1346 | "proxy-addr": "^2.0.7", 1347 | "rfdc": "^1.1.4", 1348 | "secure-json-parse": "^2.0.0", 1349 | "semver": "^7.3.2", 1350 | "tiny-lru": "^8.0.1" 1351 | } 1352 | }, 1353 | "fastify-plugin": { 1354 | "version": "3.0.0", 1355 | "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-3.0.0.tgz", 1356 | "integrity": "sha512-ZdCvKEEd92DNLps5n0v231Bha8bkz1DjnPP/aEz37rz/q42Z5JVLmgnqR4DYuNn3NXAO3IDCPyRvgvxtJ4Ym4w==" 1357 | }, 1358 | "fastq": { 1359 | "version": "1.13.0", 1360 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 1361 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 1362 | "dev": true, 1363 | "requires": { 1364 | "reusify": "^1.0.4" 1365 | } 1366 | }, 1367 | "find-my-way": { 1368 | "version": "4.5.1", 1369 | "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-4.5.1.tgz", 1370 | "integrity": "sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==", 1371 | "dev": true, 1372 | "requires": { 1373 | "fast-decode-uri-component": "^1.0.1", 1374 | "fast-deep-equal": "^3.1.3", 1375 | "safe-regex2": "^2.0.0", 1376 | "semver-store": "^0.3.0" 1377 | } 1378 | }, 1379 | "flatstr": { 1380 | "version": "1.0.12", 1381 | "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", 1382 | "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==", 1383 | "dev": true 1384 | }, 1385 | "forever-agent": { 1386 | "version": "0.6.1", 1387 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1388 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1389 | "dev": true 1390 | }, 1391 | "form-data": { 1392 | "version": "2.3.3", 1393 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 1394 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 1395 | "dev": true, 1396 | "requires": { 1397 | "asynckit": "^0.4.0", 1398 | "combined-stream": "^1.0.6", 1399 | "mime-types": "^2.1.12" 1400 | } 1401 | }, 1402 | "forwarded": { 1403 | "version": "0.2.0", 1404 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 1405 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 1406 | "dev": true 1407 | }, 1408 | "fs.realpath": { 1409 | "version": "1.0.0", 1410 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1411 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1412 | "dev": true 1413 | }, 1414 | "getpass": { 1415 | "version": "0.1.7", 1416 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1417 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1418 | "dev": true, 1419 | "requires": { 1420 | "assert-plus": "^1.0.0" 1421 | } 1422 | }, 1423 | "glob": { 1424 | "version": "7.2.0", 1425 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1426 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1427 | "dev": true, 1428 | "requires": { 1429 | "fs.realpath": "^1.0.0", 1430 | "inflight": "^1.0.4", 1431 | "inherits": "2", 1432 | "minimatch": "^3.0.4", 1433 | "once": "^1.3.0", 1434 | "path-is-absolute": "^1.0.0" 1435 | } 1436 | }, 1437 | "har-schema": { 1438 | "version": "2.0.0", 1439 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 1440 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 1441 | "dev": true 1442 | }, 1443 | "har-validator": { 1444 | "version": "5.1.5", 1445 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", 1446 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", 1447 | "dev": true, 1448 | "requires": { 1449 | "ajv": "^6.12.3", 1450 | "har-schema": "^2.0.0" 1451 | } 1452 | }, 1453 | "http-signature": { 1454 | "version": "1.2.0", 1455 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1456 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1457 | "dev": true, 1458 | "requires": { 1459 | "assert-plus": "^1.0.0", 1460 | "jsprim": "^1.2.2", 1461 | "sshpk": "^1.7.0" 1462 | } 1463 | }, 1464 | "inflight": { 1465 | "version": "1.0.6", 1466 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1467 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1468 | "dev": true, 1469 | "requires": { 1470 | "once": "^1.3.0", 1471 | "wrappy": "1" 1472 | } 1473 | }, 1474 | "inherits": { 1475 | "version": "2.0.4", 1476 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1477 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1478 | "dev": true 1479 | }, 1480 | "ipaddr.js": { 1481 | "version": "1.9.1", 1482 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1483 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 1484 | "dev": true 1485 | }, 1486 | "is-typedarray": { 1487 | "version": "1.0.0", 1488 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1489 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1490 | "dev": true 1491 | }, 1492 | "isstream": { 1493 | "version": "0.1.2", 1494 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1495 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1496 | "dev": true 1497 | }, 1498 | "jasmine": { 1499 | "version": "3.99.0", 1500 | "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.99.0.tgz", 1501 | "integrity": "sha512-YIThBuHzaIIcjxeuLmPD40SjxkEcc8i//sGMDKCgkRMVgIwRJf5qyExtlJpQeh7pkeoBSOe6lQEdg+/9uKg9mw==", 1502 | "dev": true, 1503 | "requires": { 1504 | "glob": "^7.1.6", 1505 | "jasmine-core": "~3.99.0" 1506 | }, 1507 | "dependencies": { 1508 | "jasmine-core": { 1509 | "version": "3.99.0", 1510 | "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.0.tgz", 1511 | "integrity": "sha512-+ZDaJlEfRopINQqgE+hvzRyDIQDeKfqqTvF8RzXsvU1yE3pBDRud2+Qfh9WvGgRpuzqxyQJVI6Amy5XQ11r/3w==", 1512 | "dev": true 1513 | } 1514 | } 1515 | }, 1516 | "jasmine-core": { 1517 | "version": "2.99.1", 1518 | "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", 1519 | "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", 1520 | "dev": true 1521 | }, 1522 | "jsbn": { 1523 | "version": "0.1.1", 1524 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1525 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1526 | "dev": true 1527 | }, 1528 | "json-schema": { 1529 | "version": "0.4.0", 1530 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", 1531 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", 1532 | "dev": true 1533 | }, 1534 | "json-schema-traverse": { 1535 | "version": "0.4.1", 1536 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1537 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1538 | "dev": true 1539 | }, 1540 | "json-stringify-safe": { 1541 | "version": "5.0.1", 1542 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1543 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1544 | "dev": true 1545 | }, 1546 | "jsprim": { 1547 | "version": "1.4.2", 1548 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", 1549 | "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", 1550 | "dev": true, 1551 | "requires": { 1552 | "assert-plus": "1.0.0", 1553 | "extsprintf": "1.3.0", 1554 | "json-schema": "0.4.0", 1555 | "verror": "1.10.0" 1556 | } 1557 | }, 1558 | "light-my-request": { 1559 | "version": "4.8.0", 1560 | "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-4.8.0.tgz", 1561 | "integrity": "sha512-C2XESrTRsZnI59NSQigOsS6IuTxpj8OhSBvZS9fhgBMsamBsAuWN1s4hj/nCi8EeZcyAA6xbROhsZy7wKdfckg==", 1562 | "dev": true, 1563 | "requires": { 1564 | "ajv": "^8.1.0", 1565 | "cookie": "^0.4.0", 1566 | "process-warning": "^1.0.0", 1567 | "set-cookie-parser": "^2.4.1" 1568 | }, 1569 | "dependencies": { 1570 | "ajv": { 1571 | "version": "8.10.0", 1572 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", 1573 | "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", 1574 | "dev": true, 1575 | "requires": { 1576 | "fast-deep-equal": "^3.1.1", 1577 | "json-schema-traverse": "^1.0.0", 1578 | "require-from-string": "^2.0.2", 1579 | "uri-js": "^4.2.2" 1580 | } 1581 | }, 1582 | "json-schema-traverse": { 1583 | "version": "1.0.0", 1584 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 1585 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 1586 | "dev": true 1587 | } 1588 | } 1589 | }, 1590 | "lru-cache": { 1591 | "version": "6.0.0", 1592 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1593 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1594 | "dev": true, 1595 | "requires": { 1596 | "yallist": "^4.0.0" 1597 | } 1598 | }, 1599 | "mime-db": { 1600 | "version": "1.51.0", 1601 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", 1602 | "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", 1603 | "dev": true 1604 | }, 1605 | "mime-types": { 1606 | "version": "2.1.34", 1607 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", 1608 | "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", 1609 | "dev": true, 1610 | "requires": { 1611 | "mime-db": "1.51.0" 1612 | } 1613 | }, 1614 | "minimatch": { 1615 | "version": "3.1.2", 1616 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1617 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1618 | "dev": true, 1619 | "requires": { 1620 | "brace-expansion": "^1.1.7" 1621 | } 1622 | }, 1623 | "ms": { 1624 | "version": "2.1.2", 1625 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1626 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1627 | "dev": true 1628 | }, 1629 | "oauth-sign": { 1630 | "version": "0.9.0", 1631 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 1632 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", 1633 | "dev": true 1634 | }, 1635 | "once": { 1636 | "version": "1.4.0", 1637 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1638 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1639 | "dev": true, 1640 | "requires": { 1641 | "wrappy": "1" 1642 | } 1643 | }, 1644 | "path-is-absolute": { 1645 | "version": "1.0.1", 1646 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1647 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1648 | "dev": true 1649 | }, 1650 | "performance-now": { 1651 | "version": "2.1.0", 1652 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1653 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 1654 | "dev": true 1655 | }, 1656 | "pino": { 1657 | "version": "6.14.0", 1658 | "resolved": "https://registry.npmjs.org/pino/-/pino-6.14.0.tgz", 1659 | "integrity": "sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==", 1660 | "dev": true, 1661 | "requires": { 1662 | "fast-redact": "^3.0.0", 1663 | "fast-safe-stringify": "^2.0.8", 1664 | "flatstr": "^1.0.12", 1665 | "pino-std-serializers": "^3.1.0", 1666 | "process-warning": "^1.0.0", 1667 | "quick-format-unescaped": "^4.0.3", 1668 | "sonic-boom": "^1.0.2" 1669 | } 1670 | }, 1671 | "pino-std-serializers": { 1672 | "version": "3.2.0", 1673 | "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz", 1674 | "integrity": "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==", 1675 | "dev": true 1676 | }, 1677 | "process-warning": { 1678 | "version": "1.0.0", 1679 | "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", 1680 | "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==", 1681 | "dev": true 1682 | }, 1683 | "proxy-addr": { 1684 | "version": "2.0.7", 1685 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 1686 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 1687 | "dev": true, 1688 | "requires": { 1689 | "forwarded": "0.2.0", 1690 | "ipaddr.js": "1.9.1" 1691 | } 1692 | }, 1693 | "psl": { 1694 | "version": "1.8.0", 1695 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", 1696 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", 1697 | "dev": true 1698 | }, 1699 | "punycode": { 1700 | "version": "2.1.1", 1701 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1702 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1703 | "dev": true 1704 | }, 1705 | "qs": { 1706 | "version": "6.5.3", 1707 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", 1708 | "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", 1709 | "dev": true 1710 | }, 1711 | "queue-microtask": { 1712 | "version": "1.2.3", 1713 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1714 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1715 | "dev": true 1716 | }, 1717 | "quick-format-unescaped": { 1718 | "version": "4.0.4", 1719 | "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", 1720 | "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", 1721 | "dev": true 1722 | }, 1723 | "request": { 1724 | "version": "2.88.2", 1725 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", 1726 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", 1727 | "dev": true, 1728 | "requires": { 1729 | "aws-sign2": "~0.7.0", 1730 | "aws4": "^1.8.0", 1731 | "caseless": "~0.12.0", 1732 | "combined-stream": "~1.0.6", 1733 | "extend": "~3.0.2", 1734 | "forever-agent": "~0.6.1", 1735 | "form-data": "~2.3.2", 1736 | "har-validator": "~5.1.3", 1737 | "http-signature": "~1.2.0", 1738 | "is-typedarray": "~1.0.0", 1739 | "isstream": "~0.1.2", 1740 | "json-stringify-safe": "~5.0.1", 1741 | "mime-types": "~2.1.19", 1742 | "oauth-sign": "~0.9.0", 1743 | "performance-now": "^2.1.0", 1744 | "qs": "~6.5.2", 1745 | "safe-buffer": "^5.1.2", 1746 | "tough-cookie": "~2.5.0", 1747 | "tunnel-agent": "^0.6.0", 1748 | "uuid": "^3.3.2" 1749 | } 1750 | }, 1751 | "require-from-string": { 1752 | "version": "2.0.2", 1753 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 1754 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 1755 | "dev": true 1756 | }, 1757 | "ret": { 1758 | "version": "0.2.2", 1759 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", 1760 | "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", 1761 | "dev": true 1762 | }, 1763 | "reusify": { 1764 | "version": "1.0.4", 1765 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1766 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1767 | "dev": true 1768 | }, 1769 | "rfdc": { 1770 | "version": "1.3.0", 1771 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", 1772 | "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", 1773 | "dev": true 1774 | }, 1775 | "safe-buffer": { 1776 | "version": "5.2.1", 1777 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1778 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1779 | "dev": true 1780 | }, 1781 | "safe-regex2": { 1782 | "version": "2.0.0", 1783 | "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", 1784 | "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", 1785 | "dev": true, 1786 | "requires": { 1787 | "ret": "~0.2.0" 1788 | } 1789 | }, 1790 | "safer-buffer": { 1791 | "version": "2.1.2", 1792 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1793 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1794 | "dev": true 1795 | }, 1796 | "secure-json-parse": { 1797 | "version": "2.4.0", 1798 | "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", 1799 | "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==", 1800 | "dev": true 1801 | }, 1802 | "semver": { 1803 | "version": "7.3.5", 1804 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", 1805 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", 1806 | "dev": true, 1807 | "requires": { 1808 | "lru-cache": "^6.0.0" 1809 | } 1810 | }, 1811 | "semver-store": { 1812 | "version": "0.3.0", 1813 | "resolved": "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz", 1814 | "integrity": "sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==", 1815 | "dev": true 1816 | }, 1817 | "set-cookie-parser": { 1818 | "version": "2.4.8", 1819 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz", 1820 | "integrity": "sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg==", 1821 | "dev": true 1822 | }, 1823 | "sonic-boom": { 1824 | "version": "1.4.1", 1825 | "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz", 1826 | "integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==", 1827 | "dev": true, 1828 | "requires": { 1829 | "atomic-sleep": "^1.0.0", 1830 | "flatstr": "^1.0.12" 1831 | } 1832 | }, 1833 | "sshpk": { 1834 | "version": "1.16.1", 1835 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 1836 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 1837 | "dev": true, 1838 | "requires": { 1839 | "asn1": "~0.2.3", 1840 | "assert-plus": "^1.0.0", 1841 | "bcrypt-pbkdf": "^1.0.0", 1842 | "dashdash": "^1.12.0", 1843 | "ecc-jsbn": "~0.1.1", 1844 | "getpass": "^0.1.1", 1845 | "jsbn": "~0.1.0", 1846 | "safer-buffer": "^2.0.2", 1847 | "tweetnacl": "~0.14.0" 1848 | } 1849 | }, 1850 | "string-similarity": { 1851 | "version": "4.0.4", 1852 | "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz", 1853 | "integrity": "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==", 1854 | "dev": true 1855 | }, 1856 | "strnum": { 1857 | "version": "1.0.5", 1858 | "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", 1859 | "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 1860 | }, 1861 | "tiny-lru": { 1862 | "version": "8.0.1", 1863 | "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.1.tgz", 1864 | "integrity": "sha512-eBIAYA0BzSjxBedCaO0CSjertD+u+IvNuFkyD7ESf+qjqHKBr5wFqvEYl91+ZQd7jjq2pO6/fBVwFgb6bxvorw==", 1865 | "dev": true 1866 | }, 1867 | "tough-cookie": { 1868 | "version": "2.5.0", 1869 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 1870 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 1871 | "dev": true, 1872 | "requires": { 1873 | "psl": "^1.1.28", 1874 | "punycode": "^2.1.1" 1875 | } 1876 | }, 1877 | "tunnel-agent": { 1878 | "version": "0.6.0", 1879 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1880 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 1881 | "dev": true, 1882 | "requires": { 1883 | "safe-buffer": "^5.0.1" 1884 | } 1885 | }, 1886 | "tweetnacl": { 1887 | "version": "0.14.5", 1888 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1889 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 1890 | "dev": true 1891 | }, 1892 | "uri-js": { 1893 | "version": "4.4.1", 1894 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1895 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1896 | "dev": true, 1897 | "requires": { 1898 | "punycode": "^2.1.0" 1899 | } 1900 | }, 1901 | "uuid": { 1902 | "version": "3.4.0", 1903 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 1904 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 1905 | "dev": true 1906 | }, 1907 | "verror": { 1908 | "version": "1.10.0", 1909 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 1910 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 1911 | "dev": true, 1912 | "requires": { 1913 | "assert-plus": "^1.0.0", 1914 | "core-util-is": "1.0.2", 1915 | "extsprintf": "^1.2.0" 1916 | } 1917 | }, 1918 | "wrappy": { 1919 | "version": "1.0.2", 1920 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1921 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1922 | "dev": true 1923 | }, 1924 | "yallist": { 1925 | "version": "4.0.0", 1926 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1927 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1928 | "dev": true 1929 | } 1930 | } 1931 | } 1932 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fastify-xml-body-parser", 3 | "version": "2.2.0", 4 | "description": "Fastify plugin to parse XML payload into JS object", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "jasmine test/*test.js" 8 | }, 9 | "keywords": [ 10 | "fastify", 11 | "xml", 12 | "body", 13 | "plugin", 14 | "parse" 15 | ], 16 | "author": "Amit Gupta (https://amitkumargupta.work)", 17 | "license": "MIT", 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/NaturalIntelligence/fastify-xml-body-parser.git" 21 | }, 22 | "homepage": "https://github.com/NaturalIntelligence/fastify-xml-body-parser", 23 | "dependencies": { 24 | "fast-xml-parser": "^4.1.2", 25 | "fastify-plugin": "^3.0.0" 26 | }, 27 | "devDependencies": { 28 | "fastify": "^3.27.1", 29 | "jasmine": "^3.5.0", 30 | "jasmine-core": "^2.99.1", 31 | "request": "^2.88.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /static/img/support_paypal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | support 11 | 13 | 14 | 17 | 19 | 22 | 25 | 28 | 29 | 30 | 32 | 33 | 34 | 36 | 39 | 41 | 42 | 48 | 54 | 58 | 64 | 67 | 72 | 78 | 82 | 90 | 91 | -------------------------------------------------------------------------------- /test/integration.test.js: -------------------------------------------------------------------------------- 1 | const Fastify = require('fastify') 2 | const request = require('request') 3 | const plugin = require('../') 4 | 5 | 6 | describe("XML Body Parser", function () { 7 | 8 | it("should send error response when an invalid XML payload", function (done) { 9 | runFastify( 10 | { validate: true}, 11 | "", 12 | "text/xml", 13 | function(err, response, body) { 14 | expect(response.statusCode).toBe(400); 15 | var expected = { 16 | msg: "Invalid Format: Tag 'validXMLXML", 28 | "application/xml", 29 | function(err, response, body){ 30 | expect(response.statusCode).toBe(200); 31 | var expected = { 32 | "valid" : "XML" 33 | } 34 | expect(JSON.parse(body)).toEqual(expected); 35 | done() 36 | } 37 | ) 38 | }); 39 | 40 | /*it("should not parse if non-xml payload: text/plain", function (done) { 41 | runFastify( 42 | null, 43 | "string", 44 | "text/plain", 45 | function(err, response, body){ 46 | expect(body).toBe("string"); 47 | done() 48 | } 49 | ) 50 | });*/ 51 | 52 | it("should not parse if non-xml payload: application/json", function (done) { 53 | runFastify( 54 | null, 55 | JSON.stringify({"valid":"JSON"}), 56 | "application/json", 57 | function(err, response, body){ 58 | expect(response.statusCode).toBe(200); 59 | expect(JSON.parse(body)).toEqual({"valid":"JSON"}); 60 | done() 61 | } 62 | ) 63 | }); 64 | 65 | it("should parse for custom content-type", function (done) { 66 | runFastify( 67 | {contentType : "my/xml"}, 68 | "XML", 69 | "my/xml", 70 | function(err, response, body){ 71 | expect(response.statusCode).toBe(200); 72 | var expected = { 73 | "ns:valid" : "XML" 74 | } 75 | expect(JSON.parse(body)).toEqual(expected); 76 | done() 77 | } 78 | ) 79 | }); 80 | 81 | }); 82 | 83 | function runFastify(pluginOptions,reqBody,contentType, verificationCall){ 84 | const fastify = Fastify() 85 | const uri = "/testuri" 86 | fastify 87 | .register(plugin, pluginOptions) 88 | .post(uri, (req, res) => { 89 | res.send(Object.assign({}, req.body)) 90 | }) 91 | 92 | fastify.listen(0, (err) => { 93 | const reqOpts = { 94 | method: 'POST', 95 | baseUrl: 'http://localhost:' + fastify.server.address().port, 96 | headers: {'content-type': contentType } 97 | } 98 | if (err) console.error(err) 99 | fastify.server.unref() 100 | const req = request.defaults(reqOpts) 101 | req({uri: uri, body: reqBody}, verificationCall) 102 | }); 103 | } 104 | 105 | -------------------------------------------------------------------------------- /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 | "integrity" "sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==" 7 | "resolved" "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-1.1.0.tgz" 8 | "version" "1.1.0" 9 | dependencies: 10 | "ajv" "^6.12.6" 11 | 12 | "@fastify/error@^2.0.0": 13 | "integrity" "sha512-wI3fpfDT0t7p8E6dA2eTECzzOd+bZsZCJ2Hcv+Onn2b7ZwK3RwD27uW2QDaMtQhAfWQQP+WNK7nKf0twLsBf9w==" 14 | "resolved" "https://registry.npmjs.org/@fastify/error/-/error-2.0.0.tgz" 15 | "version" "2.0.0" 16 | 17 | "abstract-logging@^2.0.0": 18 | "integrity" "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" 19 | "resolved" "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz" 20 | "version" "2.0.1" 21 | 22 | "ajv@^6.11.0", "ajv@^6.12.3", "ajv@^6.12.6": 23 | "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" 24 | "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 25 | "version" "6.12.6" 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 | "integrity" "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==" 34 | "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz" 35 | "version" "8.10.0" 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 | "integrity" "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" 44 | "resolved" "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" 45 | "version" "1.0.0" 46 | 47 | "asn1@~0.2.3": 48 | "integrity" "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==" 49 | "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" 50 | "version" "0.2.6" 51 | dependencies: 52 | "safer-buffer" "~2.1.0" 53 | 54 | "assert-plus@^1.0.0", "assert-plus@1.0.0": 55 | "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 56 | "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" 57 | "version" "1.0.0" 58 | 59 | "asynckit@^0.4.0": 60 | "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 61 | "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" 62 | "version" "0.4.0" 63 | 64 | "atomic-sleep@^1.0.0": 65 | "integrity" "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" 66 | "resolved" "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" 67 | "version" "1.0.0" 68 | 69 | "avvio@^7.1.2": 70 | "integrity" "sha512-m9XMb/6E9P0lV4eiXNxfiJ/uFBW0KFpMrrB26c+ZJeRpYmc8JTOPy/7+lJrlbaqfrAArv9PmzOaFU6TKtKRLGA==" 71 | "resolved" "https://registry.npmjs.org/avvio/-/avvio-7.2.4.tgz" 72 | "version" "7.2.4" 73 | dependencies: 74 | "archy" "^1.0.0" 75 | "debug" "^4.0.0" 76 | "fastq" "^1.6.1" 77 | "queue-microtask" "^1.1.2" 78 | 79 | "aws-sign2@~0.7.0": 80 | "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 81 | "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" 82 | "version" "0.7.0" 83 | 84 | "aws4@^1.8.0": 85 | "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" 86 | "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" 87 | "version" "1.11.0" 88 | 89 | "balanced-match@^1.0.0": 90 | "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 91 | "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 92 | "version" "1.0.2" 93 | 94 | "bcrypt-pbkdf@^1.0.0": 95 | "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" 96 | "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" 97 | "version" "1.0.2" 98 | dependencies: 99 | "tweetnacl" "^0.14.3" 100 | 101 | "brace-expansion@^1.1.7": 102 | "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" 103 | "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 104 | "version" "1.1.11" 105 | dependencies: 106 | "balanced-match" "^1.0.0" 107 | "concat-map" "0.0.1" 108 | 109 | "caseless@~0.12.0": 110 | "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 111 | "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" 112 | "version" "0.12.0" 113 | 114 | "combined-stream@^1.0.6", "combined-stream@~1.0.6": 115 | "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" 116 | "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" 117 | "version" "1.0.8" 118 | dependencies: 119 | "delayed-stream" "~1.0.0" 120 | 121 | "concat-map@0.0.1": 122 | "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 123 | "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 124 | "version" "0.0.1" 125 | 126 | "cookie@^0.4.0": 127 | "integrity" "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" 128 | "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" 129 | "version" "0.4.2" 130 | 131 | "core-util-is@1.0.2": 132 | "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 133 | "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" 134 | "version" "1.0.2" 135 | 136 | "dashdash@^1.12.0": 137 | "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" 138 | "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" 139 | "version" "1.14.1" 140 | dependencies: 141 | "assert-plus" "^1.0.0" 142 | 143 | "debug@^4.0.0": 144 | "integrity" "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==" 145 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" 146 | "version" "4.3.3" 147 | dependencies: 148 | "ms" "2.1.2" 149 | 150 | "deepmerge@^4.2.2": 151 | "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" 152 | "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" 153 | "version" "4.2.2" 154 | 155 | "delayed-stream@~1.0.0": 156 | "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 157 | "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" 158 | "version" "1.0.0" 159 | 160 | "ecc-jsbn@~0.1.1": 161 | "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" 162 | "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" 163 | "version" "0.1.2" 164 | dependencies: 165 | "jsbn" "~0.1.0" 166 | "safer-buffer" "^2.1.0" 167 | 168 | "extend@~3.0.2": 169 | "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 170 | "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" 171 | "version" "3.0.2" 172 | 173 | "extsprintf@^1.2.0", "extsprintf@1.3.0": 174 | "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 175 | "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" 176 | "version" "1.3.0" 177 | 178 | "fast-content-type-parse@^1.0.0": 179 | "integrity" "sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==" 180 | "resolved" "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.0.0.tgz" 181 | "version" "1.0.0" 182 | 183 | "fast-decode-uri-component@^1.0.1": 184 | "integrity" "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" 185 | "resolved" "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz" 186 | "version" "1.0.1" 187 | 188 | "fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": 189 | "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 190 | "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 191 | "version" "3.1.3" 192 | 193 | "fast-json-stable-stringify@^2.0.0": 194 | "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 195 | "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 196 | "version" "2.1.0" 197 | 198 | "fast-json-stringify@^2.5.2": 199 | "integrity" "sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==" 200 | "resolved" "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz" 201 | "version" "2.7.13" 202 | dependencies: 203 | "ajv" "^6.11.0" 204 | "deepmerge" "^4.2.2" 205 | "rfdc" "^1.2.0" 206 | "string-similarity" "^4.0.1" 207 | 208 | "fast-redact@^3.0.0": 209 | "integrity" "sha512-odVmjC8x8jNeMZ3C+rPMESzXVSEU8tSWSHv9HFxP2mm89G/1WwqhrerJDQm9Zus8X6aoRgQDThKqptdNA6bt+A==" 210 | "resolved" "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.1.tgz" 211 | "version" "3.1.1" 212 | 213 | "fast-safe-stringify@^2.0.8": 214 | "integrity" "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" 215 | "resolved" "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" 216 | "version" "2.1.1" 217 | 218 | "fast-xml-parser@^4.1.2": 219 | "integrity" "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==" 220 | "resolved" "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz" 221 | "version" "4.1.2" 222 | dependencies: 223 | "strnum" "^1.0.5" 224 | 225 | "fastify-plugin@^3.0.0": 226 | "integrity" "sha512-ZdCvKEEd92DNLps5n0v231Bha8bkz1DjnPP/aEz37rz/q42Z5JVLmgnqR4DYuNn3NXAO3IDCPyRvgvxtJ4Ym4w==" 227 | "resolved" "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-3.0.0.tgz" 228 | "version" "3.0.0" 229 | 230 | "fastify@^3.27.1": 231 | "integrity" "sha512-FBDgb1gkenZxxh4sTD6AdI6mFnZnsgckpjIXzIvfLSYCa4isfQeD8QWGPib63dxq6btnY0l1j8I0xYhMvUb+sw==" 232 | "resolved" "https://registry.npmjs.org/fastify/-/fastify-3.29.5.tgz" 233 | "version" "3.29.5" 234 | dependencies: 235 | "@fastify/ajv-compiler" "^1.0.0" 236 | "@fastify/error" "^2.0.0" 237 | "abstract-logging" "^2.0.0" 238 | "avvio" "^7.1.2" 239 | "fast-content-type-parse" "^1.0.0" 240 | "fast-json-stringify" "^2.5.2" 241 | "find-my-way" "^4.5.0" 242 | "flatstr" "^1.0.12" 243 | "light-my-request" "^4.2.0" 244 | "pino" "^6.13.0" 245 | "process-warning" "^1.0.0" 246 | "proxy-addr" "^2.0.7" 247 | "rfdc" "^1.1.4" 248 | "secure-json-parse" "^2.0.0" 249 | "semver" "^7.3.2" 250 | "tiny-lru" "^8.0.1" 251 | 252 | "fastq@^1.6.1": 253 | "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" 254 | "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 255 | "version" "1.13.0" 256 | dependencies: 257 | "reusify" "^1.0.4" 258 | 259 | "find-my-way@^4.5.0": 260 | "integrity" "sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==" 261 | "resolved" "https://registry.npmjs.org/find-my-way/-/find-my-way-4.5.1.tgz" 262 | "version" "4.5.1" 263 | dependencies: 264 | "fast-decode-uri-component" "^1.0.1" 265 | "fast-deep-equal" "^3.1.3" 266 | "safe-regex2" "^2.0.0" 267 | "semver-store" "^0.3.0" 268 | 269 | "flatstr@^1.0.12": 270 | "integrity" "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==" 271 | "resolved" "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz" 272 | "version" "1.0.12" 273 | 274 | "forever-agent@~0.6.1": 275 | "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 276 | "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" 277 | "version" "0.6.1" 278 | 279 | "form-data@~2.3.2": 280 | "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" 281 | "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" 282 | "version" "2.3.3" 283 | dependencies: 284 | "asynckit" "^0.4.0" 285 | "combined-stream" "^1.0.6" 286 | "mime-types" "^2.1.12" 287 | 288 | "forwarded@0.2.0": 289 | "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" 290 | "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" 291 | "version" "0.2.0" 292 | 293 | "fs.realpath@^1.0.0": 294 | "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 295 | "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 296 | "version" "1.0.0" 297 | 298 | "getpass@^0.1.1": 299 | "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" 300 | "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" 301 | "version" "0.1.7" 302 | dependencies: 303 | "assert-plus" "^1.0.0" 304 | 305 | "glob@^7.1.6": 306 | "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" 307 | "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" 308 | "version" "7.2.0" 309 | dependencies: 310 | "fs.realpath" "^1.0.0" 311 | "inflight" "^1.0.4" 312 | "inherits" "2" 313 | "minimatch" "^3.0.4" 314 | "once" "^1.3.0" 315 | "path-is-absolute" "^1.0.0" 316 | 317 | "har-schema@^2.0.0": 318 | "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 319 | "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" 320 | "version" "2.0.0" 321 | 322 | "har-validator@~5.1.3": 323 | "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" 324 | "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" 325 | "version" "5.1.5" 326 | dependencies: 327 | "ajv" "^6.12.3" 328 | "har-schema" "^2.0.0" 329 | 330 | "http-signature@~1.2.0": 331 | "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" 332 | "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" 333 | "version" "1.2.0" 334 | dependencies: 335 | "assert-plus" "^1.0.0" 336 | "jsprim" "^1.2.2" 337 | "sshpk" "^1.7.0" 338 | 339 | "inflight@^1.0.4": 340 | "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" 341 | "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 342 | "version" "1.0.6" 343 | dependencies: 344 | "once" "^1.3.0" 345 | "wrappy" "1" 346 | 347 | "inherits@2": 348 | "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 349 | "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 350 | "version" "2.0.4" 351 | 352 | "ipaddr.js@1.9.1": 353 | "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 354 | "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" 355 | "version" "1.9.1" 356 | 357 | "is-typedarray@~1.0.0": 358 | "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 359 | "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" 360 | "version" "1.0.0" 361 | 362 | "isstream@~0.1.2": 363 | "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 364 | "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" 365 | "version" "0.1.2" 366 | 367 | "jasmine-core@^2.99.1": 368 | "integrity" "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=" 369 | "resolved" "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz" 370 | "version" "2.99.1" 371 | 372 | "jasmine-core@~3.99.0": 373 | "integrity" "sha512-+ZDaJlEfRopINQqgE+hvzRyDIQDeKfqqTvF8RzXsvU1yE3pBDRud2+Qfh9WvGgRpuzqxyQJVI6Amy5XQ11r/3w==" 374 | "resolved" "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.0.tgz" 375 | "version" "3.99.0" 376 | 377 | "jasmine@^3.5.0": 378 | "integrity" "sha512-YIThBuHzaIIcjxeuLmPD40SjxkEcc8i//sGMDKCgkRMVgIwRJf5qyExtlJpQeh7pkeoBSOe6lQEdg+/9uKg9mw==" 379 | "resolved" "https://registry.npmjs.org/jasmine/-/jasmine-3.99.0.tgz" 380 | "version" "3.99.0" 381 | dependencies: 382 | "glob" "^7.1.6" 383 | "jasmine-core" "~3.99.0" 384 | 385 | "jsbn@~0.1.0": 386 | "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" 387 | "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" 388 | "version" "0.1.1" 389 | 390 | "json-schema-traverse@^0.4.1": 391 | "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 392 | "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 393 | "version" "0.4.1" 394 | 395 | "json-schema-traverse@^1.0.0": 396 | "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" 397 | "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" 398 | "version" "1.0.0" 399 | 400 | "json-schema@0.4.0": 401 | "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" 402 | "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" 403 | "version" "0.4.0" 404 | 405 | "json-stringify-safe@~5.0.1": 406 | "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 407 | "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" 408 | "version" "5.0.1" 409 | 410 | "jsprim@^1.2.2": 411 | "integrity" "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==" 412 | "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" 413 | "version" "1.4.2" 414 | dependencies: 415 | "assert-plus" "1.0.0" 416 | "extsprintf" "1.3.0" 417 | "json-schema" "0.4.0" 418 | "verror" "1.10.0" 419 | 420 | "light-my-request@^4.2.0": 421 | "integrity" "sha512-C2XESrTRsZnI59NSQigOsS6IuTxpj8OhSBvZS9fhgBMsamBsAuWN1s4hj/nCi8EeZcyAA6xbROhsZy7wKdfckg==" 422 | "resolved" "https://registry.npmjs.org/light-my-request/-/light-my-request-4.8.0.tgz" 423 | "version" "4.8.0" 424 | dependencies: 425 | "ajv" "^8.1.0" 426 | "cookie" "^0.4.0" 427 | "process-warning" "^1.0.0" 428 | "set-cookie-parser" "^2.4.1" 429 | 430 | "lru-cache@^6.0.0": 431 | "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" 432 | "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 433 | "version" "6.0.0" 434 | dependencies: 435 | "yallist" "^4.0.0" 436 | 437 | "mime-db@1.51.0": 438 | "integrity" "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" 439 | "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz" 440 | "version" "1.51.0" 441 | 442 | "mime-types@^2.1.12", "mime-types@~2.1.19": 443 | "integrity" "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==" 444 | "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" 445 | "version" "2.1.34" 446 | dependencies: 447 | "mime-db" "1.51.0" 448 | 449 | "minimatch@^3.0.4": 450 | "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" 451 | "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" 452 | "version" "3.1.2" 453 | dependencies: 454 | "brace-expansion" "^1.1.7" 455 | 456 | "ms@2.1.2": 457 | "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 458 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 459 | "version" "2.1.2" 460 | 461 | "oauth-sign@~0.9.0": 462 | "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 463 | "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" 464 | "version" "0.9.0" 465 | 466 | "once@^1.3.0": 467 | "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" 468 | "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 469 | "version" "1.4.0" 470 | dependencies: 471 | "wrappy" "1" 472 | 473 | "path-is-absolute@^1.0.0": 474 | "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 475 | "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 476 | "version" "1.0.1" 477 | 478 | "performance-now@^2.1.0": 479 | "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 480 | "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" 481 | "version" "2.1.0" 482 | 483 | "pino-std-serializers@^3.1.0": 484 | "integrity" "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==" 485 | "resolved" "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz" 486 | "version" "3.2.0" 487 | 488 | "pino@^6.13.0": 489 | "integrity" "sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==" 490 | "resolved" "https://registry.npmjs.org/pino/-/pino-6.14.0.tgz" 491 | "version" "6.14.0" 492 | dependencies: 493 | "fast-redact" "^3.0.0" 494 | "fast-safe-stringify" "^2.0.8" 495 | "flatstr" "^1.0.12" 496 | "pino-std-serializers" "^3.1.0" 497 | "process-warning" "^1.0.0" 498 | "quick-format-unescaped" "^4.0.3" 499 | "sonic-boom" "^1.0.2" 500 | 501 | "process-warning@^1.0.0": 502 | "integrity" "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" 503 | "resolved" "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz" 504 | "version" "1.0.0" 505 | 506 | "proxy-addr@^2.0.7": 507 | "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" 508 | "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" 509 | "version" "2.0.7" 510 | dependencies: 511 | "forwarded" "0.2.0" 512 | "ipaddr.js" "1.9.1" 513 | 514 | "psl@^1.1.28": 515 | "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" 516 | "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" 517 | "version" "1.8.0" 518 | 519 | "punycode@^2.1.0", "punycode@^2.1.1": 520 | "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 521 | "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 522 | "version" "2.1.1" 523 | 524 | "qs@~6.5.2": 525 | "integrity" "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" 526 | "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" 527 | "version" "6.5.3" 528 | 529 | "queue-microtask@^1.1.2": 530 | "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 531 | "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 532 | "version" "1.2.3" 533 | 534 | "quick-format-unescaped@^4.0.3": 535 | "integrity" "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" 536 | "resolved" "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz" 537 | "version" "4.0.4" 538 | 539 | "request@^2.88.0": 540 | "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" 541 | "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" 542 | "version" "2.88.2" 543 | dependencies: 544 | "aws-sign2" "~0.7.0" 545 | "aws4" "^1.8.0" 546 | "caseless" "~0.12.0" 547 | "combined-stream" "~1.0.6" 548 | "extend" "~3.0.2" 549 | "forever-agent" "~0.6.1" 550 | "form-data" "~2.3.2" 551 | "har-validator" "~5.1.3" 552 | "http-signature" "~1.2.0" 553 | "is-typedarray" "~1.0.0" 554 | "isstream" "~0.1.2" 555 | "json-stringify-safe" "~5.0.1" 556 | "mime-types" "~2.1.19" 557 | "oauth-sign" "~0.9.0" 558 | "performance-now" "^2.1.0" 559 | "qs" "~6.5.2" 560 | "safe-buffer" "^5.1.2" 561 | "tough-cookie" "~2.5.0" 562 | "tunnel-agent" "^0.6.0" 563 | "uuid" "^3.3.2" 564 | 565 | "require-from-string@^2.0.2": 566 | "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" 567 | "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" 568 | "version" "2.0.2" 569 | 570 | "ret@~0.2.0": 571 | "integrity" "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==" 572 | "resolved" "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz" 573 | "version" "0.2.2" 574 | 575 | "reusify@^1.0.4": 576 | "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" 577 | "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 578 | "version" "1.0.4" 579 | 580 | "rfdc@^1.1.4", "rfdc@^1.2.0": 581 | "integrity" "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" 582 | "resolved" "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" 583 | "version" "1.3.0" 584 | 585 | "safe-buffer@^5.0.1", "safe-buffer@^5.1.2": 586 | "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 587 | "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" 588 | "version" "5.2.1" 589 | 590 | "safe-regex2@^2.0.0": 591 | "integrity" "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==" 592 | "resolved" "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz" 593 | "version" "2.0.0" 594 | dependencies: 595 | "ret" "~0.2.0" 596 | 597 | "safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@~2.1.0": 598 | "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 599 | "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" 600 | "version" "2.1.2" 601 | 602 | "secure-json-parse@^2.0.0": 603 | "integrity" "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==" 604 | "resolved" "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz" 605 | "version" "2.4.0" 606 | 607 | "semver-store@^0.3.0": 608 | "integrity" "sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==" 609 | "resolved" "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz" 610 | "version" "0.3.0" 611 | 612 | "semver@^7.3.2": 613 | "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" 614 | "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" 615 | "version" "7.3.5" 616 | dependencies: 617 | "lru-cache" "^6.0.0" 618 | 619 | "set-cookie-parser@^2.4.1": 620 | "integrity" "sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg==" 621 | "resolved" "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz" 622 | "version" "2.4.8" 623 | 624 | "sonic-boom@^1.0.2": 625 | "integrity" "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==" 626 | "resolved" "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz" 627 | "version" "1.4.1" 628 | dependencies: 629 | "atomic-sleep" "^1.0.0" 630 | "flatstr" "^1.0.12" 631 | 632 | "sshpk@^1.7.0": 633 | "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" 634 | "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" 635 | "version" "1.16.1" 636 | dependencies: 637 | "asn1" "~0.2.3" 638 | "assert-plus" "^1.0.0" 639 | "bcrypt-pbkdf" "^1.0.0" 640 | "dashdash" "^1.12.0" 641 | "ecc-jsbn" "~0.1.1" 642 | "getpass" "^0.1.1" 643 | "jsbn" "~0.1.0" 644 | "safer-buffer" "^2.0.2" 645 | "tweetnacl" "~0.14.0" 646 | 647 | "string-similarity@^4.0.1": 648 | "integrity" "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==" 649 | "resolved" "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz" 650 | "version" "4.0.4" 651 | 652 | "strnum@^1.0.5": 653 | "integrity" "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 654 | "resolved" "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" 655 | "version" "1.0.5" 656 | 657 | "tiny-lru@^8.0.1": 658 | "integrity" "sha512-eBIAYA0BzSjxBedCaO0CSjertD+u+IvNuFkyD7ESf+qjqHKBr5wFqvEYl91+ZQd7jjq2pO6/fBVwFgb6bxvorw==" 659 | "resolved" "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.1.tgz" 660 | "version" "8.0.1" 661 | 662 | "tough-cookie@~2.5.0": 663 | "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" 664 | "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" 665 | "version" "2.5.0" 666 | dependencies: 667 | "psl" "^1.1.28" 668 | "punycode" "^2.1.1" 669 | 670 | "tunnel-agent@^0.6.0": 671 | "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" 672 | "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" 673 | "version" "0.6.0" 674 | dependencies: 675 | "safe-buffer" "^5.0.1" 676 | 677 | "tweetnacl@^0.14.3", "tweetnacl@~0.14.0": 678 | "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" 679 | "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" 680 | "version" "0.14.5" 681 | 682 | "uri-js@^4.2.2": 683 | "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" 684 | "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 685 | "version" "4.4.1" 686 | dependencies: 687 | "punycode" "^2.1.0" 688 | 689 | "uuid@^3.3.2": 690 | "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" 691 | "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" 692 | "version" "3.4.0" 693 | 694 | "verror@1.10.0": 695 | "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" 696 | "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" 697 | "version" "1.10.0" 698 | dependencies: 699 | "assert-plus" "^1.0.0" 700 | "core-util-is" "1.0.2" 701 | "extsprintf" "^1.2.0" 702 | 703 | "wrappy@1": 704 | "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 705 | "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 706 | "version" "1.0.2" 707 | 708 | "yallist@^4.0.0": 709 | "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 710 | "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 711 | "version" "4.0.0" 712 | --------------------------------------------------------------------------------